summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
authorrhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 16:13:46 +0000
committerrhashimoto@chromium.org <rhashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 16:13:46 +0000
commite79e7c7f129f85625cb050f153a4b022a8b88de3 (patch)
tree4fdb20839548c7642ff8be8ed5bc0b211f92b928 /chrome/browser/ui
parentbf8f7985cd58e415d27a29dcbccc94585fcb88fd (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/ui/views/infobars/after_translate_infobar.cc20
-rw-r--r--chrome/browser/ui/views/infobars/after_translate_infobar.h6
-rw-r--r--chrome/browser/ui/views/infobars/before_translate_infobar.cc19
-rw-r--r--chrome/browser/ui/views/infobars/before_translate_infobar.h4
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);
};