| Index: chrome/browser/wrench_menu_model.cc
|
| ===================================================================
|
| --- chrome/browser/wrench_menu_model.cc (revision 68008)
|
| +++ chrome/browser/wrench_menu_model.cc (working copy)
|
| @@ -1,539 +0,0 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/wrench_menu_model.h"
|
| -
|
| -#include <algorithm>
|
| -#include <cmath>
|
| -
|
| -#include "app/l10n_util.h"
|
| -#include "app/menus/button_menu_item_model.h"
|
| -#include "app/resource_bundle.h"
|
| -#include "base/command_line.h"
|
| -#include "base/i18n/number_formatting.h"
|
| -#include "base/string_number_conversions.h"
|
| -#include "base/string_util.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/app/chrome_command_ids.h"
|
| -#include "chrome/browser/background_page_tracker.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#include "chrome/browser/defaults.h"
|
| -#include "chrome/browser/encoding_menu_controller.h"
|
| -#include "chrome/browser/profile.h"
|
| -#include "chrome/browser/prefs/pref_service.h"
|
| -#include "chrome/browser/sync/profile_sync_service.h"
|
| -#include "chrome/browser/sync/sync_ui_util.h"
|
| -#include "chrome/browser/tab_contents/tab_contents.h"
|
| -#include "chrome/browser/tabs/tab_strip_model.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/upgrade_detector.h"
|
| -#include "chrome/common/badge_util.h"
|
| -#include "chrome/common/chrome_switches.h"
|
| -#include "chrome/common/notification_service.h"
|
| -#include "chrome/common/notification_source.h"
|
| -#include "chrome/common/notification_type.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "grit/chromium_strings.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "grit/theme_resources.h"
|
| -
|
| -#if defined(OS_LINUX)
|
| -#include <gtk/gtk.h>
|
| -#include "chrome/browser/gtk/gtk_util.h"
|
| -#endif
|
| -
|
| -#if defined(OS_MACOSX)
|
| -#include "chrome/browser/browser_window.h"
|
| -#endif
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| -#include "chrome/browser/chromeos/cros/cros_library.h"
|
| -#include "chrome/browser/chromeos/cros/update_library.h"
|
| -#endif
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "chrome/browser/enumerate_modules_model_win.h"
|
| -#endif
|
| -
|
| -// The size of the font used for dynamic text overlays on menu items.
|
| -const float kMenuBadgeFontSize = 12.0;
|
| -
|
| -namespace {
|
| -SkBitmap GetBackgroundPageIcon() {
|
| - string16 pages = base::FormatNumber(
|
| - BackgroundPageTracker::GetSingleton()->GetBackgroundPageCount());
|
| - return badge_util::DrawBadgeIconOverlay(
|
| - *ResourceBundle::GetSharedInstance().GetBitmapNamed(IDR_BACKGROUND_MENU),
|
| - kMenuBadgeFontSize,
|
| - pages,
|
| - l10n_util::GetStringUTF16(IDS_BACKGROUND_PAGE_BADGE_OVERFLOW));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// EncodingMenuModel
|
| -
|
| -EncodingMenuModel::EncodingMenuModel(Browser* browser)
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(menus::SimpleMenuModel(this)),
|
| - browser_(browser) {
|
| - Build();
|
| -}
|
| -
|
| -EncodingMenuModel::~EncodingMenuModel() {
|
| -}
|
| -
|
| -void EncodingMenuModel::Build() {
|
| - EncodingMenuController::EncodingMenuItemList encoding_menu_items;
|
| - EncodingMenuController encoding_menu_controller;
|
| - encoding_menu_controller.GetEncodingMenuItems(browser_->profile(),
|
| - &encoding_menu_items);
|
| -
|
| - int group_id = 0;
|
| - EncodingMenuController::EncodingMenuItemList::iterator it =
|
| - encoding_menu_items.begin();
|
| - for (; it != encoding_menu_items.end(); ++it) {
|
| - int id = it->first;
|
| - string16& label = it->second;
|
| - if (id == 0) {
|
| - AddSeparator();
|
| - } else {
|
| - if (id == IDC_ENCODING_AUTO_DETECT) {
|
| - AddCheckItem(id, label);
|
| - } else {
|
| - // Use the id of the first radio command as the id of the group.
|
| - if (group_id <= 0)
|
| - group_id = id;
|
| - AddRadioItem(id, label, group_id);
|
| - }
|
| - }
|
| - }
|
| -}
|
| -
|
| -bool EncodingMenuModel::IsCommandIdChecked(int command_id) const {
|
| - TabContents* current_tab = browser_->GetSelectedTabContents();
|
| - if (!current_tab)
|
| - return false;
|
| - EncodingMenuController controller;
|
| - return controller.IsItemChecked(browser_->profile(),
|
| - current_tab->encoding(), command_id);
|
| -}
|
| -
|
| -bool EncodingMenuModel::IsCommandIdEnabled(int command_id) const {
|
| - bool enabled = browser_->command_updater()->IsCommandEnabled(command_id);
|
| - // Special handling for the contents of the Encoding submenu. On Mac OS,
|
| - // instead of enabling/disabling the top-level menu item, the submenu's
|
| - // contents get disabled, per Apple's HIG.
|
| -#if defined(OS_MACOSX)
|
| - enabled &= browser_->command_updater()->IsCommandEnabled(IDC_ENCODING_MENU);
|
| -#endif
|
| - return enabled;
|
| -}
|
| -
|
| -bool EncodingMenuModel::GetAcceleratorForCommandId(
|
| - int command_id,
|
| - menus::Accelerator* accelerator) {
|
| - return false;
|
| -}
|
| -
|
| -void EncodingMenuModel::ExecuteCommand(int command_id) {
|
| - browser_->ExecuteCommand(command_id);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// ZoomMenuModel
|
| -
|
| -ZoomMenuModel::ZoomMenuModel(menus::SimpleMenuModel::Delegate* delegate)
|
| - : SimpleMenuModel(delegate) {
|
| - Build();
|
| -}
|
| -
|
| -ZoomMenuModel::~ZoomMenuModel() {
|
| -}
|
| -
|
| -void ZoomMenuModel::Build() {
|
| - AddItemWithStringId(IDC_ZOOM_PLUS, IDS_ZOOM_PLUS);
|
| - AddItemWithStringId(IDC_ZOOM_NORMAL, IDS_ZOOM_NORMAL);
|
| - AddItemWithStringId(IDC_ZOOM_MINUS, IDS_ZOOM_MINUS);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// ToolsMenuModel
|
| -
|
| -ToolsMenuModel::ToolsMenuModel(menus::SimpleMenuModel::Delegate* delegate,
|
| - Browser* browser)
|
| - : SimpleMenuModel(delegate) {
|
| - Build(browser);
|
| -}
|
| -
|
| -ToolsMenuModel::~ToolsMenuModel() {}
|
| -
|
| -void ToolsMenuModel::Build(Browser* browser) {
|
| - AddCheckItemWithStringId(IDC_SHOW_BOOKMARK_BAR, IDS_SHOW_BOOKMARK_BAR);
|
| -
|
| - AddSeparator();
|
| -
|
| -#if !defined(OS_CHROMEOS)
|
| -#if defined(OS_MACOSX)
|
| - AddItemWithStringId(IDC_CREATE_SHORTCUTS, IDS_CREATE_APPLICATION_MAC);
|
| -#else
|
| - AddItemWithStringId(IDC_CREATE_SHORTCUTS, IDS_CREATE_SHORTCUTS);
|
| -#endif
|
| - AddSeparator();
|
| -#endif
|
| -
|
| - AddItemWithStringId(IDC_MANAGE_EXTENSIONS, IDS_SHOW_EXTENSIONS);
|
| - AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
|
| - AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
|
| -
|
| - AddSeparator();
|
| -#if defined(OS_CHROMEOS)
|
| - AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK);
|
| - AddSeparator();
|
| -#endif
|
| -
|
| - encoding_menu_model_.reset(new EncodingMenuModel(browser));
|
| - AddSubMenuWithStringId(IDC_ENCODING_MENU, IDS_ENCODING_MENU,
|
| - encoding_menu_model_.get());
|
| - AddItemWithStringId(IDC_VIEW_SOURCE, IDS_VIEW_SOURCE);
|
| - if (g_browser_process->have_inspector_files()) {
|
| - AddItemWithStringId(IDC_DEV_TOOLS, IDS_DEV_TOOLS);
|
| - AddItemWithStringId(IDC_DEV_TOOLS_CONSOLE, IDS_DEV_TOOLS_CONSOLE);
|
| - }
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// WrenchMenuModel
|
| -
|
| -WrenchMenuModel::WrenchMenuModel(menus::AcceleratorProvider* provider,
|
| - Browser* browser)
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(menus::SimpleMenuModel(this)),
|
| - provider_(provider),
|
| - browser_(browser),
|
| - tabstrip_model_(browser_->tabstrip_model()) {
|
| - Build();
|
| - UpdateZoomControls();
|
| -
|
| - tabstrip_model_->AddObserver(this);
|
| -
|
| - registrar_.Add(this, NotificationType::ZOOM_LEVEL_CHANGED,
|
| - Source<Profile>(browser_->profile()));
|
| - registrar_.Add(this, NotificationType::NAV_ENTRY_COMMITTED,
|
| - NotificationService::AllSources());
|
| - registrar_.Add(this,
|
| - NotificationType::BACKGROUND_PAGE_TRACKER_CHANGED,
|
| - NotificationService::AllSources());
|
| -}
|
| -
|
| -WrenchMenuModel::~WrenchMenuModel() {
|
| - if (tabstrip_model_)
|
| - tabstrip_model_->RemoveObserver(this);
|
| -}
|
| -
|
| -bool WrenchMenuModel::DoesCommandIdDismissMenu(int command_id) const {
|
| - return command_id != IDC_ZOOM_MINUS && command_id != IDC_ZOOM_PLUS;
|
| -}
|
| -
|
| -bool WrenchMenuModel::IsLabelForCommandIdDynamic(int command_id) const {
|
| - return command_id == IDC_ZOOM_PERCENT_DISPLAY ||
|
| -#if defined(OS_MACOSX)
|
| - command_id == IDC_FULLSCREEN ||
|
| -#endif
|
| - command_id == IDC_SYNC_BOOKMARKS ||
|
| - command_id == IDC_VIEW_BACKGROUND_PAGES;
|
| -}
|
| -
|
| -string16 WrenchMenuModel::GetLabelForCommandId(int command_id) const {
|
| - switch (command_id) {
|
| - case IDC_SYNC_BOOKMARKS:
|
| - return GetSyncMenuLabel();
|
| - case IDC_ZOOM_PERCENT_DISPLAY:
|
| - return zoom_label_;
|
| -#if defined(OS_MACOSX)
|
| - case IDC_FULLSCREEN: {
|
| - int string_id = IDS_ENTER_FULLSCREEN_MAC; // Default to Enter.
|
| - // Note: On startup, |window()| may be NULL.
|
| - if (browser_->window() && browser_->window()->IsFullscreen())
|
| - string_id = IDS_EXIT_FULLSCREEN_MAC;
|
| - return l10n_util::GetStringUTF16(string_id);
|
| - }
|
| -#endif
|
| - case IDC_VIEW_BACKGROUND_PAGES: {
|
| - string16 num_background_pages = base::FormatNumber(
|
| - BackgroundPageTracker::GetSingleton()->GetBackgroundPageCount());
|
| - return l10n_util::GetStringFUTF16(IDS_VIEW_BACKGROUND_PAGES,
|
| - num_background_pages);
|
| - }
|
| - default:
|
| - NOTREACHED();
|
| - return string16();
|
| - }
|
| -}
|
| -
|
| -void WrenchMenuModel::ExecuteCommand(int command_id) {
|
| - browser_->ExecuteCommand(command_id);
|
| -}
|
| -
|
| -bool WrenchMenuModel::IsCommandIdChecked(int command_id) const {
|
| - if (command_id == IDC_SHOW_BOOKMARK_BAR) {
|
| - return browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar);
|
| - }
|
| -
|
| - return false;
|
| -}
|
| -
|
| -bool WrenchMenuModel::IsCommandIdEnabled(int command_id) const {
|
| -#if defined(OS_CHROMEOS)
|
| - // Special case because IDC_NEW_WINDOW item should be disabled in BWSI mode,
|
| - // but accelerator should work.
|
| - if (command_id == IDC_NEW_WINDOW &&
|
| - CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession))
|
| - return false;
|
| -#endif
|
| -
|
| - return browser_->command_updater()->IsCommandEnabled(command_id);
|
| -}
|
| -
|
| -bool WrenchMenuModel::IsCommandIdVisible(int command_id) const {
|
| - if (command_id == IDC_UPGRADE_DIALOG) {
|
| -#if defined(OS_CHROMEOS)
|
| - return (chromeos::CrosLibrary::Get()->GetUpdateLibrary()->status().status
|
| - == chromeos::UPDATE_STATUS_UPDATED_NEED_REBOOT);
|
| -#else
|
| - return Singleton<UpgradeDetector>::get()->notify_upgrade();
|
| -#endif
|
| - } else if (command_id == IDC_VIEW_INCOMPATIBILITIES) {
|
| -#if defined(OS_WIN)
|
| - EnumerateModulesModel* loaded_modules =
|
| - EnumerateModulesModel::GetSingleton();
|
| - return loaded_modules->confirmed_bad_modules_detected() > 0;
|
| -#else
|
| - return false;
|
| -#endif
|
| - } else if (command_id == IDC_VIEW_BACKGROUND_PAGES) {
|
| - BackgroundPageTracker* tracker = BackgroundPageTracker::GetSingleton();
|
| - return tracker->GetBackgroundPageCount() > 0;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -bool WrenchMenuModel::GetAcceleratorForCommandId(
|
| - int command_id,
|
| - menus::Accelerator* accelerator) {
|
| - return provider_->GetAcceleratorForCommandId(command_id, accelerator);
|
| -}
|
| -
|
| -void WrenchMenuModel::TabSelectedAt(TabContentsWrapper* old_contents,
|
| - TabContentsWrapper* new_contents,
|
| - int index,
|
| - bool user_gesture) {
|
| - // The user has switched between tabs and the new tab may have a different
|
| - // zoom setting.
|
| - UpdateZoomControls();
|
| -}
|
| -
|
| -void WrenchMenuModel::TabReplacedAt(TabContentsWrapper* old_contents,
|
| - TabContentsWrapper* new_contents,
|
| - int index) {
|
| - UpdateZoomControls();
|
| -}
|
| -
|
| -void WrenchMenuModel::TabStripModelDeleted() {
|
| - // During views shutdown, the tabstrip model/browser is deleted first, while
|
| - // it is the opposite in gtk land.
|
| - tabstrip_model_->RemoveObserver(this);
|
| - tabstrip_model_ = NULL;
|
| -}
|
| -
|
| -void WrenchMenuModel::Observe(NotificationType type,
|
| - const NotificationSource& source,
|
| - const NotificationDetails& details) {
|
| - switch (type.value) {
|
| - case NotificationType::BACKGROUND_PAGE_TRACKER_CHANGED: {
|
| - int num_pages = BackgroundPageTracker::GetSingleton()->
|
| - GetUnacknowledgedBackgroundPageCount();
|
| - if (num_pages > 0) {
|
| - SetIcon(GetIndexOfCommandId(IDC_VIEW_BACKGROUND_PAGES),
|
| - GetBackgroundPageIcon());
|
| - } else {
|
| - // Just set a blank icon (no icon).
|
| - SetIcon(GetIndexOfCommandId(IDC_VIEW_BACKGROUND_PAGES), SkBitmap());
|
| - }
|
| - break;
|
| - }
|
| - case NotificationType::ZOOM_LEVEL_CHANGED:
|
| - case NotificationType::NAV_ENTRY_COMMITTED:
|
| - UpdateZoomControls();
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - }
|
| -}
|
| -
|
| -// For testing.
|
| -WrenchMenuModel::WrenchMenuModel()
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(menus::SimpleMenuModel(this)),
|
| - provider_(NULL),
|
| - browser_(NULL),
|
| - tabstrip_model_(NULL) {
|
| -}
|
| -
|
| -void WrenchMenuModel::Build() {
|
| - AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB);
|
| - AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW);
|
| - AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW,
|
| - IDS_NEW_INCOGNITO_WINDOW);
|
| -
|
| - AddSeparator();
|
| -#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(TOOLKIT_VIEWS))
|
| - // WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the
|
| - // layout for this menu item in Toolbar.xib. It does, however, use the
|
| - // command_id value from AddButtonItem() to identify this special item.
|
| - edit_menu_item_model_.reset(new menus::ButtonMenuItemModel(IDS_EDIT, this));
|
| - edit_menu_item_model_->AddGroupItemWithStringId(IDC_CUT, IDS_CUT);
|
| - edit_menu_item_model_->AddGroupItemWithStringId(IDC_COPY, IDS_COPY);
|
| - edit_menu_item_model_->AddGroupItemWithStringId(IDC_PASTE, IDS_PASTE);
|
| - AddButtonItem(IDC_EDIT_MENU, edit_menu_item_model_.get());
|
| -#else
|
| - // TODO(port): Move to the above.
|
| - CreateCutCopyPaste();
|
| -#endif
|
| -
|
| - AddSeparator();
|
| -#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(TOOLKIT_VIEWS))
|
| - // WARNING: See above comment.
|
| - zoom_menu_item_model_.reset(
|
| - new menus::ButtonMenuItemModel(IDS_ZOOM_MENU, this));
|
| - zoom_menu_item_model_->AddGroupItemWithStringId(
|
| - IDC_ZOOM_MINUS, IDS_ZOOM_MINUS2);
|
| - zoom_menu_item_model_->AddButtonLabel(IDC_ZOOM_PERCENT_DISPLAY,
|
| - IDS_ZOOM_PLUS2);
|
| - zoom_menu_item_model_->AddGroupItemWithStringId(
|
| - IDC_ZOOM_PLUS, IDS_ZOOM_PLUS2);
|
| - zoom_menu_item_model_->AddSpace();
|
| - zoom_menu_item_model_->AddItemWithImage(
|
| - IDC_FULLSCREEN, IDR_FULLSCREEN_MENU_BUTTON);
|
| - AddButtonItem(IDC_ZOOM_MENU, zoom_menu_item_model_.get());
|
| -#else
|
| - // TODO(port): Move to the above.
|
| - CreateZoomFullscreen();
|
| -#endif
|
| -
|
| - AddSeparator();
|
| - AddItemWithStringId(IDC_SAVE_PAGE, IDS_SAVE_PAGE);
|
| - AddItemWithStringId(IDC_FIND, IDS_FIND);
|
| - AddItemWithStringId(IDC_PRINT, IDS_PRINT);
|
| -
|
| - tools_menu_model_.reset(new ToolsMenuModel(this, browser_));
|
| - AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_TOOLS_MENU,
|
| - tools_menu_model_.get());
|
| -
|
| - AddSeparator();
|
| -#if defined(ENABLE_REMOTING)
|
| - if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableRemoting)) {
|
| - AddItem(IDC_REMOTING_SETUP,
|
| - l10n_util::GetStringUTF16(IDS_REMOTING_SETUP_LABEL));
|
| - }
|
| -#endif
|
| - AddItemWithStringId(IDC_SHOW_BOOKMARK_MANAGER, IDS_BOOKMARK_MANAGER);
|
| - AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY);
|
| - AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS);
|
| - AddSeparator();
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| - AddItemWithStringId(IDC_OPTIONS, IDS_SETTINGS);
|
| -#elif defined(OS_MACOSX)
|
| - AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES);
|
| -#elif defined(OS_LINUX)
|
| - string16 preferences = gtk_util::GetStockPreferencesMenuLabel();
|
| - if (!preferences.empty())
|
| - AddItem(IDC_OPTIONS, preferences);
|
| - else
|
| - AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES);
|
| -#else
|
| - AddItemWithStringId(IDC_OPTIONS, IDS_OPTIONS);
|
| -#endif
|
| -
|
| -#if defined(OS_CHROMEOS)
|
| - const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME);
|
| -#else
|
| - const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME);
|
| -#endif
|
| - // On Mac, there is no About item.
|
| - if (browser_defaults::kShowAboutMenuItem) {
|
| - AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(
|
| - IDS_ABOUT, product_name));
|
| - }
|
| - string16 num_background_pages = base::FormatNumber(
|
| - BackgroundPageTracker::GetSingleton()->GetBackgroundPageCount());
|
| - AddItem(IDC_VIEW_BACKGROUND_PAGES, l10n_util::GetStringFUTF16(
|
| - IDS_VIEW_BACKGROUND_PAGES, num_background_pages));
|
| - AddItem(IDC_UPGRADE_DIALOG, l10n_util::GetStringFUTF16(
|
| - IDS_UPDATE_NOW, product_name));
|
| - AddItem(IDC_VIEW_INCOMPATIBILITIES, l10n_util::GetStringUTF16(
|
| - IDS_VIEW_INCOMPATIBILITIES));
|
| -
|
| - ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| - SetIcon(GetIndexOfCommandId(IDC_UPGRADE_DIALOG),
|
| - *rb.GetBitmapNamed(IDR_UPDATE_MENU));
|
| -#if defined(OS_WIN)
|
| - SetIcon(GetIndexOfCommandId(IDC_VIEW_INCOMPATIBILITIES),
|
| - *rb.GetBitmapNamed(IDR_CONFLICT_MENU));
|
| -#endif
|
| -
|
| - // Add an icon to the View Background Pages item if there are unacknowledged
|
| - // pages.
|
| - if (BackgroundPageTracker::GetSingleton()->
|
| - GetUnacknowledgedBackgroundPageCount() > 0) {
|
| - SetIcon(GetIndexOfCommandId(IDC_VIEW_BACKGROUND_PAGES),
|
| - GetBackgroundPageIcon());
|
| - }
|
| -
|
| - AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE);
|
| - if (browser_defaults::kShowExitMenuItem) {
|
| - AddSeparator();
|
| -#if defined(OS_CHROMEOS)
|
| - if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) {
|
| - AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE);
|
| - } else {
|
| - AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT);
|
| - }
|
| -#else
|
| - AddItemWithStringId(IDC_EXIT, IDS_EXIT);
|
| -#endif
|
| - }
|
| -}
|
| -
|
| -void WrenchMenuModel::CreateCutCopyPaste() {
|
| - // WARNING: views/wrench_menu assumes these items are added in this order. If
|
| - // you change the order you'll need to update wrench_menu as well.
|
| - AddItemWithStringId(IDC_CUT, IDS_CUT);
|
| - AddItemWithStringId(IDC_COPY, IDS_COPY);
|
| - AddItemWithStringId(IDC_PASTE, IDS_PASTE);
|
| -}
|
| -
|
| -void WrenchMenuModel::CreateZoomFullscreen() {
|
| - // WARNING: views/wrench_menu assumes these items are added in this order. If
|
| - // you change the order you'll need to update wrench_menu as well.
|
| - AddItemWithStringId(IDC_ZOOM_MINUS, IDS_ZOOM_MINUS);
|
| - AddItemWithStringId(IDC_ZOOM_PLUS, IDS_ZOOM_PLUS);
|
| - AddItemWithStringId(IDC_FULLSCREEN, IDS_FULLSCREEN);
|
| -}
|
| -
|
| -void WrenchMenuModel::UpdateZoomControls() {
|
| - bool enable_increment = false;
|
| - bool enable_decrement = false;
|
| - int zoom_percent = 100;
|
| - if (browser_->GetSelectedTabContents()) {
|
| - zoom_percent = browser_->GetSelectedTabContents()->GetZoomPercent(
|
| - &enable_increment, &enable_decrement);
|
| - }
|
| - zoom_label_ = l10n_util::GetStringFUTF16(
|
| - IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent));
|
| -}
|
| -
|
| -string16 WrenchMenuModel::GetSyncMenuLabel() const {
|
| - return sync_ui_util::GetSyncMenuLabel(
|
| - browser_->profile()->GetOriginalProfile()->GetProfileSyncService());
|
| -}
|
|
|