static void gtk_check_menu_item_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { GtkCheckMenuItem *check_menu_item; check_menu_item = GTK_CHECK_MENU_ITEM (activatable); parent_activatable_iface->update (activatable, action, property_name); if (strcmp (property_name, "active") == 0) { gtk_action_block_activate (action); gtk_check_menu_item_set_active (check_menu_item, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); gtk_action_unblock_activate (action); } if (!gtk_activatable_get_use_action_appearance (activatable)) return; if (strcmp (property_name, "draw-as-radio") == 0) gtk_check_menu_item_set_draw_as_radio (check_menu_item, gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); }
static void gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkImageMenuItem *image_menu_item; gboolean use_appearance; image_menu_item = GTK_IMAGE_MENU_ITEM (activatable); parent_activatable_iface->sync_action_properties (activatable, action); if (!action) return; use_appearance = gtk_activatable_get_use_action_appearance (activatable); if (!use_appearance) return; if (!activatable_update_stock_id (image_menu_item, action) && !activatable_update_gicon (image_menu_item, action)) activatable_update_icon_name (image_menu_item, action); gtk_image_menu_item_set_always_show_image (image_menu_item, gtk_action_get_always_show_image (action)); }
static void gtk_check_menu_item_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkCheckMenuItem *check_menu_item; gboolean use_action_appearance; gboolean is_toggle_action; check_menu_item = GTK_CHECK_MENU_ITEM (activatable); parent_activatable_iface->sync_action_properties (activatable, action); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; is_toggle_action = GTK_IS_TOGGLE_ACTION (action); G_GNUC_END_IGNORE_DEPRECATIONS; if (!is_toggle_action) return; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_action_block_activate (action); gtk_check_menu_item_set_active (check_menu_item, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); gtk_action_unblock_activate (action); use_action_appearance = gtk_activatable_get_use_action_appearance (activatable); G_GNUC_END_IGNORE_DEPRECATIONS; if (!use_action_appearance) return; G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_check_menu_item_set_draw_as_radio (check_menu_item, gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); G_GNUC_END_IGNORE_DEPRECATIONS; }
static void gtk_check_menu_item_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { GtkCheckMenuItem *check_menu_item; gboolean use_action_appearance; check_menu_item = GTK_CHECK_MENU_ITEM (activatable); parent_activatable_iface->update (activatable, action, property_name); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; if (strcmp (property_name, "active") == 0) { gtk_action_block_activate (action); gtk_check_menu_item_set_active (check_menu_item, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); gtk_action_unblock_activate (action); } use_action_appearance = gtk_activatable_get_use_action_appearance (activatable); G_GNUC_END_IGNORE_DEPRECATIONS; if (!use_action_appearance) return; if (strcmp (property_name, "draw-as-radio") == 0) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_check_menu_item_set_draw_as_radio (check_menu_item, gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); G_GNUC_END_IGNORE_DEPRECATIONS; } }
static void gtk_tool_button_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkToolButton *button; GIcon *icon; const gchar *stock_id; GtkIconSet *icon_set = NULL; parent_activatable_iface->sync_action_properties (activatable, action); if (!action) return; if (!gtk_activatable_get_use_action_appearance (activatable)) return; button = GTK_TOOL_BUTTON (activatable); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; stock_id = gtk_action_get_stock_id (action); G_GNUC_END_IGNORE_DEPRECATIONS; gtk_tool_button_set_label (button, gtk_action_get_short_label (action)); gtk_tool_button_set_use_underline (button, TRUE); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_tool_button_set_stock_id (button, stock_id); G_GNUC_END_IGNORE_DEPRECATIONS; gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action)); if (stock_id) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; icon_set = gtk_icon_factory_lookup_default (stock_id); G_GNUC_END_IGNORE_DEPRECATIONS; } if (icon_set != NULL) gtk_tool_button_set_icon_widget (button, NULL); else if ((icon = gtk_action_get_gicon (action)) != NULL) { GtkIconSize icon_size = gtk_tool_item_get_icon_size (GTK_TOOL_ITEM (button)); GtkWidget *image = gtk_tool_button_get_icon_widget (button); if (!image) { image = gtk_image_new (); gtk_widget_show (image); gtk_tool_button_set_icon_widget (button, image); } gtk_image_set_from_gicon (GTK_IMAGE (image), icon, icon_size); } else if (gtk_action_get_icon_name (action)) gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action)); else gtk_tool_button_set_label (button, gtk_action_get_short_label (action)); }
static void nemo_context_menu_menu_item_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { if (!gtk_activatable_get_use_action_appearance (activatable)) return; if (strcmp (property_name, "label") == 0) activatable_update_label (GTK_MENU_ITEM (activatable), action); else if (strcmp (property_name, "stock-id") == 0) activatable_update_stock_id (GTK_IMAGE_MENU_ITEM (activatable), action); else if (strcmp (property_name, "gicon") == 0) activatable_update_gicon (GTK_IMAGE_MENU_ITEM (activatable), action); else if (strcmp (property_name, "icon-name") == 0) activatable_update_icon_name (GTK_IMAGE_MENU_ITEM (activatable), action); }
static void nemo_context_menu_menu_item_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { NemoContextMenuMenuItem *context_menu_menu_item; context_menu_menu_item = NEMO_CONTEXT_MENU_MENU_ITEM (activatable); if (!action) return; if (!gtk_activatable_get_use_action_appearance (activatable)) return; menu_item_sync_action_properties (context_menu_menu_item, action); gtk_widget_show (GTK_WIDGET (context_menu_menu_item)); }
static void gtk_tool_button_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { GtkToolButton *button; GtkWidget *image; parent_activatable_iface->update (activatable, action, property_name); if (!gtk_activatable_get_use_action_appearance (activatable)) return; button = GTK_TOOL_BUTTON (activatable); if (strcmp (property_name, "short-label") == 0) gtk_tool_button_set_label (button, gtk_action_get_short_label (action)); else if (strcmp (property_name, "stock-id") == 0) gtk_tool_button_set_stock_id (button, gtk_action_get_stock_id (action)); else if (strcmp (property_name, "gicon") == 0) { const gchar *stock_id = gtk_action_get_stock_id (action); GIcon *icon = gtk_action_get_gicon (action); GtkIconSize icon_size = GTK_ICON_SIZE_BUTTON; if ((stock_id && gtk_icon_factory_lookup_default (stock_id)) || !icon) image = NULL; else { image = gtk_tool_button_get_icon_widget (button); icon_size = gtk_tool_item_get_icon_size (GTK_TOOL_ITEM (button)); if (!image) image = gtk_image_new (); } gtk_tool_button_set_icon_widget (button, image); gtk_image_set_from_gicon (GTK_IMAGE (image), icon, icon_size); } else if (strcmp (property_name, "icon-name") == 0) gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action)); }
static void menu_item_sync_action_properties (NemoContextMenuMenuItem *menu_item, GtkAction *action) { GtkImageMenuItem *image_menu_item; GtkActivatable *activatable; GtkWidget *image; gboolean use_appearance; image_menu_item = GTK_IMAGE_MENU_ITEM (menu_item); activatable = GTK_ACTIVATABLE (image_menu_item); if (!action) return; use_appearance = gtk_activatable_get_use_action_appearance (activatable); if (!use_appearance) return; image = gtk_image_menu_item_get_image (image_menu_item); if (image && !GTK_IS_IMAGE (image)) { gtk_image_menu_item_set_image (image_menu_item, NULL); image = NULL; } if (!image) { image = gtk_image_new (); gtk_widget_show (image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (activatable), image); } if (!activatable_update_stock_id (image_menu_item, action) && !activatable_update_gicon (image_menu_item, action)) activatable_update_icon_name (image_menu_item, action); gtk_image_menu_item_set_always_show_image (image_menu_item, gtk_action_get_always_show_image (action)); activatable_update_label (GTK_MENU_ITEM (menu_item), action); }
static void gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkImageMenuItem *image_menu_item; GtkWidget *image; gboolean use_appearance; image_menu_item = GTK_IMAGE_MENU_ITEM (activatable); parent_activatable_iface->sync_action_properties (activatable, action); if (!action) return; use_appearance = gtk_activatable_get_use_action_appearance (activatable); if (!use_appearance) return; image = gtk_image_menu_item_get_image (image_menu_item); if (image && !GTK_IS_IMAGE (image)) { gtk_image_menu_item_set_image (image_menu_item, NULL); image = NULL; } if (!image) { image = gtk_image_new (); gtk_widget_show (image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (activatable), image); } if (!activatable_update_stock_id (image_menu_item, action) && !activatable_update_gicon (image_menu_item, action)) activatable_update_icon_name (image_menu_item, action); }
static void gtk_image_menu_item_update (GtkActivatable *activatable, GtkAction *action, const gchar *property_name) { GtkImageMenuItem *image_menu_item; gboolean use_appearance; image_menu_item = GTK_IMAGE_MENU_ITEM (activatable); parent_activatable_iface->update (activatable, action, property_name); use_appearance = gtk_activatable_get_use_action_appearance (activatable); if (!use_appearance) return; if (strcmp (property_name, "stock-id") == 0) activatable_update_stock_id (image_menu_item, action); else if (strcmp (property_name, "gicon") == 0) activatable_update_gicon (image_menu_item, action); else if (strcmp (property_name, "icon-name") == 0) activatable_update_icon_name (image_menu_item, action); }
static void gtk_check_menu_item_sync_action_properties (GtkActivatable *activatable, GtkAction *action) { GtkCheckMenuItem *check_menu_item; check_menu_item = GTK_CHECK_MENU_ITEM (activatable); parent_activatable_iface->sync_action_properties (activatable, action); if (!GTK_IS_TOGGLE_ACTION (action)) return; gtk_action_block_activate (action); gtk_check_menu_item_set_active (check_menu_item, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); gtk_action_unblock_activate (action); if (!gtk_activatable_get_use_action_appearance (activatable)) return; gtk_check_menu_item_set_draw_as_radio (check_menu_item, gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); }
static void assign_tooltip_from_action(GtkWidget* widget) { GtkAction* action; const gchar * tooltip; action = gtk_activatable_get_related_action(GTK_ACTIVATABLE(widget)); if (!action) return; if (!gtk_activatable_get_use_action_appearance(GTK_ACTIVATABLE(widget))) return; tooltip = gtk_action_get_tooltip(action); if (tooltip) { gtk_widget_set_tooltip_text(widget, tooltip); gtk_widget_set_has_tooltip(widget, TRUE); } else { gtk_widget_set_has_tooltip(widget, FALSE); } }