diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 00:43:17 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 00:43:17 +0000 |
commit | 4cad742a03d30387a9ac9886b54671728b7664c4 (patch) | |
tree | 6cea5001249ae90bfb59a446c2d7aeec896219ad | |
parent | 08b043736c1b650ab171178696fdcdd055525b5c (diff) | |
download | chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.zip chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.tar.gz chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.tar.bz2 |
views: Change MenuItemView API to string16.
BUG=68267
R=sky@chromium.org
Review URL: http://codereview.chromium.org/8352015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106421 0039d316-1c4b-4281-b951-d872f2087c98
17 files changed, 128 insertions, 103 deletions
diff --git a/chrome/browser/chromeos/frame/browser_view.cc b/chrome/browser/chromeos/frame/browser_view.cc index 0581adb..d7bcc0d 100644 --- a/chrome/browser/chromeos/frame/browser_view.cc +++ b/chrome/browser/chromeos/frame/browser_view.cc @@ -19,8 +19,8 @@ #include "chrome/browser/chromeos/status/status_area_view.h" #include "chrome/browser/chromeos/system/runtime_environment.h" #include "chrome/browser/chromeos/view_ids.h" -#include "chrome/browser/themes/theme_service_factory.h" #include "chrome/browser/themes/theme_service.h" +#include "chrome/browser/themes/theme_service_factory.h" #include "chrome/browser/ui/gtk/gtk_util.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view_layout.h" @@ -591,13 +591,11 @@ void BrowserView::InitSystemMenu() { // MenuRunner takes ownership of menu. system_menu_runner_.reset(new views::MenuRunner(menu)); menu->AppendDelegateMenuItem(IDC_RESTORE_TAB); - menu->AppendMenuItemWithLabel( - IDC_NEW_TAB, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_NEW_TAB))); + menu->AppendMenuItemWithLabel(IDC_NEW_TAB, + l10n_util::GetStringUTF16(IDS_NEW_TAB)); menu->AppendSeparator(); - menu->AppendMenuItemWithLabel( - IDC_TASK_MANAGER, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_TASK_MANAGER))); + menu->AppendMenuItemWithLabel(IDC_TASK_MANAGER, + l10n_util::GetStringUTF16(IDS_TASK_MANAGER)); } void BrowserView::FetchHideStatusAreaProperty() { diff --git a/chrome/browser/chromeos/login/language_switch_menu.cc b/chrome/browser/chromeos/login/language_switch_menu.cc index 80fa6df..bb8e3cee 100644 --- a/chrome/browser/chromeos/login/language_switch_menu.cc +++ b/chrome/browser/chromeos/login/language_switch_menu.cc @@ -60,21 +60,19 @@ void LanguageSwitchMenu::InitLanguageMenu() { // Fill menu items with updated items. for (int line = 0; line != kLanguageMainMenuSize; line++) { - menu_->AppendMenuItemWithLabel( - line, - UTF16ToWide(language_list_->GetLanguageNameAt(line))); + menu_->AppendMenuItemWithLabel(line, + language_list_->GetLanguageNameAt(line)); } menu_->AppendSeparator(); views::MenuItemView* submenu = menu_->AppendSubMenu( kMoreLanguagesSubMenu, - UTF16ToWide(l10n_util::GetStringUTF16(IDS_LANGUAGES_MORE))); + l10n_util::GetStringUTF16(IDS_LANGUAGES_MORE)); for (int line = kLanguageMainMenuSize; line != language_list_->languages_count(); ++line) { - submenu->AppendMenuItemWithLabel( - line, - UTF16ToWide(language_list_->GetLanguageNameAt(line))); + submenu->AppendMenuItemWithLabel(line, + language_list_->GetLanguageNameAt(line)); } menu_->ChildrenChanged(); diff --git a/chrome/browser/chromeos/status/accessibility_menu_button.cc b/chrome/browser/chromeos/status/accessibility_menu_button.cc index 2070da1..a4f7f56 100644 --- a/chrome/browser/chromeos/status/accessibility_menu_button.cc +++ b/chrome/browser/chromeos/status/accessibility_menu_button.cc @@ -14,9 +14,9 @@ #include "grit/theme_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" -#include "views/widget/widget.h" -#include "views/controls/menu/menu_runner.h" #include "views/controls/menu/menu_item_view.h" +#include "views/controls/menu/menu_runner.h" +#include "views/widget/widget.h" namespace { @@ -97,9 +97,9 @@ void AccessibilityMenuButton::Update() { void AccessibilityMenuButton::PrepareMenu() { views::MenuItemView* menu = new views::MenuItemView(this); if (accessibility_enabled_.GetValue()) - menu->AppendMenuItemWithLabel(MENU_ITEM_DISABLE_SPOKEN_FEEDBACK, - UTF16ToWide(l10n_util::GetStringUTF16( - IDS_STATUSBAR_DISABLE_SPOKEN_FEEDBACK))); + menu->AppendMenuItemWithLabel( + MENU_ITEM_DISABLE_SPOKEN_FEEDBACK, + l10n_util::GetStringUTF16(IDS_STATUSBAR_DISABLE_SPOKEN_FEEDBACK)); // |menu_runner_| takes the ownership of |menu| menu_runner_.reset(new views::MenuRunner(menu)); } diff --git a/chrome/browser/chromeos/status/caps_lock_menu_button.cc b/chrome/browser/chromeos/status/caps_lock_menu_button.cc index 565079c..7dc5e3e 100644 --- a/chrome/browser/chromeos/status/caps_lock_menu_button.cc +++ b/chrome/browser/chromeos/status/caps_lock_menu_button.cc @@ -198,7 +198,7 @@ void CapsLockMenuButton::RunMenu(views::View* source, const gfx::Point& pt) { menu_runner_.reset(new views::MenuRunner(menu)); views::MenuItemView* submenu = menu->AppendMenuItem( kDummyCommandId, - L"", + string16(), views::MenuItemView::NORMAL); status_ = new CapsLockMenuButton::StatusView(this); submenu->AddChildView(status_); diff --git a/chrome/browser/chromeos/status/clock_menu_button.cc b/chrome/browser/chromeos/status/clock_menu_button.cc index 1d42aa0..deb3036 100644 --- a/chrome/browser/chromeos/status/clock_menu_button.cc +++ b/chrome/browser/chromeos/status/clock_menu_button.cc @@ -20,9 +20,9 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/canvas.h" #include "ui/gfx/font.h" +#include "unicode/datefmt.h" #include "views/controls/menu/menu_runner.h" #include "views/widget/widget.h" -#include "unicode/datefmt.h" namespace { @@ -195,9 +195,8 @@ void ClockMenuButton::EnsureMenu() { const string16 clock_open_options_label = l10n_util::GetStringUTF16(IDS_STATUSBAR_CLOCK_OPEN_OPTIONS_DIALOG); - menu->AppendMenuItemWithLabel( - CLOCK_OPEN_OPTIONS_ITEM, - UTF16ToWide(clock_open_options_label)); + menu->AppendMenuItemWithLabel(CLOCK_OPEN_OPTIONS_ITEM, + clock_open_options_label); } } diff --git a/chrome/browser/chromeos/status/power_menu_button.cc b/chrome/browser/chromeos/status/power_menu_button.cc index 43a4060c..efd4ee1 100644 --- a/chrome/browser/chromeos/status/power_menu_button.cc +++ b/chrome/browser/chromeos/status/power_menu_button.cc @@ -325,9 +325,9 @@ void PowerMenuButton::RunMenu(views::View* source, const gfx::Point& pt) { // MenuRunner takes ownership of |menu|. menu_runner_.reset(new views::MenuRunner(menu)); views::MenuItemView* submenu = menu->AppendMenuItem( - POWER_BATTERY_PERCENTAGE_ITEM, - std::wstring(), - views::MenuItemView::NORMAL); + POWER_BATTERY_PERCENTAGE_ITEM, + string16(), + views::MenuItemView::NORMAL); status_ = new StatusView(this); submenu->AddChildView(status_); menu->CreateSubmenu()->set_resize_open_menu(true); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc index 0972af4..db997b3 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc @@ -88,8 +88,8 @@ void BookmarkContextMenu::CloseMenu() { } void BookmarkContextMenu::AddItemWithStringId(int command_id, int string_id) { - menu_->AppendMenuItemWithLabel( - command_id, UTF16ToWide(l10n_util::GetStringUTF16(string_id))); + menu_->AppendMenuItemWithLabel(command_id, + l10n_util::GetStringUTF16(string_id)); } void BookmarkContextMenu::AddSeparator() { @@ -98,7 +98,7 @@ void BookmarkContextMenu::AddSeparator() { void BookmarkContextMenu::AddCheckboxItem(int command_id, int string_id) { menu_->AppendMenuItem(command_id, - UTF16ToWide(l10n_util::GetStringUTF16(string_id)), + l10n_util::GetStringUTF16(string_id), views::MenuItemView::CHECKBOX); } diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc index 74d5611..fa2e60e 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc @@ -402,8 +402,8 @@ void BookmarkMenuDelegate::BuildOtherFolderMenu( SkBitmap* folder_icon = ResourceBundle::GetSharedInstance(). GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER); MenuItemView* submenu = menu->AppendSubMenuWithIcon( - id, UTF16ToWide( - l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_OTHER_BOOKMARKED)), + id, + l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_OTHER_BOOKMARKED), *folder_icon); BuildMenu(other_folder, 0, submenu, next_menu_id); menu_id_to_node_map_[id] = other_folder; @@ -425,13 +425,13 @@ void BookmarkMenuDelegate::BuildMenu(const BookmarkNode* parent, icon = *ResourceBundle::GetSharedInstance(). GetBitmapNamed(IDR_DEFAULT_FAVICON); } - menu->AppendMenuItemWithIcon(id, UTF16ToWide(node->GetTitle()), icon); + menu->AppendMenuItemWithIcon(id, node->GetTitle(), icon); node_to_menu_id_map_[node] = id; } else if (node->is_folder()) { SkBitmap* folder_icon = ResourceBundle::GetSharedInstance(). GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER); MenuItemView* submenu = menu->AppendSubMenuWithIcon( - id, UTF16ToWide(node->GetTitle()), *folder_icon); + id, node->GetTitle(), *folder_icon); node_to_menu_id_map_[node] = id; BuildMenu(node, 0, submenu, next_menu_id); } else { diff --git a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc index 3cd1a56..5bb9733 100644 --- a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc +++ b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc @@ -41,7 +41,7 @@ BrowserActionOverflowMenuController::BrowserActionOverflowMenuController( scoped_ptr<gfx::Canvas> canvas(view->GetIconWithBadge()); menu_->AppendMenuItemWithIcon( command_id, - UTF8ToWide(view->button()->extension()->name()), + UTF8ToUTF16(view->button()->extension()->name()), canvas->AsCanvasSkia()->ExtractBitmap()); // Set the tooltip for this item. diff --git a/chrome/browser/ui/views/menu_item_view_test.cc b/chrome/browser/ui/views/menu_item_view_test.cc index 32df7a6..aa6ff42 100644 --- a/chrome/browser/ui/views/menu_item_view_test.cc +++ b/chrome/browser/ui/views/menu_item_view_test.cc @@ -119,10 +119,10 @@ class MenuItemViewTestBasic : public MenuItemViewTestBase { // MenuItemViewTestBase implementation virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { - menu->AppendMenuItemWithLabel(1, L"item 1"); - menu->AppendMenuItemWithLabel(2, L"item 2"); + menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); + menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); menu->AppendSeparator(); - menu->AppendMenuItemWithLabel(3, L"item 3"); + menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); } // ViewEventTestBase implementation @@ -183,8 +183,8 @@ class MenuItemViewTestInsert : public MenuItemViewTestBase { // MenuItemViewTestBase implementation virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { - menu->AppendMenuItemWithLabel(1, L"item 1"); - menu->AppendMenuItemWithLabel(2, L"item 2"); + menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); + menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); } // ViewEventTestBase implementation @@ -201,8 +201,10 @@ class MenuItemViewTestInsert : public MenuItemViewTestBase { ASSERT_TRUE(submenu->IsShowing()); ASSERT_EQ(2, submenu->GetMenuItemCount()); - inserted_item_ = menu_->AddMenuItemAt(INSERT_INDEX, 1000, - L"inserted item", SkBitmap(), + inserted_item_ = menu_->AddMenuItemAt(INSERT_INDEX, + 1000, + ASCIIToUTF16("inserted item"), + SkBitmap(), views::MenuItemView::NORMAL); ASSERT_TRUE(inserted_item_); menu_->ChildrenChanged(); @@ -274,10 +276,10 @@ class MenuItemViewTestInsertWithSubmenu : public MenuItemViewTestBase { // MenuItemViewTestBase implementation virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { - submenu_ = menu->AppendSubMenu(1, L"My Submenu"); - submenu_->AppendMenuItemWithLabel(101, L"submenu item 1"); - submenu_->AppendMenuItemWithLabel(101, L"submenu item 2"); - menu->AppendMenuItemWithLabel(2, L"item 2"); + submenu_ = menu->AppendSubMenu(1, ASCIIToUTF16("My Submenu")); + submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); + submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 2")); + menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); } // ViewEventTestBase implementation @@ -294,8 +296,10 @@ class MenuItemViewTestInsertWithSubmenu : public MenuItemViewTestBase { // Insert item at INSERT_INDEX. void Step2() { - inserted_item_ = menu_->AddMenuItemAt(INSERT_INDEX, 1000, - L"inserted item", SkBitmap(), + inserted_item_ = menu_->AddMenuItemAt(INSERT_INDEX, + 1000, + ASCIIToUTF16("inserted item"), + SkBitmap(), views::MenuItemView::NORMAL); ASSERT_TRUE(inserted_item_); menu_->ChildrenChanged(); @@ -339,9 +343,9 @@ class MenuItemViewTestRemove : public MenuItemViewTestBase { // MenuItemViewTestBase implementation virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { - menu->AppendMenuItemWithLabel(1, L"item 1"); - menu->AppendMenuItemWithLabel(2, L"item 2"); - menu->AppendMenuItemWithLabel(3, L"item 3"); + menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); + menu->AppendMenuItemWithLabel(2, ASCIIToUTF16("item 2")); + menu->AppendMenuItemWithLabel(3, ASCIIToUTF16("item 3")); } // ViewEventTestBase implementation @@ -421,10 +425,10 @@ class MenuItemViewTestRemoveWithSubmenu : public MenuItemViewTestBase { // MenuItemViewTestBase implementation virtual void BuildMenu(views::MenuItemView* menu) OVERRIDE { - menu->AppendMenuItemWithLabel(1, L"item 1"); - submenu_ = menu->AppendSubMenu(2, L"My Submenu"); - submenu_->AppendMenuItemWithLabel(101, L"submenu item 1"); - submenu_->AppendMenuItemWithLabel(102, L"submenu item 2"); + menu->AppendMenuItemWithLabel(1, ASCIIToUTF16("item 1")); + submenu_ = menu->AppendSubMenu(2, ASCIIToUTF16("My Submenu")); + submenu_->AppendMenuItemWithLabel(101, ASCIIToUTF16("submenu item 1")); + submenu_->AppendMenuItemWithLabel(102, ASCIIToUTF16("submenu item 2")); } // ViewEventTestBase implementation diff --git a/chrome/browser/ui/views/tab_contents/render_view_context_menu_views.cc b/chrome/browser/ui/views/tab_contents/render_view_context_menu_views.cc index 4391684..3db8224 100644 --- a/chrome/browser/ui/views/tab_contents/render_view_context_menu_views.cc +++ b/chrome/browser/ui/views/tab_contents/render_view_context_menu_views.cc @@ -110,7 +110,7 @@ void RenderViewContextMenuViews::UpdateMenuItem(int command_id, return; item->SetEnabled(enabled); - item->SetTitle(UTF16ToWideHack(title)); + item->SetTitle(title); views::MenuItemView* parent = item->GetParentMenuItem(); if (!parent) diff --git a/chrome/browser/ui/views/wrench_menu.cc b/chrome/browser/ui/views/wrench_menu.cc index c173284..6cf17e8 100644 --- a/chrome/browser/ui/views/wrench_menu.cc +++ b/chrome/browser/ui/views/wrench_menu.cc @@ -809,7 +809,7 @@ void WrenchMenu::PopulateMenu(MenuItemView* parent, DCHECK_LT(i + 2, max); DCHECK_EQ(IDC_COPY, model->GetCommandIdAt(index + 1)); DCHECK_EQ(IDC_PASTE, model->GetCommandIdAt(index + 2)); - item->SetTitle(UTF16ToWide(l10n_util::GetStringUTF16(IDS_EDIT2))); + item->SetTitle(l10n_util::GetStringUTF16(IDS_EDIT2)); item->AddChildView( new CutCopyPasteView(this, model, index, index + 1, index + 2)); i += 2; @@ -819,7 +819,7 @@ void WrenchMenu::PopulateMenu(MenuItemView* parent, DCHECK_EQ(MenuModel::TYPE_COMMAND, model->GetTypeAt(index)); DCHECK_EQ(IDC_ZOOM_PLUS, model->GetCommandIdAt(index + 1)); DCHECK_EQ(IDC_FULLSCREEN, model->GetCommandIdAt(index + 2)); - item->SetTitle(UTF16ToWide(l10n_util::GetStringUTF16(IDS_ZOOM_MENU2))); + item->SetTitle(l10n_util::GetStringUTF16(IDS_ZOOM_MENU2)); item->AddChildView( new ZoomView(this, model, index, index + 1, index + 2)); i += 2; diff --git a/ui/aura_shell/examples/window_type_launcher.cc b/ui/aura_shell/examples/window_type_launcher.cc index fdbdb12..a58d975 100644 --- a/ui/aura_shell/examples/window_type_launcher.cc +++ b/ui/aura_shell/examples/window_type_launcher.cc @@ -151,8 +151,11 @@ void WindowTypeLauncher::ShowContextMenuForView(views::View* source, const gfx::Point& p, bool is_mouse_gesture) { MenuItemView* root = new MenuItemView(this); - root->AppendMenuItem(COMMAND_NEW_WINDOW, L"New Window", MenuItemView::NORMAL); - root->AppendMenuItem(COMMAND_TOGGLE_FULLSCREEN, L"Toggle FullScreen", + root->AppendMenuItem(COMMAND_NEW_WINDOW, + ASCIIToUTF16("New Window"), + MenuItemView::NORMAL); + root->AppendMenuItem(COMMAND_TOGGLE_FULLSCREEN, + ASCIIToUTF16("Toggle FullScreen"), MenuItemView::NORMAL); // MenuRunner takes ownership of root. menu_runner_.reset(new MenuRunner(root)); diff --git a/views/controls/combobox/native_combobox_views.cc b/views/controls/combobox/native_combobox_views.cc index e1f436d..44c6838 100644 --- a/views/controls/combobox/native_combobox_views.cc +++ b/views/controls/combobox/native_combobox_views.cc @@ -177,8 +177,7 @@ void NativeComboboxViews::UpdateFromModel() { // text is displayed correctly in right-to-left UIs. base::i18n::AdjustStringForLocaleDirection(&text); - menu->AppendMenuItem(i + kFirstMenuItemId, UTF16ToWideHack(text), - MenuItemView::NORMAL); + menu->AppendMenuItem(i + kFirstMenuItemId, text, MenuItemView::NORMAL); max_width = std::max(max_width, font.GetStringWidth(text)); } diff --git a/views/controls/menu/menu_item_view.cc b/views/controls/menu/menu_item_view.cc index 67674fc..fec96ab 100644 --- a/views/controls/menu/menu_item_view.cc +++ b/views/controls/menu/menu_item_view.cc @@ -35,8 +35,7 @@ class EmptyMenuMenuItem : public MenuItemView { : MenuItemView(parent, 0, EMPTY) { // Set this so that we're not identified as a normal menu item. set_id(kEmptyMenuItemViewID); - SetTitle(UTF16ToWide( - l10n_util::GetStringUTF16(IDS_APP_MENU_EMPTY_SUBMENU))); + SetTitle(l10n_util::GetStringUTF16(IDS_APP_MENU_EMPTY_SUBMENU)); SetEnabled(false); } @@ -191,7 +190,7 @@ void MenuItemView::Cancel() { MenuItemView* MenuItemView::AddMenuItemAt(int index, int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type) { DCHECK_NE(type, EMPTY); @@ -205,7 +204,7 @@ MenuItemView* MenuItemView::AddMenuItemAt(int index, } MenuItemView* item = new MenuItemView(this, item_id, type); if (label.empty() && GetDelegate()) - item->SetTitle(UTF16ToWideHack(GetDelegate()->GetLabel(item_id))); + item->SetTitle(GetDelegate()->GetLabel(item_id)); else item->SetTitle(label); item->SetIcon(icon); @@ -230,26 +229,62 @@ void MenuItemView::RemoveMenuItemAt(int index) { removed_items_.push_back(item); } +MenuItemView* MenuItemView::AppendMenuItem(int item_id, + const string16& label, + Type type) { + return AppendMenuItemImpl(item_id, label, SkBitmap(), type); +} + +MenuItemView* MenuItemView::AppendSubMenu(int item_id, + const string16& label) { + return AppendMenuItemImpl(item_id, label, SkBitmap(), SUBMENU); +} + +MenuItemView* MenuItemView::AppendSubMenuWithIcon(int item_id, + const string16& label, + const SkBitmap& icon) { + return AppendMenuItemImpl(item_id, label, icon, SUBMENU); +} + +MenuItemView* MenuItemView::AppendMenuItemWithLabel(int item_id, + const string16& label) { + return AppendMenuItem(item_id, label, NORMAL); +} + +MenuItemView* MenuItemView::AppendDelegateMenuItem(int item_id) { + return AppendMenuItem(item_id, string16(), NORMAL); +} + +void MenuItemView::AppendSeparator() { + AppendMenuItemImpl(0, string16(), SkBitmap(), SEPARATOR); +} + +MenuItemView* MenuItemView::AppendMenuItemWithIcon(int item_id, + const string16& label, + const SkBitmap& icon) { + return AppendMenuItemImpl(item_id, label, icon, NORMAL); +} + MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, int index, int id) { SkBitmap icon; - std::wstring label; + string16 label; MenuItemView::Type type; ui::MenuModel::ItemType menu_type = model->GetTypeAt(index); switch (menu_type) { case ui::MenuModel::TYPE_COMMAND: model->GetIconAt(index, &icon); type = MenuItemView::NORMAL; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_CHECK: type = MenuItemView::CHECKBOX; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_RADIO: type = MenuItemView::RADIO; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_SEPARATOR: type = MenuItemView::SEPARATOR; @@ -257,7 +292,7 @@ MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, case ui::MenuModel::TYPE_SUBMENU: model->GetIconAt(index, &icon); type = MenuItemView::SUBMENU; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; default: NOTREACHED(); @@ -269,7 +304,7 @@ MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, } MenuItemView* MenuItemView::AppendMenuItemImpl(int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type) { const int index = submenu_ ? submenu_->child_count() : 0; @@ -290,8 +325,8 @@ SubmenuView* MenuItemView::GetSubmenu() const { return submenu_; } -void MenuItemView::SetTitle(const std::wstring& title) { - title_ = WideToUTF16Hack(title); +void MenuItemView::SetTitle(const string16& title) { + title_ = title; accessible_name_ = GetAccessibleNameForMenuItem(title_, GetAcceleratorText()); pref_size_.SetSize(0, 0); // Triggers preferred size recalculation. } @@ -498,7 +533,7 @@ void MenuItemView::UpdateMenuPartSizes(bool has_icons) { label_start_ += config.gutter_width + config.gutter_to_label; MenuItemView menu_item(NULL); - menu_item.SetTitle(L"blah"); // Text doesn't matter here. + menu_item.SetTitle(ASCIIToUTF16("blah")); // Text doesn't matter here. pref_menu_height_ = menu_item.GetPreferredSize().height(); } diff --git a/views/controls/menu/menu_item_view.h b/views/controls/menu/menu_item_view.h index bb8add9..68d35ea 100644 --- a/views/controls/menu/menu_item_view.h +++ b/views/controls/menu/menu_item_view.h @@ -9,11 +9,14 @@ #include <string> #include <vector> +#include "build/build_config.h" + #if defined(OS_WIN) #include <windows.h> #endif #include "base/logging.h" +#include "base/string16.h" #include "third_party/skia/include/core/SkBitmap.h" #include "views/view.h" @@ -131,7 +134,7 @@ class VIEWS_EXPORT MenuItemView : public View { // called after adding menu items if the menu may be active. MenuItemView* AddMenuItemAt(int index, int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type); @@ -149,52 +152,38 @@ class VIEWS_EXPORT MenuItemView : public View { // label The text label shown. // type The type of item. MenuItemView* AppendMenuItem(int item_id, - const std::wstring& label, - Type type) { - return AppendMenuItemImpl(item_id, label, SkBitmap(), type); - } + const string16& label, + Type type); // Append a submenu to this menu. // The returned pointer is owned by this menu. MenuItemView* AppendSubMenu(int item_id, - const std::wstring& label) { - return AppendMenuItemImpl(item_id, label, SkBitmap(), SUBMENU); - } + const string16& label); // Append a submenu with an icon to this menu. // The returned pointer is owned by this menu. MenuItemView* AppendSubMenuWithIcon(int item_id, - const std::wstring& label, - const SkBitmap& icon) { - return AppendMenuItemImpl(item_id, label, icon, SUBMENU); - } + const string16& label, + const SkBitmap& icon); // This is a convenience for standard text label menu items where the label // is provided with this call. MenuItemView* AppendMenuItemWithLabel(int item_id, - const std::wstring& label) { - return AppendMenuItem(item_id, label, NORMAL); - } + const string16& label); // This is a convenience for text label menu items where the label is // provided by the delegate. - MenuItemView* AppendDelegateMenuItem(int item_id) { - return AppendMenuItem(item_id, std::wstring(), NORMAL); - } + MenuItemView* AppendDelegateMenuItem(int item_id); // Adds a separator to this menu - void AppendSeparator() { - AppendMenuItemImpl(0, std::wstring(), SkBitmap(), SEPARATOR); - } + void AppendSeparator(); // Appends a menu item with an icon. This is for the menu item which // needs an icon. Calling this function forces the Menu class to draw // the menu, instead of relying on Windows. MenuItemView* AppendMenuItemWithIcon(int item_id, - const std::wstring& label, - const SkBitmap& icon) { - return AppendMenuItemImpl(item_id, label, icon, NORMAL); - } + const string16& label, + const SkBitmap& icon); // Creates a menu item for the specified entry in the model and appends it as // a child. |index| should be offset by GetFirstItemIndex() before calling @@ -205,7 +194,7 @@ class VIEWS_EXPORT MenuItemView : public View { // All the AppendXXX methods funnel into this. MenuItemView* AppendMenuItemImpl(int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type); @@ -223,7 +212,7 @@ class VIEWS_EXPORT MenuItemView : public View { MenuItemView* GetParentMenuItem() const { return parent_menu_item_; } // Sets/Gets the title. - void SetTitle(const std::wstring& title); + void SetTitle(const string16& title); const string16& title() const { return title_; } // Returns the type of this menu. diff --git a/views/controls/menu/native_menu_views.cc b/views/controls/menu/native_menu_views.cc index 9fe5ee8..10d3ccf 100644 --- a/views/controls/menu/native_menu_views.cc +++ b/views/controls/menu/native_menu_views.cc @@ -144,7 +144,7 @@ void NativeMenuViews::UpdateMenuFromModel(SubmenuView* menu, mitem->SetVisible(model->IsVisibleAt(index)); mitem->SetEnabled(model->IsEnabledAt(index)); if (model->IsItemDynamicAt(index)) { - mitem->SetTitle(UTF16ToWide(model->GetLabelAt(index))); + mitem->SetTitle(model->GetLabelAt(index)); } SkBitmap icon; |