Пример #1
0
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));
	}
}
Пример #3
0
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;
	}
}