summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/menu_gtk.cc
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-07 21:24:30 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-07 21:24:30 +0000
commit1f1a29aac426314e525b15ae859ebccf094410cf (patch)
tree1b731ac708c09f365d660c7d17a8b18511ae4f02 /chrome/browser/gtk/menu_gtk.cc
parentea7e495adf156b79afb6339ef778c3509bb64315 (diff)
downloadchromium_src-1f1a29aac426314e525b15ae859ebccf094410cf.zip
chromium_src-1f1a29aac426314e525b15ae859ebccf094410cf.tar.gz
chromium_src-1f1a29aac426314e525b15ae859ebccf094410cf.tar.bz2
Implement the "(empty)" disabled item placed in empty bookmark menus.
(As a side effect, this patch also fixes disabled items in the rest of the bookmarks bar.) Review URL: http://codereview.chromium.org/113119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15582 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/menu_gtk.cc')
-rw-r--r--chrome/browser/gtk/menu_gtk.cc34
1 files changed, 20 insertions, 14 deletions
diff --git a/chrome/browser/gtk/menu_gtk.cc b/chrome/browser/gtk/menu_gtk.cc
index 6d12f26..b6df673 100644
--- a/chrome/browser/gtk/menu_gtk.cc
+++ b/chrome/browser/gtk/menu_gtk.cc
@@ -342,26 +342,32 @@ void MenuGtk::MenuPositionFunc(GtkMenu* menu,
// static
void MenuGtk::SetMenuItemInfo(GtkWidget* widget, gpointer userdata) {
MenuGtk* menu = reinterpret_cast<MenuGtk*>(userdata);
+ int id;
+
const MenuCreateMaterial* data =
reinterpret_cast<const MenuCreateMaterial*>(
g_object_get_data(G_OBJECT(widget), "menu-data"));
-
if (data) {
- if (GTK_IS_CHECK_MENU_ITEM(widget)) {
- GtkCheckMenuItem* item = GTK_CHECK_MENU_ITEM(widget);
- gtk_check_menu_item_set_active(
- item, menu->delegate_->IsItemChecked(data->id));
- }
+ id = data->id;
+ } else {
+ id = reinterpret_cast<int>(
+ g_object_get_data(G_OBJECT(widget), "menu-id"));
+ }
+
+ if (GTK_IS_CHECK_MENU_ITEM(widget)) {
+ GtkCheckMenuItem* item = GTK_CHECK_MENU_ITEM(widget);
+ gtk_check_menu_item_set_active(
+ item, menu->delegate_->IsItemChecked(id));
+ }
- if (GTK_IS_MENU_ITEM(widget)) {
- gtk_widget_set_sensitive(
- widget, menu->delegate_->IsCommandEnabled(data->id));
+ if (GTK_IS_MENU_ITEM(widget)) {
+ gtk_widget_set_sensitive(
+ widget, menu->delegate_->IsCommandEnabled(id));
- GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget));
- if (submenu) {
- gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo,
- userdata);
- }
+ GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget));
+ if (submenu) {
+ gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo,
+ userdata);
}
}
}