Commit 9acc9419 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

add visible_horizontal, visible_vertical. (gtk_action_class_init) : here.


2004-01-01  Jody Goldberg <jody@gnome.org>

	* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
	  visible_vertical.
	(gtk_action_class_init) : here.
	(gtk_action_init) : here.
	(gtk_action_set_property) : here.
	(gtk_action_get_property) : here.
	(connect_proxy) : and here.

2003-12-30  Jody Goldberg <jody@gnome.org>

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) :  new
	  utility routine for use in derived GtkActions with the replicated code
	  from.
	(gtk_action_group_add_actions_full) : here.
	(gtk_action_group_add_toggle_actions_full) : here.
	(gtk_action_group_add_radio_actions_full) : and here.

2003-12-24  Jody Goldberg <jody@gnome.org>

	* gtk/gtkactiongroup.h : Add some const to the char * in
	  GtkActionEntry*.  We're reccomending people pass static strings to
	  them, and not freeing them.  This stems to flood of warnings that
	  result.
	* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
	  temp vars to const to match above.
	(gtk_action_group_add_toggle_actions_full) : ditto.
	(gtk_action_group_add_radio_actions_full) : ditto.
parent df6a099e
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2004-01-01 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
......@@ -17,7 +36,7 @@ Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
Fix to allow reasonable pointer behavior in window mode when an
extended input device reports an incorrect resolution of 0. Fixes
......@@ -102,6 +121,17 @@ Tue Dec 23 22:34:50 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by
muppet.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Wed Dec 24 01:12:53 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
......@@ -384,12 +414,12 @@ Wed Dec 17 21:23:01 2003 Kristian Rietveld <kris@gtk.org>
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
......
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2004-01-01 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
......@@ -17,7 +36,7 @@ Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
Fix to allow reasonable pointer behavior in window mode when an
extended input device reports an incorrect resolution of 0. Fixes
......@@ -102,6 +121,17 @@ Tue Dec 23 22:34:50 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by
muppet.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Wed Dec 24 01:12:53 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
......@@ -384,12 +414,12 @@ Wed Dec 17 21:23:01 2003 Kristian Rietveld <kris@gtk.org>
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
......
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2004-01-01 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
......@@ -17,7 +36,7 @@ Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
Fix to allow reasonable pointer behavior in window mode when an
extended input device reports an incorrect resolution of 0. Fixes
......@@ -102,6 +121,17 @@ Tue Dec 23 22:34:50 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by
muppet.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Wed Dec 24 01:12:53 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
......@@ -384,12 +414,12 @@ Wed Dec 17 21:23:01 2003 Kristian Rietveld <kris@gtk.org>
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
......
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2004-01-01 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
......@@ -17,7 +36,7 @@ Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
Fix to allow reasonable pointer behavior in window mode when an
extended input device reports an incorrect resolution of 0. Fixes
......@@ -102,6 +121,17 @@ Tue Dec 23 22:34:50 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by
muppet.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Wed Dec 24 01:12:53 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
......@@ -384,12 +414,12 @@ Wed Dec 17 21:23:01 2003 Kristian Rietveld <kris@gtk.org>
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
......
2004-01-01 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal,
visible_vertical.
(gtk_action_class_init) : here.
(gtk_action_init) : here.
(gtk_action_set_property) : here.
(gtk_action_get_property) : here.
(connect_proxy) : and here.
2003-12-30 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new
utility routine for use in derived GtkActions with the replicated code
from.
(gtk_action_group_add_actions_full) : here.
(gtk_action_group_add_toggle_actions_full) : here.
(gtk_action_group_add_radio_actions_full) : and here.
2004-01-01 Taneem Ahmed <taneem@bengalinux.org>
* configure.in: Added "bn" to ALL_LINGUAS.
......@@ -17,7 +36,7 @@ Fri Jan 2 02:50:11 2004 Matthias Clasen <maclas@gmx.de>
2003-12-31 13:49 Daniel Rogers <dsrogers@phasevelocity.org>
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
* gdk/x11/gdkinput-x11.c: (gdk_input_translate_coordinates)
Fix to allow reasonable pointer behavior in window mode when an
extended input device reports an incorrect resolution of 0. Fixes
......@@ -102,6 +121,17 @@ Tue Dec 23 22:34:50 2003 Manish Singh <yosh@gimp.org>
* gtk/gtkicontheme.h: fix GTK_TYPE_ICON_INFO macro, reported by
muppet.
2003-12-24 Jody Goldberg <jody@gnome.org>
* gtk/gtkactiongroup.h : Add some const to the char * in
GtkActionEntry*. We're reccomending people pass static strings to
them, and not freeing them. This stems to flood of warnings that
result.
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change
temp vars to const to match above.
(gtk_action_group_add_toggle_actions_full) : ditto.
(gtk_action_group_add_radio_actions_full) : ditto.
Wed Dec 24 01:12:53 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkclipboard.[hc]: Add GtkClipboardTargetReceivedFunc,
......@@ -384,12 +414,12 @@ Wed Dec 17 21:23:01 2003 Kristian Rietveld <kris@gtk.org>
2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
2003-12-16 Federico Mena Quintero <federico@ximian.com>
......
......@@ -59,6 +59,8 @@ struct _GtkActionPrivate
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 visible_horizontal : 1;
guint visible_vertical : 1;
guint is_important : 1;
guint hide_if_empty : 1;
......@@ -88,6 +90,8 @@ enum
PROP_SHORT_LABEL,
PROP_TOOLTIP,
PROP_STOCK_ID,
PROP_VISIBLE_HORIZONTAL,
PROP_VISIBLE_VERTICAL,
PROP_IS_IMPORTANT,
PROP_HIDE_IF_EMPTY,
PROP_SENSITIVE,
......@@ -215,6 +219,20 @@ 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_VISIBLE_HORIZONTAL,
g_param_spec_boolean ("visible_horizontal",
_("Visible when horizontal"),
_("Whether the toolbar item is visible when the toolbar is in a horizontal orientation."),
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
PROP_VISIBLE_VERTICAL,
g_param_spec_boolean ("visible_vertical",
_("Visible when vertical"),
_("Whether the toolbar item is visible when the toolbar is in a vertical orientation."),
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class,
PROP_IS_IMPORTANT,
g_param_spec_boolean ("is_important",
......@@ -315,6 +333,8 @@ 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->visible_horizontal = TRUE;
action->private_data->visible_vertical = TRUE;
action->private_data->is_important = FALSE;
action->private_data->hide_if_empty = TRUE;
......@@ -436,6 +456,12 @@ gtk_action_set_property (GObject *object,
g_object_notify (object, "short_label");
}
break;
case PROP_VISIBLE_HORIZONTAL:
action->private_data->visible_horizontal = g_value_get_boolean (value);
break;
case PROP_VISIBLE_VERTICAL:
action->private_data->visible_vertical = g_value_get_boolean (value);
break;
case PROP_IS_IMPORTANT:
action->private_data->is_important = g_value_get_boolean (value);
break;
......@@ -481,6 +507,12 @@ gtk_action_get_property (GObject *object,
case PROP_STOCK_ID:
g_value_set_string (value, action->private_data->stock_id);
break;
case PROP_VISIBLE_HORIZONTAL:
g_value_set_boolean (value, action->private_data->visible_horizontal);
break;
case PROP_VISIBLE_VERTICAL:
g_value_set_boolean (value, action->private_data->visible_vertical);
break;
case PROP_IS_IMPORTANT:
g_value_set_boolean (value, action->private_data->is_important);
break;
......@@ -782,6 +814,8 @@ connect_proxy (GtkAction *action,
"label", action->private_data->short_label,
"use_underline", TRUE,
"stock_id", action->private_data->stock_id,
"visible_horizontal", action->private_data->visible_horizontal,
"visible_vertical", action->private_data->visible_vertical,
"is_important", action->private_data->is_important,
NULL);
/* FIXME: we should set the tooltip here, but the current api
......@@ -793,6 +827,12 @@ connect_proxy (GtkAction *action,
g_signal_connect_object (action, "notify::stock_id",
G_CALLBACK (gtk_action_sync_property),
proxy, 0);
g_signal_connect_object (action, "notify::visible_horizontal",
G_CALLBACK (gtk_action_sync_property),
proxy, 0);
g_signal_connect_object (action, "notify::visible_vertical",
G_CALLBACK (gtk_action_sync_property),
proxy, 0);
g_signal_connect_object (action, "notify::is_important",
G_CALLBACK (gtk_action_sync_property),
proxy, 0);
......
......@@ -293,6 +293,56 @@ gtk_action_group_add_action (GtkActionGroup *action_group,
g_object_ref (action));
}
/**
* gtk_action_group_add_action_with_accel:
* @action_group: the action group (#GtkActionGroup)
* @action : the action to add (#GtkAction)
* @name :
* @accelerator :
* @stock_id :
*
* Adds an action object to the action group and sets up the accelerator.
*
* If @accelerator is NULL, attempt to use the accelerator associated with
* @stock_id.
*
* accel paths are set to
* <literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>.
*
* Since: 2.4
*/
void
gtk_action_group_add_action_with_accel (GtkActionGroup *action_group,
GtkAction *action,
const char *name,
const char *accelerator,
const char *stock_id)
{
gchar *accel_path;
guint accel_key = 0;
GdkModifierType accel_mods;
GtkStockItem stock_item;
accel_path = g_strconcat ("<Actions>/",
action_group->private_data->name, "/", name, NULL);
if (accelerator)
gtk_accelerator_parse (accelerator, &accel_key, &accel_mods);
else if (stock_id && gtk_stock_lookup (stock_id, &stock_item))
{
accel_key = stock_item.keyval;
accel_mods = stock_item.modifier;
}
if (accel_key)
gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
gtk_action_group_add_action (action_group, action);
}
/**
* gtk_action_group_remove_action:
* @action_group: the action group
......@@ -412,12 +462,8 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
for (i = 0; i < n_entries; i++)
{
GtkAction *action;
gchar *accel_path;
guint accel_key = 0;
GdkModifierType accel_mods;
GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
const gchar *label;
const gchar *tooltip;
if (translate_func)
{
......@@ -442,26 +488,10 @@ gtk_action_group_add_actions_full (GtkActionGroup *action_group,
entries[i].callback,
user_data, (GClosureNotify)destroy, 0);
/* set the accel path for the menu item */
accel_path = g_strconcat ("<Actions>/", action_group->private_data->name, "/",
entries[i].name, NULL);
if (entries[i].accelerator)
gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
else if (entries[i].stock_id &&
gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
accel_key = stock_item.keyval;
accel_mods = stock_item.modifier;
}
if (accel_key)
gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
gtk_action_group_add_action (action_group, action);
gtk_action_group_add_action_with_accel (action_group, action,
entries[i].name,
entries[i].accelerator,
entries[i].stock_id);
g_object_unref (action);
}
}
......@@ -529,12 +559,8 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
for (i = 0; i < n_entries; i++)
{
GtkAction *action;
gchar *accel_path;
guint accel_key = 0;
GdkModifierType accel_mods;
GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
const gchar *label;
const gchar *tooltip;
if (translate_func)
{
......@@ -562,26 +588,10 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
entries[i].callback,
user_data, (GClosureNotify)destroy, 0);
/* set the accel path for the menu item */
accel_path = g_strconcat ("<Actions>/", action_group->private_data->name, "/",
entries[i].name, NULL);
if (entries[i].accelerator)
gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
else if (entries[i].stock_id &&
gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
accel_key = stock_item.keyval;
accel_mods = stock_item.modifier;
}
if (accel_key)
gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
gtk_action_group_add_action (action_group, action);
gtk_action_group_add_action_with_accel (action_group, action,
entries[i].name,
entries[i].accelerator,
entries[i].stock_id);
g_object_unref (action);
}
}
......@@ -661,12 +671,8 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
for (i = 0; i < n_entries; i++)
{
GtkAction *action;
gchar *accel_path;
guint accel_key = 0;
GdkModifierType accel_mods;
GtkStockItem stock_item;
gchar *label;
gchar *tooltip;
const gchar *label;
const gchar *tooltip;
if (translate_func)
{
......@@ -695,28 +701,11 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
if (value == entries[i].value)
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
/* set the accel path for the menu item */
accel_path = g_strconcat ("<Actions>/",
action_group->private_data->name, "/",
entries[i].name, NULL);
if (entries[i].accelerator)
gtk_accelerator_parse (entries[i].accelerator, &accel_key, &accel_mods);
else if (entries[i].stock_id &&
gtk_stock_lookup (entries[i].stock_id, &stock_item))
{
accel_key = stock_item.keyval;
accel_mods = stock_item.modifier;
}
if (accel_key)
gtk_accel_map_add_entry (accel_path, accel_key, accel_mods);
gtk_action_set_accel_path (action, accel_path);
g_free (accel_path);
gtk_action_group_add_action (action_group, action);
gtk_action_group_add_action_with_accel (action_group, action,
entries[i].name,
entries[i].accelerator,
entries[i].stock_id);
g_object_unref (action);
}
......
......@@ -74,32 +74,32 @@ struct _GtkActionGroupClass
struct _GtkActionEntry
{
gchar *name;
gchar *stock_id;
gchar *label;
gchar *accelerator;
gchar *tooltip;
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
};
struct _GtkToggleActionEntry
{
gchar *name;
gchar *stock_id;
gchar *label;
gchar *accelerator;
gchar *tooltip;
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
gboolean is_active;
};
struct _GtkRadioActionEntry
{
gchar *name;
gchar *stock_id;
gchar *label;
gchar *accelerator;
gchar *tooltip;
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
gint value;
};
......@@ -111,6 +111,12 @@ GtkAction *gtk_action_group_get_action (GtkActionGroup *
GList *gtk_action_group_list_actions (GtkActionGroup *action_group);
void gtk_action_group_add_action (GtkActionGroup *action_group,
GtkAction *action);
void gtk_action_group_add_action_with_accel (GtkActionGroup *action_group,
GtkAction *action,
const char *name,
const char *accelerator,
const char *stock_id);
void gtk_action_group_remove_action (GtkActionGroup *action_group,
GtkAction *action);
void gtk_action_group_add_actions (GtkActionGroup *action_group,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment