Code cleanup

This commit is contained in:
Pierre Pronchery 2013-12-25 20:10:46 +01:00
parent c29008d070
commit cdba68628c

View File

@ -1863,6 +1863,8 @@ static void _preferences_background(Desktop * desktop, GtkWidget * notebook);
static void _preferences_icons(Desktop * desktop, GtkWidget * notebook); static void _preferences_icons(Desktop * desktop, GtkWidget * notebook);
static void _preferences_monitors(Desktop * desktop, GtkWidget * notebook); static void _preferences_monitors(Desktop * desktop, GtkWidget * notebook);
static void _preferences_set(Desktop * desktop); static void _preferences_set(Desktop * desktop);
static void _preferences_set_color(Config * config, char const * variable,
char const * fallback, GtkWidget * widget);
static gboolean _on_preferences_closex(gpointer data); static gboolean _on_preferences_closex(gpointer data);
static void _on_preferences_monitors_changed(gpointer data); static void _on_preferences_monitors_changed(gpointer data);
static void _on_preferences_monitors_refresh(gpointer data); static void _on_preferences_monitors_refresh(gpointer data);
@ -2267,12 +2269,14 @@ static void _on_preferences_monitors_refresh(gpointer data)
static void _on_preferences_response(GtkWidget * widget, gint response, static void _on_preferences_response(GtkWidget * widget, gint response,
gpointer data) gpointer data)
{ {
Desktop * desktop = data;
if(response == GTK_RESPONSE_OK) if(response == GTK_RESPONSE_OK)
_on_preferences_ok(data); _on_preferences_ok(desktop);
else if(response == GTK_RESPONSE_APPLY) else if(response == GTK_RESPONSE_APPLY)
_on_preferences_apply(data); _on_preferences_apply(desktop);
else if(response == GTK_RESPONSE_CANCEL) else if(response == GTK_RESPONSE_CANCEL)
_on_preferences_cancel(data); _on_preferences_cancel(desktop);
} }
static void _on_preferences_ok(gpointer data) static void _on_preferences_ok(gpointer data)
@ -2280,7 +2284,7 @@ static void _on_preferences_ok(gpointer data)
Desktop * desktop = data; Desktop * desktop = data;
gtk_widget_hide(desktop->pr_window); gtk_widget_hide(desktop->pr_window);
_on_preferences_apply(data); _on_preferences_apply(desktop);
} }
static void _on_preferences_apply(gpointer data) static void _on_preferences_apply(gpointer data)
@ -2336,7 +2340,9 @@ static void _on_preferences_apply(gpointer data)
/* XXX code duplication */ /* XXX code duplication */
if((p = string_new_append(desktop->home, "/" DESKTOPRC, NULL)) != NULL) if((p = string_new_append(desktop->home, "/" DESKTOPRC, NULL)) != NULL)
{ {
config_save(config, p); /* FIXME save configuration in _on_preferences_ok() instead */
if(config_save(config, p) != 0)
error_print(PROGNAME);
string_delete(p); string_delete(p);
} }
config_delete(config); config_delete(config);
@ -2439,16 +2445,10 @@ static void _preferences_set(Desktop * desktop)
} }
gtk_combo_box_set_active(GTK_COMBO_BOX(desktop->pr_ilayout), gtk_combo_box_set_active(GTK_COMBO_BOX(desktop->pr_ilayout),
how); how);
if((p = config_get(config, "icons", "background")) == NULL) _preferences_set_color(config, "background", black,
p = black; desktop->pr_ibcolor);
if(gdk_color_parse(p, &color) == TRUE) _preferences_set_color(config, "foreground", white,
gtk_color_button_set_color(GTK_COLOR_BUTTON( desktop->pr_ifcolor);
desktop->pr_ibcolor), &color);
if((p = config_get(config, "icons", "foreground")) == NULL)
p = white;
if(gdk_color_parse(p, &color) == TRUE)
gtk_color_button_set_color(GTK_COLOR_BUTTON(
desktop->pr_ifcolor), &color);
if((p = config_get(config, "icons", "font")) != NULL) if((p = config_get(config, "icons", "font")) != NULL)
gtk_font_button_set_font_name(GTK_FONT_BUTTON( gtk_font_button_set_font_name(GTK_FONT_BUTTON(
desktop->pr_ifont), p); desktop->pr_ifont), p);
@ -2488,6 +2488,18 @@ static void _preferences_set(Desktop * desktop)
desktop->pr_background_extend), extend); desktop->pr_background_extend), extend);
} }
static void _preferences_set_color(Config * config, char const * variable,
char const * fallback, GtkWidget * widget)
{
char const * p;
GdkColor color = { 0, 0, 0, 0 };
if((p = config_get(config, "icons", variable)) == NULL)
p = fallback;
if(gdk_color_parse(p, &color) == TRUE)
gtk_color_button_set_color(GTK_COLOR_BUTTON(widget), &color);
}
/* error */ /* error */
static int _error(char const * message, int ret) static int _error(char const * message, int ret)