diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-15 23:53:46 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-15 23:53:46 +0000 |
commit | 796de69f454b9de23ce143687fdbd76a9b3c9d54 (patch) | |
tree | 555b4389d14e8fbe10805de9013fcb1c5763ef5a /chrome/browser/gtk/menu_gtk.cc | |
parent | cd12f48e108d6be67685dfbd7ded93fd35dff698 (diff) | |
download | chromium_src-796de69f454b9de23ce143687fdbd76a9b3c9d54.zip chromium_src-796de69f454b9de23ce143687fdbd76a9b3c9d54.tar.gz chromium_src-796de69f454b9de23ce143687fdbd76a9b3c9d54.tar.bz2 |
Reverts the previous two commits. (r13812 and r13811).
Review URL: http://codereview.chromium.org/75023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13813 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/menu_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/menu_gtk.cc | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/chrome/browser/gtk/menu_gtk.cc b/chrome/browser/gtk/menu_gtk.cc index 0b2bda0..059755a 100644 --- a/chrome/browser/gtk/menu_gtk.cc +++ b/chrome/browser/gtk/menu_gtk.cc @@ -4,12 +4,36 @@ #include "chrome/browser/gtk/menu_gtk.h" +#include "base/gfx/gtk_util.h" #include "base/logging.h" #include "base/string_util.h" -#include "chrome/common/gtk_util.h" #include "chrome/common/l10n_util.h" #include "skia/include/SkBitmap.h" +namespace { + +// GTK uses _ for accelerators. Windows uses & with && as an escape for &. +std::string ConvertAcceleratorsFromWindowsStyle(const std::string& label) { + std::string ret; + ret.reserve(label.length()); + for (size_t i = 0; i < label.length(); ++i) { + if ('&' == label[i]) { + if (i + 1 < label.length() && '&' == label[i + 1]) { + ret.push_back(label[i]); + ++i; + } else { + ret.push_back('_'); + } + } else { + ret.push_back(label[i]); + } + } + + return ret; +} + +} // namespace + MenuGtk::MenuGtk(MenuGtk::Delegate* delegate, const MenuCreateMaterial* menu_data, GtkAccelGroup* accel_group) @@ -79,28 +103,7 @@ void MenuGtk::PopupAsContext(guint32 event_time) { } void MenuGtk::Cancel() { - gtk_menu_popdown(GTK_MENU(menu_.get())); -} - -// static -std::string MenuGtk::ConvertAcceleratorsFromWindowsStyle( - const std::string& label) { - std::string ret; - ret.reserve(label.length()); - for (size_t i = 0; i < label.length(); ++i) { - if ('&' == label[i]) { - if (i + 1 < label.length() && '&' == label[i + 1]) { - ret.push_back(label[i]); - ++i; - } else { - ret.push_back('_'); - } - } else { - ret.push_back(label[i]); - } - } - - return ret; + gtk_menu_detach(GTK_MENU(menu_.get())); } void MenuGtk::BuildMenuIn(GtkWidget* menu, |