[gtk+/wip/action-helper] gtkapplicationwindow: make accels work again
- From: Lars Uebernickel <larsu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/action-helper] gtkapplicationwindow: make accels work again
- Date: Fri, 10 Aug 2012 11:50:26 +0000 (UTC)
commit 3a3c72ccccf18529bc5fe36752ccb1a43aeff592
Author: Lars Uebernickel <lars uebernickel canonical com>
Date: Fri Aug 10 13:27:02 2012 +0200
gtkapplicationwindow: make accels work again
gtk/gtkapplicationwindow.c | 19 +++++--------------
1 files changed, 5 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c
index 01ceac6..f3363a1 100644
--- a/gtk/gtkapplicationwindow.c
+++ b/gtk/gtkapplicationwindow.c
@@ -22,6 +22,7 @@
#include "gtkapplicationwindow.h"
#include "gtkapplicationprivate.h"
+#include "gtkwidgetprivate.h"
#include "gtkwindowprivate.h"
#include "gtkmodelmenu.h"
#include "gtkaccelgroup.h"
@@ -409,11 +410,6 @@ free_accel_closures (GtkApplicationWindow *window)
window->priv->accel_closures = NULL;
}
-typedef struct {
- GtkApplicationWindow *window;
- GActionGroup *actions;
-} AccelData;
-
/* Hack. We iterate over the accel map instead of the actions,
* in order to pull the parameters out of accel map entries
*/
@@ -424,9 +420,8 @@ add_accel_closure (gpointer data,
GdkModifierType accel_mods,
gboolean changed)
{
- AccelData *d = data;
- GtkApplicationWindow *window = d->window;
- GActionGroup *actions = d->actions;
+ GtkApplicationWindow *window = data;
+ GActionGroup *actions;
const gchar *path;
const gchar *p;
gchar *action_name;
@@ -454,6 +449,7 @@ add_accel_closure (gpointer data,
parameter = NULL;
}
+ actions = G_ACTION_GROUP (_gtk_widget_get_action_muxer (GTK_WIDGET (window)));
if (g_action_group_has_action (actions, action_name))
{
closure = (AccelClosure*) g_closure_new_object (sizeof (AccelClosure), g_object_ref (actions));
@@ -474,14 +470,9 @@ add_accel_closure (gpointer data,
static void
gtk_application_window_update_accels (GtkApplicationWindow *window)
{
- AccelData data;
-
free_accel_closures (window);
- data.window = window;
- data.actions = 0; /* XXX G_ACTION_GROUP (window->priv->muxer); */
-
- gtk_accel_map_foreach (&data, add_accel_closure);
+ gtk_accel_map_foreach (window, add_accel_closure);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]