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

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

Issue 3029025: Download code cleanup: (Closed)
Patch Set: rebase'n'final Created 10 years, 5 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
« no previous file with comments | « chrome/browser/download/download_manager.cc ('k') | chrome/browser/download/download_util.h » ('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 11 matching lines...) Expand all
22 BaseDownloadItemModel* download_model) 22 BaseDownloadItemModel* download_model)
23 : download_(download_model->download()), 23 : download_(download_model->download()),
24 model_(download_model) { 24 model_(download_model) {
25 } 25 }
26 26
27 DownloadShelfContextMenu::~DownloadShelfContextMenu() { 27 DownloadShelfContextMenu::~DownloadShelfContextMenu() {
28 } 28 }
29 29
30 bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const { 30 bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const {
31 switch (command_id) { 31 switch (command_id) {
32 case OPEN_WHEN_COMPLETE: { 32 case OPEN_WHEN_COMPLETE:
33 return download_->open_when_complete(); 33 return download_->open_when_complete();
34 } 34 case ALWAYS_OPEN_TYPE:
35 case ALWAYS_OPEN_TYPE: { 35 return download_->ShouldOpenFileBasedOnExtension();
36 return download_->manager()->ShouldOpenFileBasedOnExtension(
37 download_->full_path());
38 }
39 } 36 }
40 return false; 37 return false;
41 } 38 }
42 39
43 string16 DownloadShelfContextMenu::GetLabelForCommandId(int command_id) const { 40 string16 DownloadShelfContextMenu::GetLabelForCommandId(int command_id) const {
44 switch (command_id) { 41 switch (command_id) {
45 case SHOW_IN_FOLDER: 42 case SHOW_IN_FOLDER:
46 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_SHOW); 43 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_SHOW);
47 case OPEN_WHEN_COMPLETE: 44 case OPEN_WHEN_COMPLETE:
48 if (download_->state() == DownloadItem::IN_PROGRESS) 45 if (download_->state() == DownloadItem::IN_PROGRESS)
(...skipping 14 matching lines...) Expand all
63 } 60 }
64 return string16(); 61 return string16();
65 } 62 }
66 63
67 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const { 64 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const {
68 switch (command_id) { 65 switch (command_id) {
69 case SHOW_IN_FOLDER: 66 case SHOW_IN_FOLDER:
70 case OPEN_WHEN_COMPLETE: 67 case OPEN_WHEN_COMPLETE:
71 return download_->state() != DownloadItem::CANCELLED; 68 return download_->state() != DownloadItem::CANCELLED;
72 case ALWAYS_OPEN_TYPE: 69 case ALWAYS_OPEN_TYPE:
73 return download_util::CanOpenDownload(download_); 70 return download_->CanOpenDownload();
74 case CANCEL: 71 case CANCEL:
75 return download_->state() == DownloadItem::IN_PROGRESS; 72 return download_->state() == DownloadItem::IN_PROGRESS;
76 case TOGGLE_PAUSE: 73 case TOGGLE_PAUSE:
77 return download_->state() == DownloadItem::IN_PROGRESS; 74 return download_->state() == DownloadItem::IN_PROGRESS;
78 default: 75 default:
79 return command_id > 0 && command_id < MENU_LAST; 76 return command_id > 0 && command_id < MENU_LAST;
80 } 77 }
81 } 78 }
82 79
83 void DownloadShelfContextMenu::ExecuteCommand(int command_id) { 80 void DownloadShelfContextMenu::ExecuteCommand(int command_id) {
84 switch (command_id) { 81 switch (command_id) {
85 case SHOW_IN_FOLDER: 82 case SHOW_IN_FOLDER:
86 download_->manager()->ShowDownloadInShell(download_); 83 download_->ShowDownloadInShell();
87 break; 84 break;
88 case OPEN_WHEN_COMPLETE: 85 case OPEN_WHEN_COMPLETE:
89 download_util::OpenDownload(download_); 86 download_->OpenDownload();
90 break; 87 break;
91 case ALWAYS_OPEN_TYPE: { 88 case ALWAYS_OPEN_TYPE: {
92 download_->manager()->OpenFilesBasedOnExtension( 89 download_->OpenFilesBasedOnExtension(
93 download_->full_path(), !IsCommandIdChecked(ALWAYS_OPEN_TYPE)); 90 !IsCommandIdChecked(ALWAYS_OPEN_TYPE));
94 break; 91 break;
95 } 92 }
96 case CANCEL: 93 case CANCEL:
97 model_->CancelTask(); 94 model_->CancelTask();
98 break; 95 break;
99 case TOGGLE_PAUSE: 96 case TOGGLE_PAUSE:
100 // It is possible for the download to complete before the user clicks the 97 // It is possible for the download to complete before the user clicks the
101 // menu item, recheck if the download is in progress state before toggling 98 // menu item, recheck if the download is in progress state before toggling
102 // pause. 99 // pause.
103 if (download_->state() == DownloadItem::IN_PROGRESS) 100 if (download_->state() == DownloadItem::IN_PROGRESS)
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); 149 ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
153 finished_download_menu_model_->AddSeparator(); 150 finished_download_menu_model_->AddSeparator();
154 finished_download_menu_model_->AddItemWithStringId( 151 finished_download_menu_model_->AddItemWithStringId(
155 SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW); 152 SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
156 finished_download_menu_model_->AddSeparator(); 153 finished_download_menu_model_->AddSeparator();
157 finished_download_menu_model_->AddItemWithStringId( 154 finished_download_menu_model_->AddItemWithStringId(
158 CANCEL, IDS_DOWNLOAD_MENU_CANCEL); 155 CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
159 156
160 return finished_download_menu_model_.get(); 157 return finished_download_menu_model_.get();
161 } 158 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_manager.cc ('k') | chrome/browser/download/download_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698