OLD | NEW |
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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 } | 399 } |
400 | 400 |
401 // For testing. | 401 // For testing. |
402 WrenchMenuModel::WrenchMenuModel() | 402 WrenchMenuModel::WrenchMenuModel() |
403 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), | 403 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), |
404 provider_(NULL), | 404 provider_(NULL), |
405 browser_(NULL), | 405 browser_(NULL), |
406 tabstrip_model_(NULL) { | 406 tabstrip_model_(NULL) { |
407 } | 407 } |
408 | 408 |
| 409 #if !defined(OS_CHROMEOS) |
409 void WrenchMenuModel::Build() { | 410 void WrenchMenuModel::Build() { |
410 AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB); | 411 AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB); |
411 AddItemWithStringId(IDC_NEW_WINDOW, IDS_NEW_WINDOW); | 412 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); | 413 AddItemWithStringId(IDC_NEW_INCOGNITO_WINDOW, IDS_NEW_INCOGNITO_WINDOW); |
417 #endif | |
418 | 414 |
419 bookmark_sub_menu_model_.reset(new BookmarkSubMenuModel(this, browser_)); | 415 bookmark_sub_menu_model_.reset(new BookmarkSubMenuModel(this, browser_)); |
420 AddSubMenuWithStringId(IDC_BOOKMARKS_MENU, IDS_BOOKMARKS_MENU, | 416 AddSubMenuWithStringId(IDC_BOOKMARKS_MENU, IDS_BOOKMARKS_MENU, |
421 bookmark_sub_menu_model_.get()); | 417 bookmark_sub_menu_model_.get()); |
422 | 418 |
423 AddSeparator(); | 419 AddSeparator(); |
424 #if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS) | 420 #if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS) |
425 // WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the | 421 // WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the |
426 // layout for this menu item in Toolbar.xib. It does, however, use the | 422 // layout for this menu item in Toolbar.xib. It does, however, use the |
427 // command_id value from AddButtonItem() to identify this special item. | 423 // command_id value from AddButtonItem() to identify this special item. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 tools_menu_model_.reset(new ToolsMenuModel(this, browser_)); | 459 tools_menu_model_.reset(new ToolsMenuModel(this, browser_)); |
464 AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_TOOLS_MENU, | 460 AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_TOOLS_MENU, |
465 tools_menu_model_.get()); | 461 tools_menu_model_.get()); |
466 | 462 |
467 AddSeparator(); | 463 AddSeparator(); |
468 | 464 |
469 AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY); | 465 AddItemWithStringId(IDC_SHOW_HISTORY, IDS_SHOW_HISTORY); |
470 AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS); | 466 AddItemWithStringId(IDC_SHOW_DOWNLOADS, IDS_SHOW_DOWNLOADS); |
471 AddSeparator(); | 467 AddSeparator(); |
472 | 468 |
473 #if !defined(OS_CHROMEOS) | |
474 if (browser_->profile()->GetOriginalProfile()->IsSyncAccessible()) { | 469 if (browser_->profile()->GetOriginalProfile()->IsSyncAccessible()) { |
475 const string16 short_product_name = | 470 const string16 short_product_name = |
476 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME); | 471 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME); |
477 AddItem(IDC_SHOW_SYNC_SETUP, l10n_util::GetStringFUTF16( | 472 AddItem(IDC_SHOW_SYNC_SETUP, l10n_util::GetStringFUTF16( |
478 IDS_SHOW_SYNC_SETUP, short_product_name)); | 473 IDS_SHOW_SYNC_SETUP, short_product_name)); |
479 AddSeparator(); | 474 AddSeparator(); |
480 } | 475 } |
481 #endif | |
482 | 476 |
483 #if defined(OS_CHROMEOS) | 477 #if defined(OS_MACOSX) |
484 AddItemWithStringId(IDC_OPTIONS, IDS_SETTINGS); | |
485 #elif defined(OS_MACOSX) | |
486 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); | 478 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); |
487 #elif defined(TOOLKIT_USES_GTK) | 479 #elif defined(TOOLKIT_USES_GTK) |
488 string16 preferences = gtk_util::GetStockPreferencesMenuLabel(); | 480 string16 preferences = gtk_util::GetStockPreferencesMenuLabel(); |
489 if (!preferences.empty()) | 481 if (!preferences.empty()) |
490 AddItem(IDC_OPTIONS, preferences); | 482 AddItem(IDC_OPTIONS, preferences); |
491 else | 483 else |
492 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); | 484 AddItemWithStringId(IDC_OPTIONS, IDS_PREFERENCES); |
493 #else | 485 #else |
494 AddItemWithStringId(IDC_OPTIONS, IDS_OPTIONS); | 486 AddItemWithStringId(IDC_OPTIONS, IDS_OPTIONS); |
495 #endif | 487 #endif |
496 | 488 |
497 #if defined(OS_CHROMEOS) | |
498 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME); | |
499 #else | |
500 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); | 489 const string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); |
501 #endif | |
502 AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(IDS_ABOUT, product_name)); | 490 AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16(IDS_ABOUT, product_name)); |
503 string16 num_background_pages = base::FormatNumber( | 491 string16 num_background_pages = base::FormatNumber( |
504 TaskManager::GetBackgroundPageCount()); | 492 TaskManager::GetBackgroundPageCount()); |
505 AddItem(IDC_VIEW_BACKGROUND_PAGES, l10n_util::GetStringFUTF16( | 493 AddItem(IDC_VIEW_BACKGROUND_PAGES, l10n_util::GetStringFUTF16( |
506 IDS_VIEW_BACKGROUND_PAGES, num_background_pages)); | 494 IDS_VIEW_BACKGROUND_PAGES, num_background_pages)); |
507 AddItem(IDC_UPGRADE_DIALOG, l10n_util::GetStringFUTF16( | 495 AddItem(IDC_UPGRADE_DIALOG, l10n_util::GetStringFUTF16( |
508 IDS_UPDATE_NOW, product_name)); | 496 IDS_UPDATE_NOW, product_name)); |
509 AddItem(IDC_VIEW_INCOMPATIBILITIES, l10n_util::GetStringUTF16( | 497 AddItem(IDC_VIEW_INCOMPATIBILITIES, l10n_util::GetStringUTF16( |
510 IDS_VIEW_INCOMPATIBILITIES)); | 498 IDS_VIEW_INCOMPATIBILITIES)); |
511 | 499 |
512 #if defined(OS_WIN) | 500 #if defined(OS_WIN) |
513 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 501 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
514 SetIcon(GetIndexOfCommandId(IDC_VIEW_INCOMPATIBILITIES), | 502 SetIcon(GetIndexOfCommandId(IDC_VIEW_INCOMPATIBILITIES), |
515 *rb.GetBitmapNamed(IDR_CONFLICT_MENU)); | 503 *rb.GetBitmapNamed(IDR_CONFLICT_MENU)); |
516 #endif | 504 #endif |
517 | 505 |
518 AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE); | 506 AddItemWithStringId(IDC_HELP_PAGE, IDS_HELP_PAGE); |
519 #if defined(OS_CHROMEOS) | |
520 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | |
521 // Use an icon for IDC_HELP_PAGE menu item. | |
522 SetIcon(GetIndexOfCommandId(IDC_HELP_PAGE), | |
523 *rb.GetBitmapNamed(IDR_HELP_MENU)); | |
524 | |
525 // Show IDC_FEEDBACK in top-tier wrench menu for ChromeOS. | |
526 AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK); | |
527 #endif | |
528 | 507 |
529 if (browser_defaults::kShowExitMenuItem) { | 508 if (browser_defaults::kShowExitMenuItem) { |
530 AddSeparator(); | 509 AddSeparator(); |
531 #if defined(OS_CHROMEOS) | |
532 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) { | |
533 AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE); | |
534 } else { | |
535 AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT); | |
536 } | |
537 #else | |
538 AddItemWithStringId(IDC_EXIT, IDS_EXIT); | 510 AddItemWithStringId(IDC_EXIT, IDS_EXIT); |
539 #endif | |
540 } | 511 } |
541 } | 512 } |
| 513 #endif // !OS_CHROMEOS |
542 | 514 |
543 void WrenchMenuModel::CreateCutCopyPaste() { | 515 void WrenchMenuModel::CreateCutCopyPaste() { |
544 // WARNING: views/wrench_menu assumes these items are added in this order. If | 516 // WARNING: views/wrench_menu assumes these items are added in this order. If |
545 // you change the order you'll need to update wrench_menu as well. | 517 // you change the order you'll need to update wrench_menu as well. |
546 AddItemWithStringId(IDC_CUT, IDS_CUT); | 518 AddItemWithStringId(IDC_CUT, IDS_CUT); |
547 AddItemWithStringId(IDC_COPY, IDS_COPY); | 519 AddItemWithStringId(IDC_COPY, IDS_COPY); |
548 AddItemWithStringId(IDC_PASTE, IDS_PASTE); | 520 AddItemWithStringId(IDC_PASTE, IDS_PASTE); |
549 } | 521 } |
550 | 522 |
551 void WrenchMenuModel::CreateZoomFullscreen() { | 523 void WrenchMenuModel::CreateZoomFullscreen() { |
(...skipping 13 matching lines...) Expand all Loading... |
565 &enable_increment, &enable_decrement); | 537 &enable_increment, &enable_decrement); |
566 } | 538 } |
567 zoom_label_ = l10n_util::GetStringFUTF16( | 539 zoom_label_ = l10n_util::GetStringFUTF16( |
568 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); | 540 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); |
569 } | 541 } |
570 | 542 |
571 string16 WrenchMenuModel::GetSyncMenuLabel() const { | 543 string16 WrenchMenuModel::GetSyncMenuLabel() const { |
572 return sync_ui_util::GetSyncMenuLabel( | 544 return sync_ui_util::GetSyncMenuLabel( |
573 browser_->profile()->GetOriginalProfile()->GetProfileSyncService()); | 545 browser_->profile()->GetOriginalProfile()->GetProfileSyncService()); |
574 } | 546 } |
OLD | NEW |