[gnome-applets/wip/gnome-3.10+: 32/48] multiload: port to GSettings



commit f96c4a03b6f674cce98a4a31587118d2bfeaac75
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Tue Jul 8 17:39:03 2014 +0300

    multiload: port to GSettings

 multiload/Makefile.am                              |   29 ++-
 multiload/global.h                                 |   50 ++++-
 multiload/load-graph.c                             |   18 +-
 multiload/main.c                                   |   38 ++--
 multiload/multiload.schemas.in                     |  284 --------------------
 ...gnome.gnome-applets.multiload.gschema.xml.in.in |  133 +++++++++
 multiload/properties.c                             |  193 +++++--------
 po/POTFILES.in                                     |    1 +
 po/POTFILES.skip                                   |    1 +
 9 files changed, 302 insertions(+), 445 deletions(-)
---
diff --git a/multiload/Makefile.am b/multiload/Makefile.am
index a98f66e..bade252 100644
--- a/multiload/Makefile.am
+++ b/multiload/Makefile.am
@@ -27,16 +27,23 @@ multiload_applet_2_LDADD = \
                                $(GIO_UNIX_LIBS)        \
                                $(LIBM)
 
-schemasdir   = @GCONF_SCHEMA_FILE_DIR@
-schemas_in_files = multiload.schemas.in
-schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
+gsettings_schemas_in_in = \
+       org.gnome.gnome-applets.multiload.gschema.xml.in.in
 
- INTLTOOL_SCHEMAS_RULE@
+ INTLTOOL_XML_NOMERGE_RULE@
+
+gsettings_schemas_in = $(gsettings_schemas_in_in:.xml.in.in=.xml.in)
+gsettings_SCHEMAS = $(gsettings_schemas_in:.xml.in=.xml)
+
+%.gschema.xml.in: %.gschema.xml.in.in Makefile
+       $(AM_V_GEN) $(SED) -e 's^\ GETTEXT_PACKAGE\@^$(GETTEXT_PACKAGE)^g' < $< > $@
+
+ GSETTINGS_RULES@
 
 EXTRA_DIST =                                                   \
+       $(gsettings_schemas_in_in) \
        org.gnome.applets.MultiLoadApplet.panel-applet.in.in    \
        $(service_in_files)                                     \
-       $(schemas_in_files)                                     \
        $(ui_DATA)
 
 uidir          = $(pkgdatadir)/ui
@@ -63,11 +70,11 @@ org.gnome.panel.applet.MultiLoadAppletFactory.service: $(service_in_files)
             -e "s|\ LIBEXECDIR\@|$(libexecdir)|" \
             $< > $@
 
-CLEANFILES = $(applet_DATA) $(applet_DATA).in $(service_DATA) $(schemas_DATA)
-
-if GCONF_SCHEMAS_INSTALL
-install-data-local:
-       GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule 
$(schemas_DATA) ;
-endif
+CLEANFILES = $(applet_DATA) \
+       $(applet_DATA).in \
+       $(service_DATA) \
+       $(gsettings_SCHEMAS_in) \
+       $(gsettings_SCHEMAS) \
+       *.gschema.valid
 
 -include $(top_srcdir)/git.mk
diff --git a/multiload/global.h b/multiload/global.h
index 2d200a2..d8bb20b 100644
--- a/multiload/global.h
+++ b/multiload/global.h
@@ -12,6 +12,52 @@ G_BEGIN_DECLS
 #define NCPUSTATES 5
 #define NGRAPHS 6
 
+#define MULTILOAD_SCHEMA              "org.gnome.gnome-applets.multiload"
+#define GNOME_DESKTOP_LOCKDOWN_SCHEMA "org.gnome.desktop.lockdown"
+
+#define KEY_VIEW_CPULOAD  "view-cpuload"
+#define KEY_VIEW_MEMLOAD  "view-memload"
+#define KEY_VIEW_NETLOAD2 "view-netload2"
+#define KEY_VIEW_SWAPLOAD "view-swapload"
+#define KEY_VIEW_LOADAVG  "view-loadavg"
+#define KEY_VIEW_DISKLOAD "view-diskload"
+
+#define KEY_SPEED "speed"
+#define KEY_SIZE  "size"
+
+#define KEY_CPULOAD_COLOR0 "cpuload-color0"
+#define KEY_CPULOAD_COLOR1 "cpuload-color1"
+#define KEY_CPULOAD_COLOR2 "cpuload-color2"
+#define KEY_CPULOAD_COLOR3 "cpuload-color3"
+#define KEY_CPULOAD_COLOR4 "cpuload-color4"
+
+#define KEY_MEMLOAD_COLOR0 "memload-color0"
+#define KEY_MEMLOAD_COLOR1 "memload-color1"
+#define KEY_MEMLOAD_COLOR2 "memload-color2"
+#define KEY_MEMLOAD_COLOR3 "memload-color3"
+#define KEY_MEMLOAD_COLOR4 "memload-color4"
+
+#define KEY_NETLOAD2_COLOR0 "netload2-color0"
+#define KEY_NETLOAD2_COLOR1 "netload2-color1"
+#define KEY_NETLOAD2_COLOR2 "netload2-color2"
+#define KEY_NETLOAD2_COLOR3 "netload2-color3"
+
+#define KEY_SWAPLOAD_COLOR0 "swapload-color0"
+#define KEY_SWAPLOAD_COLOR1 "swapload-color1"
+
+#define KEY_LOADAVG_COLOR0 "loadavg-color0"
+#define KEY_LOADAVG_COLOR1 "loadavg-color1"
+
+#define KEY_DISKLOAD_COLOR0 "diskload-color0"
+#define KEY_DISKLOAD_COLOR1 "diskload-color1"
+#define KEY_DISKLOAD_COLOR2 "diskload-color2"
+
+#define KEY_SYSTEM_MONITOR "system-monitor"
+
+#define DISABLE_COMMAND_LINE "disable-command-line"
+
+#define IS_STRING_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
+
 typedef struct _MultiloadApplet MultiloadApplet;
 typedef struct _LoadGraph LoadGraph;
 typedef void (*LoadGraphDataFunc) (int, int [], LoadGraph *);
@@ -29,7 +75,7 @@ struct _LoadGraph {
 
     guint allocated;
 
-    GdkColor *colors;
+    GdkRGBA *colors;
     gint **data;
     guint data_size;
     guint *pos;
@@ -74,6 +120,8 @@ struct _MultiloadApplet
        GtkWidget *prop_dialog;
        GtkWidget *notebook;
        int last_clicked;
+
+       GSettings *settings;
 };
 
 #include "load-graph.h"
diff --git a/multiload/load-graph.c b/multiload/load-graph.c
index 58a5dd2..d53dafb 100644
--- a/multiload/load-graph.c
+++ b/multiload/load-graph.c
@@ -10,7 +10,6 @@
 #include <gdk/gdkx.h>
 #include <gtk/gtk.h>
 #include <panel-applet.h>
-#include <panel-applet-gconf.h>
 
 #include "global.h"
 
@@ -71,7 +70,7 @@ load_graph_draw_graph (LoadGraph *g)
 
     for (j = 0; j < g->n; j++)
     {
-               gdk_cairo_set_source_color (cr, &(g->colors [j]));
+               gdk_cairo_set_source_rgba (cr, &(g->colors [j]));
 
                for (i = 0; i < g->draw_width; i++) {
                        if (g->data [i][j] != 0) {
@@ -131,7 +130,7 @@ load_graph_unalloc (LoadGraph *g)
     g->pos = NULL;
     g->data = NULL;
     
-    g->size = panel_applet_gconf_get_int(g->multiload->applet, "size", NULL);
+    g->size = g_settings_get_int (g->multiload->settings, KEY_SIZE);
     g->size = MAX (g->size, 10);
 
     if (g->surface) {
@@ -249,20 +248,21 @@ static void
 load_graph_load_config (LoadGraph *g)
 {
        
-    gchar name [BUFSIZ], *temp;
+    gchar *name, *temp;
     guint i;
 
        if (!g->colors)
-               g->colors = g_new0(GdkColor, g->n);
+               g->colors = g_new0(GdkRGBA, g->n);
                
        for (i = 0; i < g->n; i++)
        {
-               g_snprintf(name, sizeof(name), "%s_color%u", g->name, i);
-               temp = panel_applet_gconf_get_string(g->multiload->applet, name, NULL);
-               if (!temp)
+               name = g_strdup_printf ("%s-color%u", g->name, i);
+               temp = g_settings_get_string (g->multiload->settings, name);
+               if (IS_STRING_EMPTY (temp))
                        temp = g_strdup ("#000000");
-               gdk_color_parse(temp, &(g->colors[i]));
+               gdk_rgba_parse(&(g->colors[i]), temp);
                g_free(temp);
+               g_free(name);
        }
 }
 
diff --git a/multiload/main.c b/multiload/main.c
index cf027d9..38b0947 100644
--- a/multiload/main.c
+++ b/multiload/main.c
@@ -23,9 +23,7 @@
 #include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
-#include <gconf/gconf-client.h>
 #include <panel-applet.h>
-#include <panel-applet-gconf.h>
 
 #include "global.h"
 
@@ -102,8 +100,8 @@ start_procman (MultiloadApplet *ma)
 
        g_return_if_fail (ma != NULL);
 
-       monitor = panel_applet_gconf_get_string (ma->applet, "system_monitor", NULL);
-       if (monitor == NULL)
+       monitor = g_settings_get_string (ma->settings, KEY_SYSTEM_MONITOR);
+       if (IS_STRING_EMPTY (monitor))
                monitor = g_strdup ("gnome-system-monitor.desktop");
 
        screen = gtk_widget_get_screen (GTK_WIDGET (ma->applet));
@@ -216,7 +214,10 @@ multiload_destroy_cb(GtkWidget *widget, gpointer data)
                load_graph_unalloc(ma->graphs[i]);
                g_free(ma->graphs[i]);
        }
-       
+
+       if (ma->settings)
+               g_object_unref (ma->settings);
+
        if (ma->about_dialog)
                gtk_widget_destroy (ma->about_dialog);
        
@@ -375,8 +376,8 @@ multiload_create_graphs(MultiloadApplet *ma)
        gint speed, size;
        gint i;
 
-       speed = panel_applet_gconf_get_int (ma->applet, "speed", NULL);
-       size = panel_applet_gconf_get_int (ma->applet, "size", NULL);
+       speed = g_settings_get_int (ma->settings, KEY_SPEED);
+       size = g_settings_get_int (ma->settings, KEY_SIZE);
        speed = MAX (speed, 50);
        size = CLAMP (size, 10, 400);
 
@@ -385,15 +386,8 @@ multiload_create_graphs(MultiloadApplet *ma)
                gboolean visible;
                char *key;
 
-               /* This is a special case to handle migration from an
-                * older version of netload to a newer one in the
-                * 2.25.1 release. */
-               if (g_strcmp0 ("netload2", graph_types[i].name) == 0) {
-                 key = g_strdup ("view_netload");
-               } else {
-                 key = g_strdup_printf ("view_%s", graph_types[i].name);
-               }
-               visible = panel_applet_gconf_get_bool (ma->applet, key, NULL);
+               key = g_strdup_printf ("view-%s", graph_types[i].name);
+               visible = g_settings_get_boolean (ma->settings, key);
                g_free (key);
 
                ma->graphs[i] = load_graph_new (ma,
@@ -442,7 +436,7 @@ multiload_applet_refresh(MultiloadApplet *ma)
        
        gtk_container_add(GTK_CONTAINER(ma->applet), ma->box);
                        
-       /* create the NGRAPHS graphs, passing in their user-configurable properties with gconf. */
+       /* create the NGRAPHS graphs, passing in their user-configurable properties. */
        multiload_create_graphs (ma);
 
        /* only start and display the graphs the user has turned on */
@@ -473,7 +467,7 @@ static gboolean
 multiload_applet_new(PanelApplet *applet, const gchar *iid, gpointer data)
 {
        MultiloadApplet *ma;
-       GConfClient *client;
+       GSettings *settings;
        GSimpleActionGroup *action_group;
        GAction *action;
        gchar *ui_path;
@@ -491,7 +485,7 @@ multiload_applet_new(PanelApplet *applet, const gchar *iid, gpointer data)
        gtk_window_set_default_icon_name ("utilities-system-monitor");
        panel_applet_set_background_widget (applet, GTK_WIDGET(applet));
        
-       panel_applet_add_preferences (applet, "/schemas/apps/multiload/prefs", NULL);
+       ma->settings = panel_applet_settings_new (applet, MULTILOAD_SCHEMA);
        panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR);
 
        action_group = g_simple_action_group_new ();
@@ -510,8 +504,9 @@ multiload_applet_new(PanelApplet *applet, const gchar *iid, gpointer data)
        g_object_bind_property (applet, "locked-down", action, "enabled",
                                G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE);
 
-       client = gconf_client_get_default ();
-       if (gconf_client_get_bool (client, "/desktop/gnome/lockdown/inhibit_command_line", NULL) ||
+       settings = g_settings_new (GNOME_DESKTOP_LOCKDOWN_SCHEMA);
+
+       if (g_settings_get_boolean (settings, DISABLE_COMMAND_LINE) ||
            panel_applet_get_locked_down (applet)) {
                /* When the panel is locked down or when the command line is inhibited,
                   it seems very likely that running the procman would be at least harmful */
@@ -519,6 +514,7 @@ multiload_applet_new(PanelApplet *applet, const gchar *iid, gpointer data)
                g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
        }
 
+       g_object_unref (settings);
        g_object_unref (action_group);
 
        g_signal_connect(G_OBJECT(applet), "change_size",
diff --git a/multiload/org.gnome.gnome-applets.multiload.gschema.xml.in.in 
b/multiload/org.gnome.gnome-applets.multiload.gschema.xml.in.in
new file mode 100644
index 0000000..b013a74
--- /dev/null
+++ b/multiload/org.gnome.gnome-applets.multiload.gschema.xml.in.in
@@ -0,0 +1,133 @@
+<schemalist gettext-domain="@GETTEXT_PACKAGE@">
+       <schema id="org.gnome.gnome-applets.multiload">
+               <key name="view-cpuload" type="b">
+                       <default>true</default>
+                       <_summary>Enable CPU load graph</_summary>
+               </key>
+               <key name="view-memload" type="b">
+                       <default>false</default>
+                       <_summary>Enable memory load graph</_summary>
+               </key>
+               <key name="view-netload2" type="b">
+                       <default>false</default>
+                       <_summary>Enable network load graph</_summary>
+               </key>
+               <key name="view-swapload" type="b">
+                       <default>false</default>
+                       <_summary>Enable swap load graph</_summary>
+               </key>
+               <key name="view-loadavg" type="b">
+                       <default>false</default>
+                       <_summary>Enable load average graph</_summary>
+               </key>
+               <key name="view-diskload" type="b">
+                       <default>false</default>
+                       <_summary>Enable disk load graph</_summary>
+               </key>
+
+               <key name="speed" type="i">
+                       <default>500</default>
+                       <_summary>Applet refresh rate in milliseconds</_summary>
+               </key>
+               <key name="size" type="i">
+                       <default>40</default>
+                       <_summary>Graph size</_summary>
+                       <_description>For horizontal panels, the width of the graphs in pixels.  For vertical 
panels, this is the height of the graphs.</_description>
+               </key>
+
+               <key name="cpuload-color0" type="s">
+                       <default>'#0072b3'</default>
+                       <_summary>Graph color for user-related CPU activity</_summary>
+               </key>
+               <key name="cpuload-color1" type="s">
+                       <default>'#0092e6'</default>
+                       <_summary>Graph color for system-related CPU activity</_summary>
+               </key>
+               <key name="cpuload-color2" type="s">
+                       <default>'#00a3ff'</default>
+                       <_summary>Graph color for nice-related CPU activity</_summary>
+               </key>
+               <key name="cpuload-color3" type="s">
+                       <default>'#002f3d'</default>
+                       <_summary>Graph color for iowait related CPU activity</_summary>
+               </key>
+               <key name="cpuload-color4" type="s">
+                       <default>'#000000'</default>
+                       <_summary>CPU graph background color</_summary>
+               </key>
+
+               <key name="memload-color0" type="s">
+                       <default>'#00b35b'</default>
+                       <_summary>Graph color for user-related memory usage</_summary>
+               </key>
+               <key name="memload-color1" type="s">
+                       <default>'#00e675'</default>
+                       <_summary>Graph color for shared memory</_summary>
+               </key>
+               <key name="memload-color2" type="s">
+                       <default>'#00ff82'</default>
+                       <_summary>Graph color for buffer memory</_summary>
+               </key>
+               <key name="memload-color3" type="s">
+                       <default>'#AAF5D0'</default>
+                       <_summary>Graph color for cached memory</_summary>
+               </key>
+               <key name="memload-color4" type="s">
+                       <default>'#000000'</default>
+                       <_summary>Memory graph background color</_summary>
+               </key>
+
+               <key name="netload2-color0" type="s">
+                       <default>'#fce94f'</default>
+                       <_summary>Graph color for input network activity</_summary>
+               </key>
+               <key name="netload2-color1" type="s">
+                       <default>'#edd400'</default>
+                       <_summary>Graph color for output network activity</_summary>
+               </key>
+               <key name="netload2-color2" type="s">
+                       <default>'#c4a000'</default>
+                       <_summary>Graph color for loopback network usage</_summary>
+               </key>
+               <key name="netload2-color3" type="s">
+                       <default>'#AAF5D0'</default>
+                       <_summary>Network graph background color</_summary>
+               </key>
+
+               <key name="swapload-color0" type="s">
+                       <default>'#8b00c3'</default>
+                       <_summary>Graph color for user-related swap usage</_summary>
+               </key>
+               <key name="swapload-color1" type="s">
+                       <default>'#edd400'</default>
+                       <_summary>Swap graph background color</_summary>
+               </key>
+
+               <key name="loadavg-color0" type="s">
+                       <default>'#d50000'</default>
+                       <_summary>Graph color for load average</_summary>
+               </key>
+               <key name="loadavg-color1" type="s">
+                       <default>'#edd400'</default>
+                       <_summary>SLoad graph background color</_summary>
+               </key>
+               
+               <key name="diskload-color0" type="s">
+                       <default>'#C65000'</default>
+                       <_summary>Graph color for disk read</_summary>
+               </key>
+               <key name="diskload-color1" type="s">
+                       <default>'#FF6700'</default>
+                       <_summary>Graph color for disk write</_summary>
+               </key>
+               <key name="diskload-color2" type="s">
+                       <default>'#c4a000'</default>
+                       <_summary>Background color for disk load graph</_summary>
+               </key>
+               
+               <key name="system-monitor" type="s">
+                       <default>'gnome-system-monitor.desktop'</default>
+                       <_summary>The desktop description file to execute as the system monitor</_summary>
+               </key>
+       </schema>
+</schemalist>
diff --git a/multiload/properties.c b/multiload/properties.c
index 8a6bbc6..700582b 100644
--- a/multiload/properties.c
+++ b/multiload/properties.c
@@ -12,12 +12,8 @@
 #endif
 
 #include <string.h>
-
 #include <gtk/gtk.h>
-
-#include <gconf/gconf-client.h>
 #include <panel-applet.h>
-#include <panel-applet-gconf.h>
 
 #include "global.h"
 
@@ -54,25 +50,6 @@ soft_set_sensitive (GtkWidget *w, gboolean sensitivity)
 }
 
 
-static gboolean
-key_writable (PanelApplet *applet, const char *key)
-{
-       gboolean writable;
-       char *fullkey;
-       static GConfClient *client = NULL;
-       if (client == NULL)
-               client = gconf_client_get_default ();
-
-       fullkey = panel_applet_gconf_get_full_key (applet, key);
-
-       writable = gconf_client_key_is_writable (client, fullkey, NULL);
-
-       g_free (fullkey);
-
-       return writable;
-}
-
-
 static void
 properties_set_insensitive(MultiloadApplet *ma)
 {
@@ -131,14 +108,9 @@ property_toggled_cb(GtkWidget *widget, gpointer name)
        
        ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
        prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
-       
-       /* FIXME: the first toggle button to be checked/dechecked does not work, but after that everything is 
cool.  what gives? */
-       panel_applet_gconf_set_bool(ma->applet, (gchar *)name, 
-                       active, NULL);
-       
-       panel_applet_gconf_set_bool(ma->applet, (gchar *)name, 
-                       active, NULL);
-       
+
+       g_settings_set_boolean (ma->settings, (gchar *)name, active);
+
        if (active)
        {
                for (i = 0; i < NGRAPHS; i++)
@@ -167,14 +139,9 @@ spin_button_changed_cb(GtkWidget *widget, gpointer name)
        ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
        prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
        value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
-       
-       /* FIXME: the first toggle button to be checked/dechecked does not work, but after that everything is 
cool.  what gives? */
-       panel_applet_gconf_set_int(ma->applet, (gchar *)name, 
-                       value, NULL);
-       
-       panel_applet_gconf_set_int(ma->applet, (gchar *)name, 
-                       value, NULL);
-       
+
+       g_settings_set_int (ma->settings, (gchar *)name, value);
+
        switch(prop_type)
        {
                case PROP_SPEED:
@@ -233,67 +200,58 @@ add_page(GtkWidget *notebook, gchar *label)
        return page;
 }
 
-/* save the selected color to gconf and apply it on the applet */
+/* save the selected color to GSettings and apply it on the applet */
 static void
 color_picker_set_cb(GtkColorButton *color_picker, gpointer data)
 {
-       gchar color_string[8];
-       const gchar *gconf_path;
+       gchar *color_string;
+       const gchar *key;
        guint8 prop_type;
-       GdkColor color;
+       GdkRGBA color;
        MultiloadApplet *ma;
 
-       gconf_path = data;
+       key = (const gchar *) data;
        ma = g_object_get_data (G_OBJECT (color_picker), "MultiloadApplet");
 
        prop_type = 0;
        
-       if (strstr(gconf_path, "cpuload"))
+       if (strstr(key, "cpuload"))
                prop_type = PROP_CPU;
-       else if (strstr(gconf_path, "memload"))
+       else if (strstr(key, "memload"))
                prop_type = PROP_MEM;
-       else if (strstr(gconf_path, "netload2"))
+       else if (strstr(key, "netload2"))
                prop_type = PROP_NET;
-       else if (strstr(gconf_path, "swapload"))
+       else if (strstr(key, "swapload"))
                prop_type = PROP_SWAP;
-       else if (strstr(gconf_path, "loadavg"))
+       else if (strstr(key, "loadavg"))
                prop_type = PROP_AVG;
-       else if (strstr(gconf_path, "diskload"))
+       else if (strstr(key, "diskload"))
                prop_type = PROP_DISK;
        else
                g_assert_not_reached();
                
-       gtk_color_button_get_color(color_picker, &color);
-       
-       snprintf(color_string, 8, "#%02X%02X%02X", 
-                color.red / 256, color.green / 256, color.blue / 256);
-       panel_applet_gconf_set_string(PANEL_APPLET(ma->applet), gconf_path, color_string, NULL);
-       
-       gdk_color_parse(color_string, 
-                       &(ma->graphs[prop_type]->colors[g_ascii_digit_value(gconf_path[strlen(gconf_path) - 
1]) ]) );
-       
-       return;
+       gtk_color_button_get_rgba (color_picker, &color);
+
+       color_string = gdk_rgba_to_string (&color);
+       g_settings_set_string (ma->settings, key, color_string);
+
+       gdk_rgba_parse (&(ma->graphs[prop_type]->colors[g_ascii_digit_value (key[strlen (key) - 1])]), 
color_string);
 }
 
 /* create a color selector */
 static void
-add_color_selector(GtkWidget *page, gchar *name, gchar *gconf_path, MultiloadApplet *ma)
+add_color_selector(GtkWidget *page, gchar *name, gchar *key, MultiloadApplet *ma)
 {
        GtkWidget *vbox;
        GtkWidget *label;
        GtkWidget *color_picker;
-       GdkColor color;
+       GdkRGBA color;
        gchar *color_string;
        
-       color_string = panel_applet_gconf_get_string(ma->applet, gconf_path, NULL);
-       if (!color_string)
+       color_string = g_settings_get_string (ma->settings, key);
+       if (IS_STRING_EMPTY (color_string))
                color_string = g_strdup ("#000000");
-       color.red   = (g_ascii_xdigit_value(color_string[1]) * 16 
-                       + g_ascii_xdigit_value(color_string[2])) * 256;
-       color.green = (g_ascii_xdigit_value(color_string[3]) * 16 
-                       + g_ascii_xdigit_value(color_string[4])) * 256;
-       color.blue  = (g_ascii_xdigit_value(color_string[5]) * 16
-                       + g_ascii_xdigit_value(color_string[6])) * 256;
+       gdk_rgba_parse (&color, color_string);
        g_free (color_string);
                
        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
@@ -308,17 +266,15 @@ add_color_selector(GtkWidget *page, gchar *name, gchar *gconf_path, MultiloadApp
        
        g_object_set_data (G_OBJECT (color_picker), "MultiloadApplet", ma);
 
-       gtk_color_button_set_color(GTK_COLOR_BUTTON(color_picker), &color);
+       gtk_color_button_set_rgba (GTK_COLOR_BUTTON (color_picker), &color);
 
-       g_signal_connect(G_OBJECT(color_picker), "color_set", G_CALLBACK(color_picker_set_cb), gconf_path);
+       g_signal_connect(G_OBJECT(color_picker), "color_set", G_CALLBACK(color_picker_set_cb), key);
 
-       if ( ! key_writable (ma->applet, gconf_path))
+       if (!g_settings_is_writable (ma->settings, key))
                hard_set_sensitive (vbox, FALSE);
-       
-       return;
 }
 
-/* creates the properties dialog using up-to-the-minute info from gconf */
+/* creates the properties dialog using up-to-the-minute info from GSettings */
 static void
 fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
 {
@@ -381,78 +337,77 @@ fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
        check_box = gtk_check_button_new_with_mnemonic(_("_Processor"));
        ma->check_boxes[0] = check_box;
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
-                               panel_applet_gconf_get_bool(ma->applet, "view_cpuload", NULL));
+                               g_settings_get_boolean (ma->settings, KEY_VIEW_CPULOAD));
        g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
        g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_CPU));
        g_signal_connect(G_OBJECT(check_box), "toggled",
-                               G_CALLBACK(property_toggled_cb), "view_cpuload");
+                               G_CALLBACK(property_toggled_cb), "view-cpuload");
        gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "view_cpuload"))
+       if (!g_settings_is_writable (ma->settings, KEY_VIEW_CPULOAD))
                hard_set_sensitive (check_box, FALSE);
        
        check_box = gtk_check_button_new_with_mnemonic(_("_Memory"));
        ma->check_boxes[1] = check_box;
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
-                               panel_applet_gconf_get_bool(ma->applet, "view_memload", NULL));
+                               g_settings_get_boolean (ma->settings, KEY_VIEW_MEMLOAD));
        g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
        g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_MEM));
        g_signal_connect(G_OBJECT(check_box), "toggled",
-                               G_CALLBACK(property_toggled_cb), "view_memload");
+                               G_CALLBACK(property_toggled_cb), "view-memload");
        gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "view_memload"))
+       if (!g_settings_is_writable (ma->settings, KEY_VIEW_MEMLOAD))
                hard_set_sensitive (check_box, FALSE);
        
        check_box = gtk_check_button_new_with_mnemonic(_("_Network"));
        ma->check_boxes[2] = check_box;
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
-                               panel_applet_gconf_get_bool(ma->applet, "view_netload", NULL));
+                               g_settings_get_boolean (ma->settings, KEY_VIEW_NETLOAD2));
        g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
        g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_NET));
        g_signal_connect(G_OBJECT(check_box), "toggled",
-                               G_CALLBACK(property_toggled_cb), "view_netload");
+                               G_CALLBACK(property_toggled_cb), "view-netload2");
        gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "view_netload"))
+       if (!g_settings_is_writable (ma->settings, KEY_VIEW_NETLOAD2))
                hard_set_sensitive (check_box, FALSE);
 
        check_box = gtk_check_button_new_with_mnemonic (_("S_wap Space"));
        ma->check_boxes[3] = check_box;
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
-                               panel_applet_gconf_get_bool(ma->applet, "view_swapload", NULL));
+                               g_settings_get_boolean (ma->settings, KEY_VIEW_SWAPLOAD));
        g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
        g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_SWAP));
        g_signal_connect(G_OBJECT(check_box), "toggled",
-                               G_CALLBACK(property_toggled_cb), "view_swapload");
+                               G_CALLBACK(property_toggled_cb), "view-swapload");
        gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "view_swapload"))
+       if (!g_settings_is_writable (ma->settings, KEY_VIEW_SWAPLOAD))
                hard_set_sensitive (check_box, FALSE);
 
        check_box = gtk_check_button_new_with_mnemonic(_("_Load"));
        ma->check_boxes[4] = check_box; 
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
-                               panel_applet_gconf_get_bool(ma->applet, "view_loadavg", NULL));
+                               g_settings_get_boolean (ma->settings, KEY_VIEW_LOADAVG));
        g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
        g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_AVG));
        g_signal_connect(G_OBJECT(check_box), "toggled",
-                               G_CALLBACK(property_toggled_cb), "view_loadavg");
+                               G_CALLBACK(property_toggled_cb), "view-loadavg");
        gtk_box_pack_start(GTK_BOX(control_hbox), check_box, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "view_loadavg"))
+       if (!g_settings_is_writable (ma->settings, KEY_VIEW_LOADAVG))
                hard_set_sensitive (check_box, FALSE);
 
        check_box = gtk_check_button_new_with_mnemonic(_("_Harddisk"));
        ma->check_boxes[5] = check_box;
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_box),
-                       panel_applet_gconf_get_bool (ma->applet,
-                               "view_diskload", NULL));
+                       g_settings_get_boolean (ma->settings, KEY_VIEW_DISKLOAD));
        g_object_set_data (G_OBJECT (check_box), "MultiloadApplet", ma);
        g_object_set_data (G_OBJECT (check_box), "prop_type",
                        GINT_TO_POINTER (PROP_DISK));
        g_signal_connect (G_OBJECT (check_box), "toggled",
-                       G_CALLBACK (property_toggled_cb), "view_diskload");
+                       G_CALLBACK (property_toggled_cb), "view-diskload");
        gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
 
        category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
@@ -510,11 +465,11 @@ fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
        g_object_set_data(G_OBJECT(spin_button), "prop_type",
                                GINT_TO_POINTER(PROP_SIZE));
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
-                               (gdouble)panel_applet_gconf_get_int(ma->applet, "size", NULL));
+                               (gdouble)g_settings_get_int (ma->settings, KEY_SIZE));
        g_signal_connect(G_OBJECT(spin_button), "value_changed",
                                G_CALLBACK(spin_button_changed_cb), "size");
        
-       if ( ! key_writable (ma->applet, "size")) {
+       if (!g_settings_is_writable (ma->settings, KEY_SIZE)) {
                hard_set_sensitive (label, FALSE);
                hard_set_sensitive (hbox, FALSE);
        }
@@ -545,13 +500,13 @@ fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
        g_object_set_data(G_OBJECT(spin_button), "prop_type",
                                GINT_TO_POINTER(PROP_SPEED));
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
-                               (gdouble)panel_applet_gconf_get_int(ma->applet, "speed", NULL));
+                               (gdouble)g_settings_get_int (ma->settings, KEY_SPEED));
        g_signal_connect(G_OBJECT(spin_button), "value_changed",
                                G_CALLBACK(spin_button_changed_cb), "speed");
        gtk_size_group_add_widget (spin_size, spin_button);
        gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
 
-       if ( ! key_writable (ma->applet, "speed")) {
+       if (!g_settings_is_writable (ma->settings, KEY_SPEED)) {
                hard_set_sensitive (label, FALSE);
                hard_set_sensitive (hbox, FALSE);
        }
@@ -594,42 +549,42 @@ fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
        
        page = add_page(ma->notebook,  _("Processor"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector(page, _("_User"), "cpuload_color0", ma);
-       add_color_selector(page, _("S_ystem"), "cpuload_color1", ma);
-       add_color_selector(page, _("N_ice"), "cpuload_color2", ma);
-       add_color_selector(page, _("I_OWait"), "cpuload_color3", ma);
-       add_color_selector(page, _("I_dle"), "cpuload_color4", ma);
+       add_color_selector(page, _("_User"), "cpuload-color0", ma);
+       add_color_selector(page, _("S_ystem"), "cpuload-color1", ma);
+       add_color_selector(page, _("N_ice"), "cpuload-color2", ma);
+       add_color_selector(page, _("I_OWait"), "cpuload-color3", ma);
+       add_color_selector(page, _("I_dle"), "cpuload-color4", ma);
        
        page = add_page(ma->notebook,  _("Memory"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector(page, _("_User"), "memload_color0", ma);
-       add_color_selector(page, _("Sh_ared"), "memload_color1", ma);
-       add_color_selector(page, _("_Buffers"), "memload_color2", ma);
-       add_color_selector (page, _("Cach_ed"), "memload_color3", ma);
-       add_color_selector(page, _("F_ree"), "memload_color4", ma);
+       add_color_selector(page, _("_User"), "memload-color0", ma);
+       add_color_selector(page, _("Sh_ared"), "memload-color1", ma);
+       add_color_selector(page, _("_Buffers"), "memload-color2", ma);
+       add_color_selector (page, _("Cach_ed"), "memload-color3", ma);
+       add_color_selector(page, _("F_ree"), "memload-color4", ma);
        
        page = add_page(ma->notebook,  _("Network"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector (page, _("_In"), "netload2_color0", ma);
-       add_color_selector(page, _("_Out"), "netload2_color1", ma);
-       add_color_selector (page, _("_Local"), "netload2_color2", ma);
-       add_color_selector(page, _("_Background"), "netload2_color3", ma);
+       add_color_selector (page, _("_In"), "netload2-color0", ma);
+       add_color_selector(page, _("_Out"), "netload2-color1", ma);
+       add_color_selector (page, _("_Local"), "netload2-color2", ma);
+       add_color_selector(page, _("_Background"), "netload2-color3", ma);
        
        page = add_page(ma->notebook,  _("Swap Space"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector(page, _("_Used"), "swapload_color0", ma);
-       add_color_selector(page, _("_Free"), "swapload_color1", ma);
+       add_color_selector(page, _("_Used"), "swapload-color0", ma);
+       add_color_selector(page, _("_Free"), "swapload-color1", ma);
        
        page = add_page(ma->notebook,  _("Load"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector(page, _("_Average"), "loadavg_color0", ma);
-       add_color_selector(page, _("_Background"), "loadavg_color1", ma);
+       add_color_selector(page, _("_Average"), "loadavg-color0", ma);
+       add_color_selector(page, _("_Background"), "loadavg-color1", ma);
 
        page = add_page (ma->notebook, _("Harddisk"));
        gtk_container_set_border_width (GTK_CONTAINER (page), 12);
-       add_color_selector (page, _("_Read"), "diskload_color0", ma);
-       add_color_selector (page, _("_Write"), "diskload_color1", ma);
-       add_color_selector (page, _("_Background"), "diskload_color2", ma);
+       add_color_selector (page, _("_Read"), "diskload-color0", ma);
+       add_color_selector (page, _("_Write"), "diskload-color1", ma);
+       add_color_selector (page, _("_Background"), "diskload-color2", ma);
        
        return;
 }
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 43fe94a..3513ccc 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -82,6 +82,7 @@ multiload/main.c
 multiload/multiload.schemas.in
 multiload/netspeed.c
 [type: gettext/ini]multiload/org.gnome.applets.MultiLoadApplet.panel-applet.in.in
+multiload/org.gnome.gnome-applets.multiload.gschema.xml.in.in
 multiload/properties.c
 [type: gettext/ini]stickynotes/org.gnome.applets.StickyNotesApplet.panel-applet.in.in
 stickynotes/stickynotes.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 15c9ff9..c876a3f 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -22,6 +22,7 @@ mini-commander/src/org.gnome.gnome-applets.mini-commander.gschema.xml.in
 mixer/org.gnome.applets.MixerApplet.panel-applet.in
 modemlights/org.gnome.applets.ModemApplet.panel-applet.in
 multiload/org.gnome.applets.MultiLoadApplet.panel-applet.in
+multiload/org.gnome.gnome-applets.multiload.gschema.xml.in
 stickynotes/org.gnome.applets.StickyNotesApplet.panel-applet.in
 stickynotes/org.gnome.gnome-applets.stickynotes.gschema.xml.in
 trashapplet/org.gnome.applets.TrashApplet.panel-applet.in


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]