Updating branch refs/heads/master
         to 784b242fc02be1233d0bf2a11a715f4d0e2fbc0c (commit)
       from c15049d734e5884762e824f7ef6ce8a6e64ad13a (commit)

commit 784b242fc02be1233d0bf2a11a715f4d0e2fbc0c
Author: Connor Behan <connor.be...@gmail.com>
Date:   Wed Aug 29 12:49:29 2012 -0700

    Write an rc file without relying on the save signal

 generic-slider.c |  170 +++++++++++++++++++++++++++---------------------------
 1 files changed, 86 insertions(+), 84 deletions(-)

diff --git a/generic-slider.c b/generic-slider.c
index 4191fcd..68a4b07 100644
--- a/generic-slider.c
+++ b/generic-slider.c
@@ -270,12 +270,98 @@ static gint adjust_slider_cb(GtkWidget *widget, 
GdkEventButton *event, GList *st
        return FALSE;
 }
 
+static void generic_slider_write_rc_file(XfcePanelPlugin *plugin, 
Generic_Slider *generic_slider) {
+       XfceRc *rc;
+       gchar *file;
+       gchar *color_string;
+       
+       /* Gdk colors sure have a lot of digits */
+       color_string = g_strdup_printf("#%04X%04X%04X", generic_slider -> 
color.red, generic_slider -> color.green, generic_slider -> color.blue);
+       file = xfce_panel_plugin_save_location(plugin, TRUE);
+       
+       if (!file) {
+               return;
+       }
+       
+       rc = xfce_rc_simple_open(file, FALSE);
+       g_free(file);
+       
+       if (!rc) {
+               return;
+       }
+       
+       xfce_rc_write_entry(rc, "adjust_command", generic_slider -> 
adjust_command);
+       xfce_rc_write_entry(rc, "sync_command", generic_slider -> sync_command);
+       xfce_rc_write_entry(rc, "description", generic_slider -> description);
+       xfce_rc_write_entry(rc, "adjust_denominator", g_strdup_printf("%d", 
generic_slider -> adjust_denominator));
+       xfce_rc_write_entry(rc, "sync_denominator", g_strdup_printf("%d", 
generic_slider -> sync_denominator));
+       xfce_rc_write_entry(rc, "description_denominator", 
g_strdup_printf("%d", generic_slider -> description_denominator));
+       xfce_rc_write_entry(rc, "mode",  g_strdup_printf("%d", generic_slider 
-> mode));
+       xfce_rc_write_entry(rc, "color", color_string);
+       xfce_rc_close(rc);
+}
+
+static void generic_slider_read_rc_file(XfcePanelPlugin *plugin, 
Generic_Slider *generic_slider) {
+       XfceRc *rc;
+       gchar *file;
+       gchar *tmp;
+       gchar *color_string;
+       
+       color_string = g_strdup_printf("#%04X%04X%04X", generic_slider -> 
default_color.red, generic_slider -> default_color.green, generic_slider -> 
default_color.blue);
+       file = xfce_panel_plugin_lookup_rc_file(plugin);
+       if (file != NULL) {
+               rc = xfce_rc_simple_open(file, TRUE);
+               g_free(file);
+               
+               if (rc != NULL) {
+                       tmp = xfce_rc_read_entry(rc, "adjust_command", "");
+                       if (tmp != NULL) {
+                               generic_slider -> adjust_command = 
g_strdup(tmp);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "sync_command", "");
+                       if (tmp != NULL) {
+                               generic_slider -> sync_command = g_strdup(tmp);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "description", "");
+                       if (tmp != NULL) {
+                               generic_slider -> description = g_strdup(tmp);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "adjust_denominator", 
"100");
+                       if (tmp != NULL) {
+                               generic_slider -> adjust_denominator = (int) 
g_strtod(g_strdup(tmp), NULL);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "sync_denominator", "100");
+                       if (tmp != NULL) {
+                               generic_slider -> sync_denominator = (int) 
g_strtod(g_strdup(tmp), NULL);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "description_denominator", 
"100");
+                       if (tmp != NULL) {
+                               generic_slider -> description_denominator = 
(int) g_strtod(g_strdup(tmp), NULL);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "mode", "0");
+                       if (tmp != NULL) {
+                               generic_slider -> mode = (int) 
g_strtod(g_strdup(tmp) , NULL);
+                       }
+                       tmp = xfce_rc_read_entry(rc, "color", color_string);
+                       if (tmp != NULL) {
+                               gdk_color_parse(tmp, &(generic_slider -> 
color));
+                       }
+                       xfce_rc_close(rc);
+               }
+       }
+       
+       generic_slider -> timeout_id = g_timeout_add(TIMEOUT, 
(GtkFunction)timer_cb, generic_slider);
+       generic_slider -> active = 1;
+}
+
 static void generic_slider_properties_dialog_response(GtkWidget *dialog, gint 
response, GList *stupid_hack) {
        Generic_Slider *generic_slider = stupid_hack -> data;
        XfcePanelPlugin *plugin = stupid_hack -> next -> data;
 
        xfce_panel_plugin_unblock_menu(plugin);
        gtk_widget_destroy(dialog);
+
+       generic_slider_write_rc_file(plugin, generic_slider);
        generic_slider -> active = 1;
 }
 
@@ -646,90 +732,6 @@ static void generic_slider_free_data(XfcePanelPlugin 
*plugin, Generic_Slider *ge
        free(generic_slider);
 }
 
-static void generic_slider_write_rc_file(XfcePanelPlugin *plugin, 
Generic_Slider *generic_slider) {
-       XfceRc *rc;
-       gchar *file;
-       gchar *color_string;
-       
-       /* Gdk colors sure have a lot of digits */
-       color_string = g_strdup_printf("#%04X%04X%04X", generic_slider -> 
color.red, generic_slider -> color.green, generic_slider -> color.blue);
-       file = xfce_panel_plugin_save_location(plugin, TRUE);
-       
-       if (!file) {
-               return;
-       }
-       
-       rc = xfce_rc_simple_open(file, FALSE);
-       g_free(file);
-       
-       if (!rc) {
-               return;
-       }
-       
-       xfce_rc_write_entry(rc, "adjust_command", generic_slider -> 
adjust_command);
-       xfce_rc_write_entry(rc, "sync_command", generic_slider -> sync_command);
-       xfce_rc_write_entry(rc, "description", generic_slider -> description);
-       xfce_rc_write_entry(rc, "adjust_denominator", g_strdup_printf("%d", 
generic_slider -> adjust_denominator));
-       xfce_rc_write_entry(rc, "sync_denominator", g_strdup_printf("%d", 
generic_slider -> sync_denominator));
-       xfce_rc_write_entry(rc, "description_denominator", 
g_strdup_printf("%d", generic_slider -> description_denominator));
-       xfce_rc_write_entry(rc, "mode",  g_strdup_printf("%d", generic_slider 
-> mode));
-       xfce_rc_write_entry(rc, "color", color_string);
-       xfce_rc_close(rc);
-}
-
-static void generic_slider_read_rc_file(XfcePanelPlugin *plugin, 
Generic_Slider *generic_slider) {
-       XfceRc *rc;
-       gchar *file;
-       gchar *tmp;
-       gchar *color_string;
-       
-       color_string = g_strdup_printf("#%04X%04X%04X", generic_slider -> 
default_color.red, generic_slider -> default_color.green, generic_slider -> 
default_color.blue);
-       file = xfce_panel_plugin_lookup_rc_file(plugin);
-       if (file != NULL) {
-               rc = xfce_rc_simple_open(file, TRUE);
-               g_free(file);
-               
-               if (rc != NULL) {
-                       tmp = xfce_rc_read_entry(rc, "adjust_command", "");
-                       if (tmp != NULL) {
-                               generic_slider -> adjust_command = 
g_strdup(tmp);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "sync_command", "");
-                       if (tmp != NULL) {
-                               generic_slider -> sync_command = g_strdup(tmp);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "description", "");
-                       if (tmp != NULL) {
-                               generic_slider -> description = g_strdup(tmp);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "adjust_denominator", 
"100");
-                       if (tmp != NULL) {
-                               generic_slider -> adjust_denominator = (int) 
g_strtod(g_strdup(tmp), NULL);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "sync_denominator", "100");
-                       if (tmp != NULL) {
-                               generic_slider -> sync_denominator = (int) 
g_strtod(g_strdup(tmp), NULL);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "description_denominator", 
"100");
-                       if (tmp != NULL) {
-                               generic_slider -> description_denominator = 
(int) g_strtod(g_strdup(tmp), NULL);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "mode", "0");
-                       if (tmp != NULL) {
-                               generic_slider -> mode = (int) 
g_strtod(g_strdup(tmp) , NULL);
-                       }
-                       tmp = xfce_rc_read_entry(rc, "color", color_string);
-                       if (tmp != NULL) {
-                               gdk_color_parse(tmp, &(generic_slider -> 
color));
-                       }
-                       xfce_rc_close(rc);
-               }
-       }
-       
-       generic_slider -> timeout_id = g_timeout_add(TIMEOUT, 
(GtkFunction)timer_cb, generic_slider);
-       generic_slider -> active = 1;
-}
-
 static void generic_slider_construct(XfcePanelPlugin *plugin) {
        Generic_Slider *generic_slider = calloc(1, sizeof(Generic_Slider));
        GtkStyle *pre_rc;
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to