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