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(); |
+} |