summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/menu_gtk.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 20:16:32 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 20:16:32 +0000
commit6ea309f8db3cadf7abcb2a11ea45c91320b6255b (patch)
tree9f978a49183d7cfa00ea08007363b85068bdee73 /chrome/browser/gtk/menu_gtk.cc
parentf0c2a66e82c2aa1f4d756150e525df7623e38c18 (diff)
downloadchromium_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.cc37
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