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

Side by Side Diff: chrome/browser/download/download_shelf.cc

Issue 155749: Add "Remove from list" for download item in the download shelf.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/download/download_shelf.h ('k') | chrome/browser/gtk/download_item_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/download/download_shelf.h" 5 #include "chrome/browser/download/download_shelf.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "chrome/browser/browser.h" 9 #include "chrome/browser/browser.h"
10 #include "chrome/browser/dom_ui/downloads_ui.h" 10 #include "chrome/browser/dom_ui/downloads_ui.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 case SHOW_IN_FOLDER: 48 case SHOW_IN_FOLDER:
49 return l10n_util::GetString(IDS_DOWNLOAD_LINK_SHOW); 49 return l10n_util::GetString(IDS_DOWNLOAD_LINK_SHOW);
50 case OPEN_WHEN_COMPLETE: 50 case OPEN_WHEN_COMPLETE:
51 if (download_->state() == DownloadItem::IN_PROGRESS) 51 if (download_->state() == DownloadItem::IN_PROGRESS)
52 return l10n_util::GetString(IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE); 52 return l10n_util::GetString(IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
53 return l10n_util::GetString(IDS_DOWNLOAD_MENU_OPEN); 53 return l10n_util::GetString(IDS_DOWNLOAD_MENU_OPEN);
54 case ALWAYS_OPEN_TYPE: 54 case ALWAYS_OPEN_TYPE:
55 return l10n_util::GetString(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); 55 return l10n_util::GetString(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
56 case CANCEL: 56 case CANCEL:
57 return l10n_util::GetString(IDS_DOWNLOAD_MENU_CANCEL); 57 return l10n_util::GetString(IDS_DOWNLOAD_MENU_CANCEL);
58 case REMOVE_ITEM:
59 return l10n_util::GetString(IDS_DOWNLOAD_MENU_REMOVE_ITEM);
58 default: 60 default:
59 NOTREACHED(); 61 NOTREACHED();
60 } 62 }
61 return std::wstring(); 63 return std::wstring();
62 } 64 }
63 65
64 bool DownloadShelfContextMenu::IsItemCommandEnabled(int id) const { 66 bool DownloadShelfContextMenu::IsItemCommandEnabled(int id) const {
65 switch (id) { 67 switch (id) {
66 case SHOW_IN_FOLDER: 68 case SHOW_IN_FOLDER:
67 case OPEN_WHEN_COMPLETE: 69 case OPEN_WHEN_COMPLETE:
68 return download_->state() != DownloadItem::CANCELLED; 70 return download_->state() != DownloadItem::CANCELLED;
69 case ALWAYS_OPEN_TYPE: 71 case ALWAYS_OPEN_TYPE:
70 return download_util::CanOpenDownload(download_); 72 return download_util::CanOpenDownload(download_);
71 case CANCEL: 73 case CANCEL:
72 return download_->state() == DownloadItem::IN_PROGRESS; 74 return download_->state() == DownloadItem::IN_PROGRESS;
75 case REMOVE_ITEM:
76 return download_->state() == DownloadItem::COMPLETE;
73 default: 77 default:
74 return id > 0 && id < MENU_LAST; 78 return id > 0 && id < MENU_LAST;
75 } 79 }
76 } 80 }
77 81
78 void DownloadShelfContextMenu::ExecuteItemCommand(int id) { 82 void DownloadShelfContextMenu::ExecuteItemCommand(int id) {
79 switch (id) { 83 switch (id) {
80 case SHOW_IN_FOLDER: 84 case SHOW_IN_FOLDER:
81 download_->manager()->ShowDownloadInShell(download_); 85 download_->manager()->ShowDownloadInShell(download_);
82 break; 86 break;
83 case OPEN_WHEN_COMPLETE: 87 case OPEN_WHEN_COMPLETE:
84 download_util::OpenDownload(download_); 88 download_util::OpenDownload(download_);
85 break; 89 break;
86 case ALWAYS_OPEN_TYPE: { 90 case ALWAYS_OPEN_TYPE: {
87 const FilePath::StringType extension = 91 const FilePath::StringType extension =
88 file_util::GetFileExtensionFromPath(download_->full_path()); 92 file_util::GetFileExtensionFromPath(download_->full_path());
89 download_->manager()->OpenFilesOfExtension( 93 download_->manager()->OpenFilesOfExtension(
90 extension, !ItemIsChecked(ALWAYS_OPEN_TYPE)); 94 extension, !ItemIsChecked(ALWAYS_OPEN_TYPE));
91 break; 95 break;
92 } 96 }
93 case CANCEL: 97 case CANCEL:
94 model_->CancelTask(); 98 model_->CancelTask();
95 break; 99 break;
100 case REMOVE_ITEM:
101 download_->Remove(false);
102 break;
96 default: 103 default:
97 NOTREACHED(); 104 NOTREACHED();
98 } 105 }
99 } 106 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_shelf.h ('k') | chrome/browser/gtk/download_item_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698