static void panel_menu_button_gsettings_notify (GSettings *settings, gchar *key, PanelMenuButton *button) { if (!strcmp (key, PANEL_OBJECT_MENU_PATH_KEY)) { gchar *value = g_settings_get_string (settings, key); panel_menu_button_set_menu_path (button, value); g_free (value); } else if (!strcmp (key, PANEL_OBJECT_CUSTOM_ICON_KEY)) { gchar *value = g_settings_get_string (settings, key); panel_menu_button_set_custom_icon (button, value); g_free (value); } else if (!strcmp (key, PANEL_OBJECT_TOOLTIP_KEY)) { gchar *value = g_settings_get_string (settings, key); panel_menu_button_set_tooltip (button, value); g_free (value); } else if (!strcmp (key, PANEL_OBJECT_USE_MENU_PATH_KEY)) { panel_menu_button_set_use_menu_path (button, g_settings_get_boolean (settings, key)); } else if (!strcmp (key, PANEL_OBJECT_USE_CUSTOM_ICON_KEY)) { panel_menu_button_set_use_custom_icon (button, g_settings_get_boolean (settings, key)); } else if (!strcmp (key, PANEL_OBJECT_HAS_ARROW_KEY)) { panel_menu_button_set_has_arrow (button, g_settings_get_boolean (settings, key)); } }
static void panel_menu_button_mateconf_notify (MateConfClient *client, guint cnxn_id, MateConfEntry *entry, PanelMenuButton *button) { MateConfValue *value; const char *key; key = panel_mateconf_basename (mateconf_entry_get_key (entry)); value = entry->value; if (!strcmp (key, "menu_path")) { if (value && value->type == MATECONF_VALUE_STRING) panel_menu_button_set_menu_path (button, mateconf_value_get_string (value)); } else if (!strcmp (key, "custom_icon")) { if (value && value->type == MATECONF_VALUE_STRING) panel_menu_button_set_custom_icon (button, mateconf_value_get_string (value)); } else if (!strcmp (key, "tooltip")) { if (value && value->type == MATECONF_VALUE_STRING) panel_menu_button_set_tooltip (button, mateconf_value_get_string (value)); } else if (!strcmp (key, "use_menu_path")) { if (value && value->type == MATECONF_VALUE_BOOL) panel_menu_button_set_use_menu_path (button, mateconf_value_get_bool (value)); } else if (!strcmp (key, "use_custom_icon")) { if (value && value->type == MATECONF_VALUE_BOOL) panel_menu_button_set_use_custom_icon (button, mateconf_value_get_bool (value)); } }
static void panel_menu_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { PanelMenuButton *button; g_return_if_fail (PANEL_IS_MENU_BUTTON (object)); button = PANEL_MENU_BUTTON (object); switch (prop_id) { case PROP_MENU_PATH: panel_menu_button_set_menu_path (button, g_value_get_string (value)); break; case PROP_CUSTOM_ICON: panel_menu_button_set_custom_icon (button, g_value_get_string (value)); break; case PROP_TOOLTIP: panel_menu_button_set_tooltip (button, g_value_get_string (value)); break; case PROP_USE_MENU_PATH: panel_menu_button_set_use_menu_path (button, g_value_get_boolean (value)); break; case PROP_USE_CUSTOM_ICON: panel_menu_button_set_use_custom_icon (button, g_value_get_boolean (value)); break; case PROP_HAS_ARROW: panel_menu_button_set_has_arrow (button, g_value_get_boolean (value)); break; case PROP_DND_ENABLED: panel_menu_button_set_dnd_enabled (button, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }