[gnome-system-monitor] Use a tuple to store window state
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-system-monitor] Use a tuple to store window state
- Date: Thu, 1 Aug 2013 02:26:29 +0000 (UTC)
commit d347dd13681b7f57b28bc609d94cbcc597049951
Author: Stefano Facchini <stefano facchini gmail com>
Date: Wed Jul 31 11:46:16 2013 +0200
Use a tuple to store window state
It's faster to set a single gsettings tuple than four integers.
Also, remove g_settings_sync() as it's automatic
https://bugzilla.gnome.org/show_bug.cgi?id=649398
src/org.gnome.gnome-system-monitor.gschema.xml.in | 29 ++------------------
src/procman-app.cpp | 16 ++++-------
2 files changed, 9 insertions(+), 36 deletions(-)
---
diff --git a/src/org.gnome.gnome-system-monitor.gschema.xml.in
b/src/org.gnome.gnome-system-monitor.gschema.xml.in
index 718e544..b3f60a9 100644
--- a/src/org.gnome.gnome-system-monitor.gschema.xml.in
+++ b/src/org.gnome.gnome-system-monitor.gschema.xml.in
@@ -1,17 +1,8 @@
<schemalist>
<schema id="org.gnome.gnome-system-monitor" path="/org/gnome/gnome-system-monitor/">
- <key name="width" type="i">
- <default>440
- </default>
- <_summary>Main Window width
- </_summary>
- </key>
-
- <key name="height" type="i">
- <default>495
- </default>
- <_summary>Main Window height
- </_summary>
+ <key name="window-state" type="(iiii)">
+ <default>(700, 500, 50, 50)</default>
+ <_summary>Main window size and position in the form (width, height, xpos, ypos)</_summary>
</key>
<key name="maximized" type="b">
@@ -21,20 +12,6 @@
</_summary>
</key>
- <key name="x-position" type="i">
- <default>0
- </default>
- <_summary>Main Window X position
- </_summary>
- </key>
-
- <key name="y-position" type="i">
- <default>0
- </default>
- <_summary>Main Window Y position
- </_summary>
- </key>
-
<key name="show-dependencies" type="b">
<default>false
</default>
diff --git a/src/procman-app.cpp b/src/procman-app.cpp
index 68d5fe8..706e72b 100644
--- a/src/procman-app.cpp
+++ b/src/procman-app.cpp
@@ -209,10 +209,9 @@ ProcmanApp::load_settings()
settings = g_settings_new (GSM_GSETTINGS_SCHEMA);
- config.width = g_settings_get_int (settings, "width");
- config.height = g_settings_get_int (settings, "height");
- config.xpos = g_settings_get_int (settings, "x-position");
- config.ypos = g_settings_get_int (settings, "y-position");
+ g_settings_get (settings, "window-state", "(iiii)",
+ &config.width, &config.height, &config.xpos, &config.ypos);
+
config.maximized = g_settings_get_boolean (settings, "maximized");
g_signal_connect (G_OBJECT(settings), "changed::show-dependencies",
G_CALLBACK(cb_show_dependencies_changed), this);
@@ -517,13 +516,10 @@ ProcmanApp::save_config ()
config.maximized = gdk_window_get_state(gtk_widget_get_window (main_window)) &
GDK_WINDOW_STATE_MAXIMIZED;
- g_settings_set_int (settings, "width", config.width);
- g_settings_set_int (settings, "height", config.height);
- g_settings_set_int (settings, "x-position", config.xpos);
- g_settings_set_int (settings, "y-position", config.ypos);
- g_settings_set_boolean (settings, "maximized", config.maximized);
+ g_settings_set (settings, "window-state", "(iiii)",
+ config.width, config.height, config.xpos, config.ypos);
- g_settings_sync ();
+ g_settings_set_boolean (settings, "maximized", config.maximized);
}
int ProcmanApp::on_command_line(const Glib::RefPtr<Gio::ApplicationCommandLine>& command_line)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]