--- ../orig/behavior-settings.c 2007-11-17 20:31:41.000000000 +0100 +++ ../really_new_and_good/behavior-settings.c 2008-03-17 09:50:27.000000000 +0100 @@ -96,6 +96,28 @@ #ifdef ENABLE_DESKTOP_ICONS static void +set_sysfont_option(GtkSpinButton *sbtn, GtkStateType state, + gpointer user_data) +{ + BackdropDialog *bd = (BackdropDialog *)user_data; + gint value = gtk_spin_button_get_value_as_int(sbtn); + + /* Set the "icons_font_size" option, if the spin button isn't insensitive */ + if((state == GTK_STATE_NORMAL) || + (state == GTK_STATE_ACTIVE) || + (state == GTK_STATE_PRELIGHT) || + (state == GTK_STATE_SELECTED)) + { + desktop_icons_font_size = value; + mcs_manager_set_int(bd->plugin->manager, "icons_font_size", + BACKDROP_CHANNEL, value); + mcs_manager_notify(bd->plugin->manager, BACKDROP_CHANNEL); + } +} +#endif /* ENABLE_DESKTOP_ICONS */ + +#ifdef ENABLE_DESKTOP_ICONS +static void set_sbtn_option(GtkSpinButton *sbtn, gpointer user_data) { @@ -347,6 +369,8 @@ gtk_label_set_mnemonic_widget(GTK_LABEL(lbl), sbtn); g_signal_connect(G_OBJECT(sbtn), "value-changed", G_CALLBACK(set_sbtn_option), bd); + g_signal_connect(G_OBJECT(sbtn), "state-changed", + G_CALLBACK(set_sysfont_option), bd); gtk_widget_set_sensitive(bd->frame_sysfont, !desktop_icons_use_system_font);