| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/gtk/menu_gtk.h" | 5 #include "chrome/browser/gtk/menu_gtk.h" |
| 6 | 6 |
| 7 #include "app/gfx/gtk_util.h" | 7 #include "app/gfx/gtk_util.h" |
| 8 #include "app/l10n_util.h" | 8 #include "app/l10n_util.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 if (menu_data->submenu) { | 170 if (menu_data->submenu) { |
| 171 GtkWidget* submenu = gtk_menu_new(); | 171 GtkWidget* submenu = gtk_menu_new(); |
| 172 BuildMenuIn(submenu, menu_data->submenu, accel_group); | 172 BuildMenuIn(submenu, menu_data->submenu, accel_group); |
| 173 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); | 173 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); |
| 174 } else if (menu_data->custom_submenu) { | 174 } else if (menu_data->custom_submenu) { |
| 175 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), | 175 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), |
| 176 menu_data->custom_submenu->menu_.get()); | 176 menu_data->custom_submenu->menu_.get()); |
| 177 submenus_we_own_.push_back(menu_data->custom_submenu); | 177 submenus_we_own_.push_back(menu_data->custom_submenu); |
| 178 } | 178 } |
| 179 | 179 |
| 180 if ((menu_data->only_show || accel_group) && menu_data->accel_key) { | 180 if (menu_data->accel_key) { |
| 181 // If we ever want to let the user do any key remaping, we'll need to | 181 // If we ever want to let the user do any key remaping, we'll need to |
| 182 // change the following so we make a gtk_accel_map which keeps the actual | 182 // change the following so we make a gtk_accel_map which keeps the actual |
| 183 // keys. | 183 // keys. |
| 184 gtk_widget_add_accelerator(menu_item, | 184 gtk_widget_add_accelerator(menu_item, |
| 185 "activate", | 185 "activate", |
| 186 menu_data->only_show ? dummy_accel_group_ : | 186 menu_data->only_show || !accel_group ? |
| 187 accel_group, | 187 dummy_accel_group_ : accel_group, |
| 188 menu_data->accel_key, | 188 menu_data->accel_key, |
| 189 GdkModifierType(menu_data->accel_modifiers), | 189 GdkModifierType(menu_data->accel_modifiers), |
| 190 GTK_ACCEL_VISIBLE); | 190 GTK_ACCEL_VISIBLE); |
| 191 } | 191 } |
| 192 | 192 |
| 193 g_object_set_data(G_OBJECT(menu_item), "menu-data", | 193 g_object_set_data(G_OBJECT(menu_item), "menu-data", |
| 194 const_cast<MenuCreateMaterial*>(menu_data)); | 194 const_cast<MenuCreateMaterial*>(menu_data)); |
| 195 | 195 |
| 196 g_signal_connect(G_OBJECT(menu_item), "activate", | 196 g_signal_connect(G_OBJECT(menu_item), "activate", |
| 197 G_CALLBACK(OnMenuItemActivated), this); | 197 G_CALLBACK(OnMenuItemActivated), this); |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 gtk_widget_set_sensitive( | 363 gtk_widget_set_sensitive( |
| 364 widget, menu->delegate_->IsCommandEnabled(id)); | 364 widget, menu->delegate_->IsCommandEnabled(id)); |
| 365 | 365 |
| 366 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)); | 366 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)); |
| 367 if (submenu) { | 367 if (submenu) { |
| 368 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo, | 368 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo, |
| 369 userdata); | 369 userdata); |
| 370 } | 370 } |
| 371 } | 371 } |
| 372 } | 372 } |
| OLD | NEW |