Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Side by Side Diff: chrome/browser/ui/toolbar/wrench_menu_model.cc

Issue 7825024: For Touch: remove some menu items for experimentation, adjust sizes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: reverted blank line suppression Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/toolbar/wrench_menu_model.h" 5 #include "chrome/browser/ui/toolbar/wrench_menu_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 211
212 //////////////////////////////////////////////////////////////////////////////// 212 ////////////////////////////////////////////////////////////////////////////////
213 // WrenchMenuModel 213 // WrenchMenuModel
214 214
215 WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider, 215 WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider,
216 Browser* browser) 216 Browser* browser)
217 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), 217 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)),
218 provider_(provider), 218 provider_(provider),
219 browser_(browser), 219 browser_(browser),
220 tabstrip_model_(browser_->tabstrip_model()) { 220 tabstrip_model_(browser_->tabstrip_model()) {
221 Build(); 221 #if defined(OS_CHROMEOS)
222 BuildCrosMenu();
223 #else
224 BuildBrowserMenu();
225 #endif
222 UpdateZoomControls(); 226 UpdateZoomControls();
223 227
224 tabstrip_model_->AddObserver(this); 228 tabstrip_model_->AddObserver(this);
225 229
226 registrar_.Add(this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED, 230 registrar_.Add(this, content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
227 Source<HostZoomMap>(browser_->profile()->GetHostZoomMap())); 231 Source<HostZoomMap>(browser_->profile()->GetHostZoomMap()));
228 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED, 232 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
229 NotificationService::AllSources()); 233 NotificationService::AllSources());
230 } 234 }
231 235
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 403 }
400 404
401 // For testing. 405 // For testing.
402 WrenchMenuModel::WrenchMenuModel() 406 WrenchMenuModel::WrenchMenuModel()
403 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), 407 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)),
404 provider_(NULL), 408 provider_(NULL),
405 browser_(NULL), 409 browser_(NULL),
406 tabstrip_model_(NULL) { 410 tabstrip_model_(NULL) {
407 } 411 }
408 412
409 void WrenchMenuModel::Build() { 413 void WrenchMenuModel::BuildBrowserMenu() {
410 AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB); 414 AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB);
411 AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW); 415 AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW);
412 #if defined(OS_CHROMEOS)
413 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession))
414 AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, IDS_NEW_INCOGNITO_WINDOW);
415 #else
416 AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, IDS_NEW_INCOGNITO_WINDOW); 416 AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, IDS_NEW_INCOGNITO_WINDOW);
417 #endif
418 417
419 AddSeparator(); 418 AddSeparator();
420 #if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS) 419 #if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS)
421 // WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the 420 // WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the
422 // layout for this menu item in Toolbar.xib. It does, however, use the 421 // layout for this menu item in Toolbar.xib. It does, however, use the
423 // command_id value from AddButtonItem() to identify this special item. 422 // command_id value from AddButtonItem() to identify this special item.
424 edit_menu_item_model_.reset(new ui::ButtonMenuItemModel(IDS_EDIT, this)); 423 edit_menu_item_model_.reset(new ui::ButtonMenuItemModel(IDS_EDIT, this));
425 edit_menu_item_model_->AddGroupItemWithStringId(IDC_CUT, IDS_CUT); 424 edit_menu_item_model_->AddGroupItemWithStringId(IDC_CUT, IDS_CUT);
426 edit_menu_item_model_->AddGroupItemWithStringId(IDC_COPY, IDS_COPY); 425 edit_menu_item_model_->AddGroupItemWithStringId(IDC_COPY, IDS_COPY);
427 edit_menu_item_model_->AddGroupItemWithStringId(IDC_PASTE, IDS_PASTE); 426 edit_menu_item_model_->AddGroupItemWithStringId(IDC_PASTE, IDS_PASTE);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 461
463 AddSeparator(); 462 AddSeparator();
464 463
465 bookmark_sub_menu_model_.reset(new BookmarkSubMenuModel(this, browser_)); 464 bookmark_sub_menu_model_.reset(new BookmarkSubMenuModel(this, browser_));
466 AddSubMenuWithStringId(IDC_BOOKMARKS_MENU, IDS_BOOKMARKS_MENU, 465 AddSubMenuWithStringId(IDC_BOOKMARKS_MENU, IDS_BOOKMARKS_MENU,
467 bookmark_sub_menu_model_.get()); 466 bookmark_sub_menu_model_.get());
468 AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY); 467 AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY);
469 AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS); 468 AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS);
470 AddSeparator(); 469 AddSeparator();
471 470
472 #if !defined(OS_CHROMEOS)
473 if (browser_->profile()->GetOriginalProfile()->IsSyncAccessible()) { 471 if (browser_->profile()->GetOriginalProfile()->IsSyncAccessible()) {
474 const string16 short_product_name = 472 const string16 short_product_name =
475 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME); 473 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME);
476 AddItem(IDC_SHOW_SYNC_SETUP, l10n_util::GetStringFUTF16( 474 AddItem(IDC_SHOW_SYNC_SETUP, l10n_util::GetStringFUTF16(
477 IDS_SHOW_SYNC_SETUP, short_product_name)); 475 IDS_SHOW_SYNC_SETUP, short_product_name));
478 AddSeparator(); 476 AddSeparator();
479 } 477 }
480 #endif
481 478
482 #if defined(OS_CHROMEOS) 479 #if defined(OS_MACOSX)
483 AddItemWithStringId(IDC_OPTIONS, IDS_SETTINGS);
484 #elif defined(OS_MACOSX)
485 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); 480 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES);
486 #elif defined(TOOLKIT_USES_GTK) 481 #elif defined(TOOLKIT_USES_GTK)
487 string16 preferences = gtk_util::GetStockPreferencesMenuLabel(); 482 string16 preferences = gtk_util::GetStockPreferencesMenuLabel();
488 if (!preferences.empty()) 483 if (!preferences.empty())
489 AddItem(IDC_OPTIONS, preferences); 484 AddItem(IDC_OPTIONS, preferences);
490 else 485 else
491 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); 486 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES);
492 #else 487 #else
493 AddItemWithStringId(IDC_OPTIONS, IDS_OPTIONS); 488 AddItemWithStringId(IDC_OPTIONS, IDS_OPTIONS);
494 #endif 489 #endif
495 490
496 #if defined(OS_CHROMEOS)
497 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME);
498 #else
499 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); 491 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME);
500 #endif
501 AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(IDS_ABOUT, product_name)); 492 AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(IDS_ABOUT, product_name));
502 string16 num_background_pages = base::FormatNumber( 493 string16 num_background_pages = base::FormatNumber(
503 TaskManager::GetBackgroundPageCount()); 494 TaskManager::GetBackgroundPageCount());
504 AddItem(IDC_VIEW_BACKGROUND_PAGES, l10n_util::GetStringFUTF16( 495 AddItem(IDC_VIEW_BACKGROUND_PAGES, l10n_util::GetStringFUTF16(
505 IDS_VIEW_BACKGROUND_PAGES, num_background_pages)); 496 IDS_VIEW_BACKGROUND_PAGES, num_background_pages));
506 AddItem(IDC_UPGRADE_DIALOG, l10n_util::GetStringFUTF16( 497 AddItem(IDC_UPGRADE_DIALOG, l10n_util::GetStringFUTF16(
507 IDS_UPDATE_NOW, product_name)); 498 IDS_UPDATE_NOW, product_name));
508 AddItem(IDC_VIEW_INCOMPATIBILITIES, l10n_util::GetStringUTF16( 499 AddItem(IDC_VIEW_INCOMPATIBILITIES, l10n_util::GetStringUTF16(
509 IDS_VIEW_INCOMPATIBILITIES)); 500 IDS_VIEW_INCOMPATIBILITIES));
510 501
511 #if defined(OS_WIN) 502 #if defined(OS_WIN)
512 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 503 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
513 SetIcon(GetIndexOfCommandId(IDC_VIEW_INCOMPATIBILITIES), 504 SetIcon(GetIndexOfCommandId(IDC_VIEW_INCOMPATIBILITIES),
514 *rb.GetBitmapNamed(IDR_CONFLICT_MENU)); 505 *rb.GetBitmapNamed(IDR_CONFLICT_MENU));
515 #endif 506 #endif
516 507
517 AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE); 508 AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE);
518 #if defined(OS_CHROMEOS) 509
510 if (browser_defaults::kShowExitMenuItem) {
511 AddSeparator();
512 AddItemWithStringId(IDC_EXIT, IDS_EXIT);
513 }
514 }
515
516 void WrenchMenuModel::BuildCrosMenu() {
517 #if !defined(TOUCH_UI)
518 AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB);
519 AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW);
520 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession))
521 AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, IDS_NEW_INCOGNITO_WINDOW);
522
523 AddSeparator();
524 CreateCutCopyPaste();
525
526 AddSeparator();
527 CreateZoomFullscreen();
528
529 AddSeparator();
530 AddItemWithStringId(IDC_SAVE_PAGE, IDS_SAVE_PAGE);
531 #endif // !TOUCH_UI
532 AddItemWithStringId(IDC_FIND, IDS_FIND);
533 AddItemWithStringId(IDC_PRINT, IDS_PRINT);
534
535 tools_menu_model_.reset(new ToolsMenuModel(this, browser_));
536 AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_TOOLS_MENU,
537 tools_menu_model_.get());
538
539 AddSeparator();
540
541 bookmark_sub_menu_model_.reset(new BookmarkSubMenuModel(this, browser_));
542 AddSubMenuWithStringId(IDC_BOOKMARKS_MENU, IDS_BOOKMARKS_MENU,
543 bookmark_sub_menu_model_.get());
544 AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY);
545 #if !defined(TOUCH_UI)
546 AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS);
547 #endif // !TOUCH_UI
548 AddSeparator();
549
550 AddItemWithStringId(IDC_OPTIONS, IDS_SETTINGS);
551 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME);
552 AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(IDS_ABOUT, product_name));
553 string16 num_background_pages = base::FormatNumber(
554 TaskManager::GetBackgroundPageCount());
555 AddItem(IDC_VIEW_BACKGROUND_PAGES,
556 l10n_util::GetStringFUTF16(IDS_VIEW_BACKGROUND_PAGES,
557 num_background_pages));
558 AddItem(IDC_UPGRADE_DIALOG,
559 l10n_util::GetStringFUTF16(IDS_UPDATE_NOW, product_name));
560 AddItem(IDC_VIEW_INCOMPATIBILITIES,
561 l10n_util::GetStringUTF16(IDS_VIEW_INCOMPATIBILITIES));
562
563 // Use an icon for IDC_HELP_PAGE menu item.
564 AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE);
519 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 565 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
520 // Use an icon for IDC_HELP_PAGE menu item.
521 SetIcon(GetIndexOfCommandId(IDC_HELP_PAGE), 566 SetIcon(GetIndexOfCommandId(IDC_HELP_PAGE),
522 *rb.GetBitmapNamed(IDR_HELP_MENU)); 567 *rb.GetBitmapNamed(IDR_HELP_MENU));
523 568
524 // Show IDC_FEEDBACK in top-tier wrench menu for ChromeOS. 569 // Show IDC_FEEDBACK in top-tier wrench menu for ChromeOS.
525 AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK); 570 AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK);
526 #endif 571 AddSeparator();
527 572
528 if (browser_defaults::kShowExitMenuItem) { 573 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) {
529 AddSeparator(); 574 AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE);
530 #if defined(OS_CHROMEOS) 575 } else {
531 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) { 576 AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT);
532 AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE);
533 } else {
534 AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT);
535 }
536 #else
537 AddItemWithStringId(IDC_EXIT, IDS_EXIT);
538 #endif
539 } 577 }
540 } 578 }
541 579
542 void WrenchMenuModel::CreateCutCopyPaste() { 580 void WrenchMenuModel::CreateCutCopyPaste() {
543 // WARNING: views/wrench_menu assumes these items are added in this order. If 581 // WARNING: views/wrench_menu assumes these items are added in this order. If
544 // you change the order you'll need to update wrench_menu as well. 582 // you change the order you'll need to update wrench_menu as well.
545 AddItemWithStringId(IDC_CUT, IDS_CUT); 583 AddItemWithStringId(IDC_CUT, IDS_CUT);
546 AddItemWithStringId(IDC_COPY, IDS_COPY); 584 AddItemWithStringId(IDC_COPY, IDS_COPY);
547 AddItemWithStringId(IDC_PASTE, IDS_PASTE); 585 AddItemWithStringId(IDC_PASTE, IDS_PASTE);
548 } 586 }
(...skipping 15 matching lines...) Expand all
564 &enable_increment, &enable_decrement); 602 &enable_increment, &enable_decrement);
565 } 603 }
566 zoom_label_ = l10n_util::GetStringFUTF16( 604 zoom_label_ = l10n_util::GetStringFUTF16(
567 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); 605 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent));
568 } 606 }
569 607
570 string16 WrenchMenuModel::GetSyncMenuLabel() const { 608 string16 WrenchMenuModel::GetSyncMenuLabel() const {
571 return sync_ui_util::GetSyncMenuLabel( 609 return sync_ui_util::GetSyncMenuLabel(
572 browser_->profile()->GetOriginalProfile()->GetProfileSyncService()); 610 browser_->profile()->GetOriginalProfile()->GetProfileSyncService());
573 } 611 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698