diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 20:16:32 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 20:16:32 +0000 |
commit | 6ea309f8db3cadf7abcb2a11ea45c91320b6255b (patch) | |
tree | 9f978a49183d7cfa00ea08007363b85068bdee73 /chrome/browser/gtk/menu_gtk.cc | |
parent | f0c2a66e82c2aa1f4d756150e525df7623e38c18 (diff) | |
download | chromium_src-6ea309f8db3cadf7abcb2a11ea45c91320b6255b.zip chromium_src-6ea309f8db3cadf7abcb2a11ea45c91320b6255b.tar.gz chromium_src-6ea309f8db3cadf7abcb2a11ea45c91320b6255b.tar.bz2 |
GTK browser actions toolbar fiddling:
- make the toolbar size restore properly when the toolbar is created before the model is loaded
- allow the user to right click menu items in the overflow menu
BUG=40068 (sorta)
TEST=manual
Review URL: http://codereview.chromium.org/1602003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43515 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/menu_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/menu_gtk.cc | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/chrome/browser/gtk/menu_gtk.cc b/chrome/browser/gtk/menu_gtk.cc index dd6945d..31c2a55 100644 --- a/chrome/browser/gtk/menu_gtk.cc +++ b/chrome/browser/gtk/menu_gtk.cc @@ -158,49 +158,51 @@ void MenuGtk::ConnectSignalHandlers() { g_signal_connect(menu_, "hide", G_CALLBACK(OnMenuHidden), this); } -void MenuGtk::AppendMenuItemWithLabel(int command_id, - const std::string& label) { +GtkWidget* MenuGtk::AppendMenuItemWithLabel(int command_id, + const std::string& label) { std::string converted_label = ConvertAcceleratorsFromWindowsStyle(label); GtkWidget* menu_item = gtk_menu_item_new_with_mnemonic(converted_label.c_str()); - AppendMenuItem(command_id, menu_item); + return AppendMenuItem(command_id, menu_item); } -void MenuGtk::AppendMenuItemWithIcon(int command_id, - const std::string& label, - const SkBitmap& icon) { +GtkWidget* MenuGtk::AppendMenuItemWithIcon(int command_id, + const std::string& label, + const SkBitmap& icon) { std::string converted_label = ConvertAcceleratorsFromWindowsStyle(label); GtkWidget* menu_item = BuildMenuItemWithImage(converted_label, icon); - AppendMenuItem(command_id, menu_item); + return AppendMenuItem(command_id, menu_item); } -void MenuGtk::AppendCheckMenuItemWithLabel(int command_id, - const std::string& label) { +GtkWidget* MenuGtk::AppendCheckMenuItemWithLabel(int command_id, + const std::string& label) { std::string converted_label = ConvertAcceleratorsFromWindowsStyle(label); GtkWidget* menu_item = gtk_check_menu_item_new_with_mnemonic(converted_label.c_str()); - AppendMenuItem(command_id, menu_item); + return AppendMenuItem(command_id, menu_item); } -void MenuGtk::AppendSeparator() { +GtkWidget* MenuGtk::AppendSeparator() { GtkWidget* menu_item = gtk_separator_menu_item_new(); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu_), menu_item); + return menu_item; } -void MenuGtk::AppendMenuItem(int command_id, GtkWidget* menu_item) { - AppendMenuItemToMenu(command_id, menu_item, menu_); +GtkWidget* MenuGtk::AppendMenuItem(int command_id, GtkWidget* menu_item) { + return AppendMenuItemToMenu(command_id, menu_item, menu_); } -void MenuGtk::AppendMenuItemToMenu(int command_id, - GtkWidget* menu_item, - GtkWidget* menu) { +GtkWidget* MenuGtk::AppendMenuItemToMenu(int command_id, + GtkWidget* menu_item, + GtkWidget* menu) { SetMenuItemID(menu_item, command_id); g_signal_connect(menu_item, "activate", G_CALLBACK(OnMenuItemActivated), this); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + return menu_item; } void MenuGtk::Popup(GtkWidget* widget, GdkEvent* event) { @@ -511,6 +513,9 @@ void MenuGtk::ExecuteCommand(menus::MenuModel* model, int id) { model->ActivatedAt(id); else delegate_->ExecuteCommandById(id); + + if (delegate_) + delegate_->CommandWasExecuted(); } // http://crbug.com/31365 |