diff options
author | rhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 16:13:46 +0000 |
---|---|---|
committer | rhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 16:13:46 +0000 |
commit | e79e7c7f129f85625cb050f153a4b022a8b88de3 (patch) | |
tree | 4fdb20839548c7642ff8be8ed5bc0b211f92b928 /chrome/browser/ui | |
parent | bf8f7985cd58e415d27a29dcbccc94585fcb88fd (diff) | |
download | chromium_src-e79e7c7f129f85625cb050f153a4b022a8b88de3.zip chromium_src-e79e7c7f129f85625cb050f153a4b022a8b88de3.tar.gz chromium_src-e79e7c7f129f85625cb050f153a4b022a8b88de3.tar.bz2 |
Convert translate infobar menus from Menu2 to MenuItemView.
BUG=chromium-os:13887
TEST=none
Review URL: http://codereview.chromium.org/6962024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui')
4 files changed, 26 insertions, 23 deletions
diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.cc b/chrome/browser/ui/views/infobars/after_translate_infobar.cc index 6805740..5598c1b 100644 --- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc +++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc @@ -10,7 +10,9 @@ #include "ui/base/l10n/l10n_util.h" #include "views/controls/button/menu_button.h" #include "views/controls/label.h" -#include "views/controls/menu/menu_2.h" +#include "views/controls/menu/menu_item_view.h" +#include "views/controls/menu/menu_model_adapter.h" +#include "views/window/window.h" AfterTranslateInfoBar::AfterTranslateInfoBar( TabContentsWrapper* owner, @@ -24,11 +26,8 @@ AfterTranslateInfoBar::AfterTranslateInfoBar( revert_button_(NULL), options_menu_button_(NULL), original_language_menu_model_(delegate, LanguagesMenuModel::ORIGINAL), - original_language_menu_(new views::Menu2(&original_language_menu_model_)), target_language_menu_model_(delegate, LanguagesMenuModel::TARGET), - target_language_menu_(new views::Menu2(&target_language_menu_model_)), options_menu_model_(delegate), - options_menu_(new views::Menu2(&options_menu_model_)), swapped_language_buttons_(false) { } @@ -166,12 +165,19 @@ void AfterTranslateInfoBar::TargetLanguageChanged() { } void AfterTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) { + ui::MenuModel* menu_model = NULL; if (source == original_language_menu_button_) { - original_language_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); + menu_model = &original_language_menu_model_; } else if (source == target_language_menu_button_) { - target_language_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); + menu_model = &target_language_menu_model_; } else { DCHECK_EQ(options_menu_button_, source); - options_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); + menu_model = &options_menu_model_; } + + views::MenuModelAdapter menu_model_adapter(menu_model); + views::MenuItemView menu(&menu_model_adapter); + menu_model_adapter.BuildMenu(&menu); + menu.RunMenuAt(source->GetWindow()->GetNativeWindow(), NULL, + gfx::Rect(pt, gfx::Size()), views::MenuItemView::TOPRIGHT, true); } diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.h b/chrome/browser/ui/views/infobars/after_translate_infobar.h index 794dc2f..ade2d2b 100644 --- a/chrome/browser/ui/views/infobars/after_translate_infobar.h +++ b/chrome/browser/ui/views/infobars/after_translate_infobar.h @@ -13,7 +13,6 @@ class TranslateInfoBarDelegate; namespace views { -class Menu2; class MenuButton; } @@ -51,13 +50,8 @@ class AfterTranslateInfoBar : public TranslateInfoBarBase, views::MenuButton* options_menu_button_; LanguagesMenuModel original_language_menu_model_; - scoped_ptr<views::Menu2> original_language_menu_; - LanguagesMenuModel target_language_menu_model_; - scoped_ptr<views::Menu2> target_language_menu_; - OptionsMenuModel options_menu_model_; - scoped_ptr<views::Menu2> options_menu_; // True if the target language comes before the original one. bool swapped_language_buttons_; diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.cc b/chrome/browser/ui/views/infobars/before_translate_infobar.cc index 54c966e..fa3e11e 100644 --- a/chrome/browser/ui/views/infobars/before_translate_infobar.cc +++ b/chrome/browser/ui/views/infobars/before_translate_infobar.cc @@ -10,7 +10,9 @@ #include "ui/base/l10n/l10n_util.h" #include "views/controls/button/menu_button.h" #include "views/controls/label.h" -#include "views/controls/menu/menu_2.h" +#include "views/controls/menu/menu_item_view.h" +#include "views/controls/menu/menu_model_adapter.h" +#include "views/window/window.h" BeforeTranslateInfoBar::BeforeTranslateInfoBar( TabContentsWrapper* owner, @@ -25,9 +27,7 @@ BeforeTranslateInfoBar::BeforeTranslateInfoBar( always_translate_button_(NULL), options_menu_button_(NULL), languages_menu_model_(delegate, LanguagesMenuModel::ORIGINAL), - languages_menu_(new views::Menu2(&languages_menu_model_)), - options_menu_model_(delegate), - options_menu_(new views::Menu2(&options_menu_model_)) { + options_menu_model_(delegate) { } BeforeTranslateInfoBar::~BeforeTranslateInfoBar() { @@ -188,10 +188,17 @@ void BeforeTranslateInfoBar::OriginalLanguageChanged() { } void BeforeTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) { + ui::MenuModel* menu_model = NULL; if (source == language_menu_button_) { - languages_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); + menu_model = &languages_menu_model_; } else { DCHECK_EQ(options_menu_button_, source); - options_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); + menu_model = &options_menu_model_; } + + views::MenuModelAdapter menu_model_adapter(menu_model); + views::MenuItemView menu(&menu_model_adapter); + menu_model_adapter.BuildMenu(&menu); + menu.RunMenuAt(source->GetWindow()->GetNativeWindow(), NULL, + gfx::Rect(pt, gfx::Size()), views::MenuItemView::TOPRIGHT, true); } diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.h b/chrome/browser/ui/views/infobars/before_translate_infobar.h index 651d715..c77ac57 100644 --- a/chrome/browser/ui/views/infobars/before_translate_infobar.h +++ b/chrome/browser/ui/views/infobars/before_translate_infobar.h @@ -13,7 +13,6 @@ class TranslateInfoBarDelegate; namespace views { -class Menu2; class MenuButton; } @@ -51,10 +50,7 @@ class BeforeTranslateInfoBar : public TranslateInfoBarBase, views::MenuButton* options_menu_button_; LanguagesMenuModel languages_menu_model_; - scoped_ptr<views::Menu2> languages_menu_; - OptionsMenuModel options_menu_model_; - scoped_ptr<views::Menu2> options_menu_; DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar); }; |