static void panel_properties_dialog_toplevel_notify (GConfClient *client, guint cnxn_id, GConfEntry *entry, PanelPropertiesDialog *dialog) { GConfValue *value; const char *key; key = panel_gconf_basename (gconf_entry_get_key (entry)); if (!key) return; value = gconf_entry_get_value (entry); #define UPDATE_TOGGLE(p, n) \ if (!strcmp (key, p)) { \ if (value && value->type == GCONF_VALUE_BOOL) { \ gboolean val = gconf_value_get_bool (value); \ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->n)) != val) \ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->n), val); \ } \ } if (!strcmp (key, "orientation")) panel_properties_dialog_update_orientation (dialog, value); else if (!strcmp (key, "size")) panel_properties_dialog_update_size (dialog, value); else UPDATE_TOGGLE ("expand", expand_toggle) else UPDATE_TOGGLE ("auto_hide", autohide_toggle) else UPDATE_TOGGLE ("enable_buttons", hidebuttons_toggle) else UPDATE_TOGGLE ("enable_arrows", arrows_toggle) }
static void panel_properties_dialog_toplevel_notify (GSettings *settings, gchar *key, PanelPropertiesDialog *dialog) { #define UPDATE_TOGGLE(p, n) \ if (!strcmp (key, p)) { \ gboolean val = g_settings_get_boolean (settings, key); \ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->n)) != val) \ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->n), val); \ } if (!strcmp (key, "orientation")) panel_properties_dialog_update_orientation (dialog, g_settings_get_enum (settings, key)); else if (!strcmp (key, "size")) panel_properties_dialog_update_size (dialog, g_settings_get_int (settings, key)); else UPDATE_TOGGLE ("expand", expand_toggle) else UPDATE_TOGGLE ("auto-hide", autohide_toggle) else UPDATE_TOGGLE ("enable-buttons", hidebuttons_toggle) else UPDATE_TOGGLE ("enable-arrows", arrows_toggle) }