summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Jardón <jjardon@gnome.org>2010-07-16 18:34:46 +0200
committerJavier Jardón <jjardon@gnome.org>2010-07-19 15:16:03 +0200
commit1bfa931e2033e81d226483394a90cbbbe33a92b1 (patch)
tree44fa332ca3b2f526ca8f4b72b9a991847a3ac152
parent4682d563cff99cc92734bfd9bda53eb8e6041ddf (diff)
downloadgtk+-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.c4
-rw-r--r--gtk/gtktoggleaction.c20
-rw-r--r--gtk/gtktoggleaction.h4
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