From 7cddc693b0df6761f8e1b2c52b69130baab5f341 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Aug 2003 23:36:37 +0000 Subject: Make this public again, since it's occasionally useful. (#121128, Marco 2003-09-01 Matthias Clasen * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make this public again, since it's occasionally useful. (#121128, Marco Pesenti Gritti) * gtk/gtkaction.c: Add an "is_important" property and propagate it to toolitem proxies. (#121058, Marco Pesenti Gritti) --- gtk/gtkaction.c | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'gtk/gtkaction.c') diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index f1b9e0c613..2b1cb76463 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -51,10 +51,11 @@ struct _GtkActionPrivate gchar *tooltip; gchar *stock_id; /* icon */ - guint sensitive : 1; - guint visible : 1; - guint label_set : 1; /* these two used so we can set label */ + guint sensitive : 1; + guint visible : 1; + guint label_set : 1; /* these two used so we can set label */ guint short_label_set : 1; /* based on stock id */ + guint is_important : 1; /* accelerator */ GQuark accel_quark; @@ -77,6 +78,7 @@ enum PROP_SHORT_LABEL, PROP_TOOLTIP, PROP_STOCK_ID, + PROP_IS_IMPORTANT, PROP_SENSITIVE, PROP_VISIBLE, }; @@ -196,6 +198,13 @@ gtk_action_class_init (GtkActionClass *klass) _("The stock icon displayed in widgets representing this action."), NULL, G_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, + PROP_IS_IMPORTANT, + g_param_spec_boolean ("is_important", + _("Is important"), + _("Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode"), + FALSE, + G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_SENSITIVE, g_param_spec_boolean ("sensitive", @@ -203,7 +212,6 @@ gtk_action_class_init (GtkActionClass *klass) _("Whether the action is enabled."), TRUE, G_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, PROP_VISIBLE, g_param_spec_boolean ("visible", @@ -212,6 +220,7 @@ gtk_action_class_init (GtkActionClass *klass) TRUE, G_PARAM_READWRITE)); + /** * GtkAction::activate: * @action: the #GtkAction @@ -242,6 +251,7 @@ gtk_action_init (GtkAction *action) action->private_data->short_label = NULL; action->private_data->tooltip = NULL; action->private_data->stock_id = NULL; + action->private_data->is_important = FALSE; action->private_data->sensitive = TRUE; action->private_data->visible = TRUE; @@ -348,6 +358,9 @@ gtk_action_set_property (GObject *object, g_object_notify (object, "short_label"); } break; + case PROP_IS_IMPORTANT: + action->private_data->is_important = g_value_get_boolean (value); + break; case PROP_SENSITIVE: action->private_data->sensitive = g_value_get_boolean (value); break; @@ -387,6 +400,9 @@ gtk_action_get_property (GObject *object, case PROP_STOCK_ID: g_value_set_string (value, action->private_data->stock_id); break; + case PROP_IS_IMPORTANT: + g_value_set_boolean (value, action->private_data->is_important); + break; case PROP_SENSITIVE: g_value_set_boolean (value, action->private_data->sensitive); break; @@ -593,18 +609,21 @@ connect_proxy (GtkAction *action, { /* toolbar button specific synchronisers ... */ - /* synchronise the label */ g_object_set (G_OBJECT (proxy), "label", action->private_data->short_label, "use_underline", TRUE, + "stock_id", action->private_data->stock_id, + "is_important", action->private_data->is_important, NULL); g_signal_connect_object (action, "notify::short_label", G_CALLBACK (gtk_action_sync_short_label), - proxy, 0); - - g_object_set (G_OBJECT (proxy), "stock_id", action->private_data->stock_id, NULL); + proxy, 0); g_signal_connect_object (action, "notify::stock_id", - G_CALLBACK (gtk_action_sync_property), proxy, 0); + G_CALLBACK (gtk_action_sync_property), + proxy, 0); + g_signal_connect_object (action, "notify::is_important", + G_CALLBACK (gtk_action_sync_property), + proxy, 0); g_signal_connect_object (proxy, "create_menu_proxy", G_CALLBACK (gtk_action_create_menu_proxy), -- cgit v1.2.1