From 56dddd1cd16e4609462ed1a9e0c9b2bef4ee7c51 Mon Sep 17 00:00:00 2001 From: "carlosgc@webkit.org" Date: Wed, 4 Jul 2012 06:18:20 +0000 Subject: [PATCH] [GTK] Don't show accel labels in context menu items https://bugs.webkit.org/show_bug.cgi?id=90437 Reviewed by Martin Robinson. When a context menu item is created with a GtkMenuItem that has been created from a GtkAction, if the action has an accelerator, it's shown in the menu item label, like menu items in a menu bar. In that case we should reset the accel closure of the menu item label, like GtkUIManager does for popup menus, to make sure the accelerator is not shown. This isn't needed for all other ContextMenuIem constructors, because the GtkAction is created without accelerator by webkit in those cases. * platform/gtk/ContextMenuItemGtk.cpp: (WebCore::ContextMenuItem::ContextMenuItem): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121829 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 19 +++++++++++++++++++ Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp | 11 +++++++++++ 2 files changed, 30 insertions(+) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index d9bdcae..a9520ff 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,22 @@ +2012-07-03 Carlos Garcia Campos + + [GTK] Don't show accel labels in context menu items + https://bugs.webkit.org/show_bug.cgi?id=90437 + + Reviewed by Martin Robinson. + + When a context menu item is created with a GtkMenuItem that has + been created from a GtkAction, if the action has an accelerator, + it's shown in the menu item label, like menu items in a menu + bar. In that case we should reset the accel closure of the menu + item label, like GtkUIManager does for popup menus, to make sure + the accelerator is not shown. This isn't needed for all other + ContextMenuIem constructors, because the GtkAction is created + without accelerator by webkit in those cases. + + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + 2012-07-03 Christophe Dumez [EFL] Move BatteryClientEfl from WebKit to WebCore diff --git a/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp b/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp index 68ae5a5..d70b5be 100644 --- a/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp +++ b/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp @@ -144,6 +144,17 @@ static PlatformMenuItemDescription createPlatformMenuItemDescription(ContextMenu ContextMenuItem::ContextMenuItem(PlatformMenuItemDescription item) : m_platformDescription(item) { + // Don't show accel labels in context menu items. + GtkAction* action = gtkAction(); + if (!action) + return; + + if (!gtk_action_get_accel_path(action)) + return; + + GtkWidget* child = gtk_bin_get_child(GTK_BIN(item)); + if (GTK_IS_ACCEL_LABEL(child)) + gtk_accel_label_set_accel_closure(GTK_ACCEL_LABEL(child), 0); } ContextMenuItem::ContextMenuItem(ContextMenu* subMenu) -- 2.7.4