diff options
-rw-r--r-- | chrome/browser/download/download_shelf.cc | 7 | ||||
-rw-r--r-- | chrome/browser/download/download_shelf.h | 9 | ||||
-rw-r--r-- | chrome/browser/gtk/download_item_gtk.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/download_item_view.cc | 1 |
4 files changed, 15 insertions, 4 deletions
diff --git a/chrome/browser/download/download_shelf.cc b/chrome/browser/download/download_shelf.cc index d3d6ade..2be924f 100644 --- a/chrome/browser/download/download_shelf.cc +++ b/chrome/browser/download/download_shelf.cc @@ -55,6 +55,8 @@ std::wstring DownloadShelfContextMenu::GetItemLabel(int id) const { return l10n_util::GetString(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); case CANCEL: return l10n_util::GetString(IDS_DOWNLOAD_MENU_CANCEL); + case REMOVE_ITEM: + return l10n_util::GetString(IDS_DOWNLOAD_MENU_REMOVE_ITEM); default: NOTREACHED(); } @@ -70,6 +72,8 @@ bool DownloadShelfContextMenu::IsItemCommandEnabled(int id) const { return download_util::CanOpenDownload(download_); case CANCEL: return download_->state() == DownloadItem::IN_PROGRESS; + case REMOVE_ITEM: + return download_->state() == DownloadItem::COMPLETE; default: return id > 0 && id < MENU_LAST; } @@ -93,6 +97,9 @@ void DownloadShelfContextMenu::ExecuteItemCommand(int id) { case CANCEL: model_->CancelTask(); break; + case REMOVE_ITEM: + download_->Remove(false); + break; default: NOTREACHED(); } diff --git a/chrome/browser/download/download_shelf.h b/chrome/browser/download/download_shelf.h index 61cae0e..6718a9b 100644 --- a/chrome/browser/download/download_shelf.h +++ b/chrome/browser/download/download_shelf.h @@ -51,10 +51,11 @@ class DownloadShelfContextMenu { explicit DownloadShelfContextMenu(BaseDownloadItemModel* download_model); enum ContextMenuCommands { - SHOW_IN_FOLDER = 1, // Open a file explorer window with the item selected - OPEN_WHEN_COMPLETE, // Open the download when it's finished - ALWAYS_OPEN_TYPE, // Default this file extension to always open - CANCEL, // Cancel the download + SHOW_IN_FOLDER = 1, // Open a file explorer window with the item selected. + OPEN_WHEN_COMPLETE, // Open the download when it's finished. + ALWAYS_OPEN_TYPE, // Default this file extension to always open. + CANCEL, // Cancel the download. + REMOVE_ITEM, // Removes the item from the download shelf. MENU_LAST }; diff --git a/chrome/browser/gtk/download_item_gtk.cc b/chrome/browser/gtk/download_item_gtk.cc index 78a0b46..f0c38b7 100644 --- a/chrome/browser/gtk/download_item_gtk.cc +++ b/chrome/browser/gtk/download_item_gtk.cc @@ -141,6 +141,7 @@ MenuCreateMaterial DownloadShelfContextMenuGtk::finished_download_menu[] = { { MENU_SEPARATOR, 0, 0, 0, NULL }, { MENU_NORMAL, SHOW_IN_FOLDER, IDS_DOWNLOAD_LINK_SHOW, 0, NULL}, { MENU_SEPARATOR, 0, 0, 0, NULL }, + { MENU_NORMAL, REMOVE_ITEM, IDS_DOWNLOAD_MENU_REMOVE_ITEM, 0, NULL}, { MENU_NORMAL, CANCEL, IDS_DOWNLOAD_MENU_CANCEL, 0, NULL}, { MENU_END, 0, 0, 0, NULL }, }; @@ -153,6 +154,7 @@ MenuCreateMaterial DownloadShelfContextMenuGtk::in_progress_download_menu[] = { { MENU_SEPARATOR, 0, 0, 0, NULL }, { MENU_NORMAL, SHOW_IN_FOLDER, IDS_DOWNLOAD_LINK_SHOW, 0, NULL}, { MENU_SEPARATOR, 0, 0, 0, NULL }, + { MENU_NORMAL, REMOVE_ITEM, IDS_DOWNLOAD_MENU_REMOVE_ITEM, 0, NULL}, { MENU_NORMAL, CANCEL, IDS_DOWNLOAD_MENU_CANCEL, 0, NULL}, { MENU_END, 0, 0, 0, NULL }, }; diff --git a/chrome/browser/views/download_item_view.cc b/chrome/browser/views/download_item_view.cc index 51f9ad9..3e9d642 100644 --- a/chrome/browser/views/download_item_view.cc +++ b/chrome/browser/views/download_item_view.cc @@ -98,6 +98,7 @@ class DownloadShelfContextMenuWin : public DownloadShelfContextMenu, context_menu->AppendSeparator(); context_menu->AppendMenuItem(SHOW_IN_FOLDER, L"", views::Menu::NORMAL); context_menu->AppendSeparator(); + context_menu->AppendMenuItem(REMOVE_ITEM, L"", views::Menu::NORMAL); context_menu->AppendMenuItem(CANCEL, L"", views::Menu::NORMAL); context_menu->RunMenuAt(point.x(), point.y()); } |