diff options
author | Javier Jardón <jjardon@gnome.org> | 2010-07-16 18:34:46 +0200 |
---|---|---|
committer | Javier Jardón <jjardon@gnome.org> | 2010-07-19 15:16:03 +0200 |
commit | 1bfa931e2033e81d226483394a90cbbbe33a92b1 (patch) | |
tree | 44fa332ca3b2f526ca8f4b72b9a991847a3ac152 | |
parent | 4682d563cff99cc92734bfd9bda53eb8e6041ddf (diff) | |
download | gtk+-1bfa931e2033e81d226483394a90cbbbe33a92b1.tar.gz |
Add _gtk_toggle_action_set_active() internal function
It's needed in gtkradioaction
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=624540
-rw-r--r-- | gtk/gtkradioaction.c | 4 | ||||
-rw-r--r-- | gtk/gtktoggleaction.c | 20 | ||||
-rw-r--r-- | gtk/gtktoggleaction.h | 4 |
3 files changed, 26 insertions, 2 deletions
diff --git a/gtk/gtkradioaction.c b/gtk/gtkradioaction.c index 96f1163205..47cb3f4c5c 100644 --- a/gtk/gtkradioaction.c +++ b/gtk/gtkradioaction.c @@ -338,7 +338,7 @@ gtk_radio_action_activate (GtkAction *action) if (gtk_toggle_action_get_active (tmp_action) && (tmp_action != toggle_action)) { - gtk_toggle_action_set_active (toggle_action, !active); + _gtk_toggle_action_set_active (toggle_action, !active); break; } @@ -347,7 +347,7 @@ gtk_radio_action_activate (GtkAction *action) } else { - gtk_toggle_action_set_active (toggle_action, !active); + _gtk_toggle_action_set_active (toggle_action, !active); g_object_notify (G_OBJECT (action), "active"); tmp_list = radio_action->private_data->group; diff --git a/gtk/gtktoggleaction.c b/gtk/gtktoggleaction.c index ae82082613..86ec59ba43 100644 --- a/gtk/gtktoggleaction.c +++ b/gtk/gtktoggleaction.c @@ -364,3 +364,23 @@ create_menu_item (GtkAction *action) "draw-as-radio", toggle_action->private_data->draw_as_radio, NULL); } + + +/* Private */ + +/* + * _gtk_toggle_action_set_active: + * @toggle_action: a #GtkToggleAction + * @is_active: whether the action is active or not + * + * Sets the #GtkToggleAction:active property directly. This function does + * not emit signals or notifications: it is left to the caller to do so. + */ +void +_gtk_toggle_action_set_active (GtkToggleAction *toggle_action, + gboolean is_active) +{ + GtkToggleActionPrivate *priv = toggle_action->private_data; + + priv->active = is_active; +} diff --git a/gtk/gtktoggleaction.h b/gtk/gtktoggleaction.h index c34336ed4a..889615230d 100644 --- a/gtk/gtktoggleaction.h +++ b/gtk/gtktoggleaction.h @@ -84,6 +84,10 @@ void gtk_toggle_action_set_draw_as_radio (GtkToggleAction *action, gboolean draw_as_radio); gboolean gtk_toggle_action_get_draw_as_radio (GtkToggleAction *action); +/* private */ +void _gtk_toggle_action_set_active (GtkToggleAction *toggle_action, + gboolean is_active); + G_END_DECLS |