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

Unified Diff: chrome/browser/download/download_shelf_context_menu.cc

Issue 6974005: download: Add a GetMenuModel() that grabs the correct model. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/download/download_shelf_context_menu.cc
diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc
index 5bbadda5f559097d8c55dfd8eb3d826621552b63..d019d7a17589b89e2d29ba8e3cf79ff8dccef442 100644
--- a/chrome/browser/download/download_shelf_context_menu.cc
+++ b/chrome/browser/download/download_shelf_context_menu.cc
@@ -17,46 +17,9 @@ DownloadShelfContextMenu::DownloadShelfContextMenu(
download_item_(download_model->download()) {
}
-ui::SimpleMenuModel* DownloadShelfContextMenu::GetInProgressMenuModel() {
- if (in_progress_download_menu_model_.get())
- return in_progress_download_menu_model_.get();
-
- in_progress_download_menu_model_.reset(new ui::SimpleMenuModel(this));
-
- in_progress_download_menu_model_->AddCheckItemWithStringId(
- OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
- in_progress_download_menu_model_->AddCheckItemWithStringId(
- ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
- in_progress_download_menu_model_->AddSeparator();
- in_progress_download_menu_model_->AddItemWithStringId(
- TOGGLE_PAUSE, IDS_DOWNLOAD_MENU_PAUSE_ITEM);
- in_progress_download_menu_model_->AddItemWithStringId(
- SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
- in_progress_download_menu_model_->AddSeparator();
- in_progress_download_menu_model_->AddItemWithStringId(
- CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
-
- return in_progress_download_menu_model_.get();
-}
-
-ui::SimpleMenuModel* DownloadShelfContextMenu::GetFinishedMenuModel() {
- if (finished_download_menu_model_.get())
- return finished_download_menu_model_.get();
-
- finished_download_menu_model_.reset(new ui::SimpleMenuModel(this));
-
- finished_download_menu_model_->AddItemWithStringId(
- OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN);
- finished_download_menu_model_->AddCheckItemWithStringId(
- ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
- finished_download_menu_model_->AddSeparator();
- finished_download_menu_model_->AddItemWithStringId(
- SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
- finished_download_menu_model_->AddSeparator();
- finished_download_menu_model_->AddItemWithStringId(
- CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
-
- return finished_download_menu_model_.get();
+ui::SimpleMenuModel* DownloadShelfContextMenu::GetMenuModel() {
+ return download_item_->IsComplete() ? GetFinishedMenuModel()
+ : GetInProgressMenuModel();
}
bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const {
@@ -139,11 +102,53 @@ string16 DownloadShelfContextMenu::GetLabelForCommandId(int command_id) const {
case TOGGLE_PAUSE: {
if (download_item_->is_paused())
return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_RESUME_ITEM);
- else
- return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PAUSE_ITEM);
+ return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PAUSE_ITEM);
}
default:
NOTREACHED();
+ break;
}
return string16();
}
+
+ui::SimpleMenuModel* DownloadShelfContextMenu::GetInProgressMenuModel() {
+ if (in_progress_download_menu_model_.get())
+ return in_progress_download_menu_model_.get();
+
+ in_progress_download_menu_model_.reset(new ui::SimpleMenuModel(this));
+
+ in_progress_download_menu_model_->AddCheckItemWithStringId(
+ OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
+ in_progress_download_menu_model_->AddCheckItemWithStringId(
+ ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
+ in_progress_download_menu_model_->AddSeparator();
+ in_progress_download_menu_model_->AddItemWithStringId(
+ TOGGLE_PAUSE, IDS_DOWNLOAD_MENU_PAUSE_ITEM);
+ in_progress_download_menu_model_->AddItemWithStringId(
+ SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
+ in_progress_download_menu_model_->AddSeparator();
+ in_progress_download_menu_model_->AddItemWithStringId(
+ CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
+
+ return in_progress_download_menu_model_.get();
+}
+
+ui::SimpleMenuModel* DownloadShelfContextMenu::GetFinishedMenuModel() {
+ if (finished_download_menu_model_.get())
+ return finished_download_menu_model_.get();
+
+ finished_download_menu_model_.reset(new ui::SimpleMenuModel(this));
+
+ finished_download_menu_model_->AddItemWithStringId(
+ OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN);
+ finished_download_menu_model_->AddCheckItemWithStringId(
+ ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
+ finished_download_menu_model_->AddSeparator();
+ finished_download_menu_model_->AddItemWithStringId(
+ SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
+ finished_download_menu_model_->AddSeparator();
+ finished_download_menu_model_->AddItemWithStringId(
+ CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
+
+ return finished_download_menu_model_.get();
+}

Powered by Google App Engine
This is Rietveld 408576698