Commit cd8243e1 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer
Browse files

Finally enable global accelerators in all docks:

2004-05-05  Michael Natterer  <mitch@gimp.org>

	Finally enable global accelerators in all docks:

	* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
	iterate all of the UI manager's actions and enable their
	accelerators manually. Fixes bug #119878.
parent 58bcea08
2004-05-05 Michael Natterer <mitch@gimp.org>
Finally enable global accelerators in all docks:
* app/widgets/gimpimagedock.c (gimp_image_dock_constructor):
iterate all of the UI manager's actions and enable their
accelerators manually. Fixes bug #119878.
2004-05-05 Sven Neumann <sven@gimp.org>
* app/widgets/gimpviewabledialog.c: added construct properties to
......
......@@ -224,6 +224,9 @@ gimp_image_dock_constructor (GType type,
GObject *object;
GimpImageDock *dock;
GimpMenuFactory *menu_factory;
GtkUIManager *ui_manager;
GtkAccelGroup *accel_group;
GList *groups;
object = G_OBJECT_CLASS (parent_class)->constructor (type, n_params, params);
......@@ -234,8 +237,31 @@ gimp_image_dock_constructor (GType type,
dock->ui_manager = gimp_menu_factory_manager_new (menu_factory, "<Dock>",
dock, FALSE);
gtk_window_add_accel_group (GTK_WINDOW (object),
gtk_ui_manager_get_accel_group (GTK_UI_MANAGER (dock->ui_manager)));
ui_manager = GTK_UI_MANAGER (dock->ui_manager);
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
for (groups = gtk_ui_manager_get_action_groups (ui_manager);
groups;
groups = g_list_next (groups))
{
GList *actions;
GList *list;
actions = gtk_action_group_list_actions (groups->data);
for (list = actions; list; list = g_list_next (list))
{
GtkAction *action = list->data;
gtk_action_set_accel_group (action, accel_group);
gtk_action_connect_accelerator (action);
}
g_list_free (actions);
}
gtk_window_add_accel_group (GTK_WINDOW (object), accel_group);
return object;
}
......
......@@ -224,6 +224,9 @@ gimp_image_dock_constructor (GType type,
GObject *object;
GimpImageDock *dock;
GimpMenuFactory *menu_factory;
GtkUIManager *ui_manager;
GtkAccelGroup *accel_group;
GList *groups;
object = G_OBJECT_CLASS (parent_class)->constructor (type, n_params, params);
......@@ -234,8 +237,31 @@ gimp_image_dock_constructor (GType type,
dock->ui_manager = gimp_menu_factory_manager_new (menu_factory, "<Dock>",
dock, FALSE);
gtk_window_add_accel_group (GTK_WINDOW (object),
gtk_ui_manager_get_accel_group (GTK_UI_MANAGER (dock->ui_manager)));
ui_manager = GTK_UI_MANAGER (dock->ui_manager);
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
for (groups = gtk_ui_manager_get_action_groups (ui_manager);
groups;
groups = g_list_next (groups))
{
GList *actions;
GList *list;
actions = gtk_action_group_list_actions (groups->data);
for (list = actions; list; list = g_list_next (list))
{
GtkAction *action = list->data;
gtk_action_set_accel_group (action, accel_group);
gtk_action_connect_accelerator (action);
}
g_list_free (actions);
}
gtk_window_add_accel_group (GTK_WINDOW (object), accel_group);
return object;
}
......
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