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

Unified Diff: chrome/browser/media_galleries/media_galleries_scan_result_controller.cc

Issue 318733003: Use the media galleries controller interface for the scan result dialog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 6 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/media_galleries/media_galleries_scan_result_controller.cc
diff --git a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc b/chrome/browser/media_galleries/media_galleries_scan_result_controller.cc
similarity index 75%
rename from chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc
rename to chrome/browser/media_galleries/media_galleries_scan_result_controller.cc
index b5cd3fe826f32b0d233a0e7556d118f45f3cbbe1..9462430c2a2fadb1e363e5ed930fbecb87198381 100644
--- a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc
+++ b/chrome/browser/media_galleries/media_galleries_scan_result_controller.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.h"
+#include "chrome/browser/media_galleries/media_galleries_scan_result_controller.h"
#include <algorithm>
#include <list>
@@ -32,11 +32,11 @@ using storage_monitor::StorageMonitor;
namespace {
-// Comparator for sorting OrderedScanResults -- more files first and then sorts
-// by absolute path.
+// Comparator for sorting Entries -- more files first and then sorts by
+// absolute path.
bool ScanResultsComparator(
- const MediaGalleriesScanResultDialogController::ScanResult& a,
- const MediaGalleriesScanResultDialogController::ScanResult& b) {
+ const MediaGalleriesDialogController::Entry& a,
+ const MediaGalleriesDialogController::Entry& b) {
int a_media_count = a.pref_info.audio_count + a.pref_info.image_count +
a.pref_info.video_count;
int b_media_count = b.pref_info.audio_count + b.pref_info.image_count +
@@ -49,7 +49,7 @@ bool ScanResultsComparator(
} // namespace
// static
-size_t MediaGalleriesScanResultDialogController::ScanResultCountForExtension(
+size_t MediaGalleriesScanResultController::ScanResultCountForExtension(
MediaGalleriesPreferences* preferences,
const extensions::Extension* extension) {
ScanResults scan_results;
@@ -58,18 +58,14 @@ size_t MediaGalleriesScanResultDialogController::ScanResultCountForExtension(
return scan_results.size();
}
-MediaGalleriesScanResultDialogController::
-MediaGalleriesScanResultDialogController(
+MediaGalleriesScanResultController::MediaGalleriesScanResultController(
content::WebContents* web_contents,
const extensions::Extension& extension,
const base::Closure& on_finish)
: web_contents_(web_contents),
extension_(&extension),
- on_finish_(on_finish) {
- // TODO(vandebo): Put this in the intializer list after GTK is removed.
-#if defined(USE_AURA) || defined(OS_MACOSX)
- create_dialog_callback_ = base::Bind(&MediaGalleriesScanResultDialog::Create);
-#endif // USE_AURA || OS_MACOSX
+ on_finish_(on_finish),
+ create_dialog_callback_(base::Bind(&MediaGalleriesDialog::Create)) {
preferences_ =
g_browser_process->media_file_system_registry()->GetPreferences(
GetProfile());
@@ -77,17 +73,16 @@ MediaGalleriesScanResultDialogController(
// is self-deleting, and so won't be deleted until it can be shown
// and then closed.
preferences_->EnsureInitialized(base::Bind(
- &MediaGalleriesScanResultDialogController::OnPreferencesInitialized,
+ &MediaGalleriesScanResultController::OnPreferencesInitialized,
base::Unretained(this)));
// Unretained is safe because |this| owns |context_menu_|.
context_menu_.reset(new MediaGalleryContextMenu(base::Bind(
- &MediaGalleriesScanResultDialogController::DidForgetGallery,
+ &MediaGalleriesScanResultController::DidForgetEntry,
base::Unretained(this))));
}
-MediaGalleriesScanResultDialogController::
-MediaGalleriesScanResultDialogController(
+MediaGalleriesScanResultController::MediaGalleriesScanResultController(
const extensions::Extension& extension,
MediaGalleriesPreferences* preferences,
const CreateDialogCallback& create_dialog_callback,
@@ -100,8 +95,7 @@ MediaGalleriesScanResultDialogController(
OnPreferencesInitialized();
}
-MediaGalleriesScanResultDialogController::
-~MediaGalleriesScanResultDialogController() {
+MediaGalleriesScanResultController::~MediaGalleriesScanResultController() {
// |preferences_| may be NULL in tests.
if (preferences_)
preferences_->RemoveGalleryChangeObserver(this);
@@ -109,13 +103,13 @@ MediaGalleriesScanResultDialogController::
StorageMonitor::GetInstance()->RemoveObserver(this);
}
-base::string16 MediaGalleriesScanResultDialogController::GetHeader() const {
+base::string16 MediaGalleriesScanResultController::GetHeader() const {
return l10n_util::GetStringFUTF16(
IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_HEADER,
base::UTF8ToUTF16(extension_->name()));
}
-base::string16 MediaGalleriesScanResultDialogController::GetSubtext() const {
+base::string16 MediaGalleriesScanResultController::GetSubtext() const {
extensions::MediaGalleriesPermission::CheckParam copy_to_param(
extensions::MediaGalleriesPermission::kCopyToPermission);
extensions::MediaGalleriesPermission::CheckParam delete_param(
@@ -138,9 +132,27 @@ base::string16 MediaGalleriesScanResultDialogController::GetSubtext() const {
return l10n_util::GetStringFUTF16(id, base::UTF8ToUTF16(extension_->name()));
}
-MediaGalleriesScanResultDialogController::OrderedScanResults
-MediaGalleriesScanResultDialogController::GetGalleryList() const {
- OrderedScanResults result;
+bool MediaGalleriesScanResultController::IsAcceptAllowed() const {
+ return true;
+}
+
+bool MediaGalleriesScanResultController::ShouldShowFolderViewer(
+ const Entry& entry) const {
+ return entry.pref_info.IsGalleryAvailable();
+}
+
+std::vector<base::string16>
+MediaGalleriesScanResultController::GetSectionHeaders() const {
+ std::vector<base::string16> result;
+ result.push_back(base::string16());
+ return result;
+}
+
+MediaGalleriesDialogController::Entries
+MediaGalleriesScanResultController::GetSectionEntries(
+ size_t index) const {
+ DCHECK_EQ(0U, index);
+ Entries result;
result.reserve(scan_results_.size());
for (ScanResults::const_iterator it = scan_results_.begin();
it != scan_results_.end();
@@ -151,15 +163,24 @@ MediaGalleriesScanResultDialogController::GetGalleryList() const {
return result;
}
-void MediaGalleriesScanResultDialogController::DidToggleGalleryId(
+base::string16
+MediaGalleriesScanResultController::GetAuxiliaryButtonText() const {
+ return base::string16();
+}
+
+void MediaGalleriesScanResultController::DidClickAuxiliaryButton() {
+ NOTREACHED();
+}
+
+void MediaGalleriesScanResultController::DidToggleEntry(
MediaGalleryPrefId pref_id, bool selected) {
DCHECK(ContainsKey(scan_results_, pref_id));
ScanResults::iterator entry = scan_results_.find(pref_id);
entry->second.selected = selected;
}
-void MediaGalleriesScanResultDialogController::DidClickOpenFolderViewer(
- MediaGalleryPrefId pref_id) const {
+void MediaGalleriesScanResultController::DidClickOpenFolderViewer(
+ MediaGalleryPrefId pref_id) {
ScanResults::const_iterator entry = scan_results_.find(pref_id);
if (entry == scan_results_.end()) {
NOTREACHED();
@@ -168,15 +189,20 @@ void MediaGalleriesScanResultDialogController::DidClickOpenFolderViewer(
platform_util::OpenItem(GetProfile(), entry->second.pref_info.AbsolutePath());
}
-void MediaGalleriesScanResultDialogController::DidForgetGallery(
+void MediaGalleriesScanResultController::DidForgetEntry(
MediaGalleryPrefId pref_id) {
media_galleries::UsageCount(media_galleries::ADD_SCAN_RESULTS_FORGET_GALLERY);
results_to_remove_.insert(pref_id);
scan_results_.erase(pref_id);
- dialog_->UpdateResults();
+ dialog_->UpdateGalleries();
+}
+
+base::string16 MediaGalleriesScanResultController::GetAcceptButtonText() const {
+ return
+ l10n_util::GetStringUTF16(IDS_MEDIA_GALLERIES_SCAN_RESULT_DIALOG_CONFIRM);
Lei Zhang 2014/06/06 07:03:10 nit: add a new line after UTF16( instead?
vandebo (ex-Chrome) 2014/06/06 17:43:30 Done.
}
-void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) {
+void MediaGalleriesScanResultController::DialogFinished(bool accepted) {
// No longer interested in preference updates (and the below code generates
// some).
// |preferences_| may be NULL in tests.
@@ -216,21 +242,22 @@ void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) {
delete this;
}
-content::WebContents* MediaGalleriesScanResultDialogController::web_contents() {
- return web_contents_;
-}
-
-ui::MenuModel* MediaGalleriesScanResultDialogController::GetContextMenu(
+ui::MenuModel* MediaGalleriesScanResultController::GetContextMenu(
MediaGalleryPrefId id) {
context_menu_->set_pref_id(id);
return context_menu_.get();
}
+content::WebContents* MediaGalleriesScanResultController::WebContents() {
+ return web_contents_;
+}
+
// static
-void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences(
+void MediaGalleriesScanResultController::UpdateScanResultsFromPreferences(
MediaGalleriesPreferences* preferences,
const extensions::Extension* extension,
- MediaGalleryPrefIdSet ignore_list, ScanResults* scan_results) {
+ MediaGalleryPrefIdSet ignore_list,
+ ScanResults* scan_results) {
DCHECK(preferences->IsInitialized());
const MediaGalleriesPrefInfoMap& galleries = preferences->known_galleries();
MediaGalleryPrefIdSet permitted =
@@ -249,7 +276,7 @@ void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences(
ScanResults::iterator existing = scan_results->find(gallery.pref_id);
if (existing == scan_results->end()) {
// Default to selected.
- (*scan_results)[gallery.pref_id] = ScanResult(gallery, true);
+ (*scan_results)[gallery.pref_id] = Entry(gallery, true);
} else {
// Update pref_info, in case anything has been updated.
existing->second.pref_info = gallery;
@@ -277,7 +304,7 @@ void MediaGalleriesScanResultDialogController::UpdateScanResultsFromPreferences(
}
}
-void MediaGalleriesScanResultDialogController::OnPreferencesInitialized() {
+void MediaGalleriesScanResultController::OnPreferencesInitialized() {
// These may be NULL in tests.
if (StorageMonitor::GetInstance())
StorageMonitor::GetInstance()->AddObserver(this);
@@ -287,78 +314,72 @@ void MediaGalleriesScanResultDialogController::OnPreferencesInitialized() {
results_to_remove_, &scan_results_);
}
- // TODO(vandebo): Remove the conditional after GTK is removed.
- if (!create_dialog_callback_.is_null())
- dialog_.reset(create_dialog_callback_.Run(this));
+ dialog_.reset(create_dialog_callback_.Run(this));
}
-void MediaGalleriesScanResultDialogController::OnPreferenceUpdate(
+void MediaGalleriesScanResultController::OnPreferenceUpdate(
const std::string& extension_id) {
if (extension_id == extension_->id()) {
UpdateScanResultsFromPreferences(preferences_, extension_,
results_to_remove_, &scan_results_);
- dialog_->UpdateResults();
+ dialog_->UpdateGalleries();
}
}
-void MediaGalleriesScanResultDialogController::OnRemovableDeviceUpdate(
+void MediaGalleriesScanResultController::OnRemovableDeviceUpdate(
const std::string device_id) {
for (ScanResults::const_iterator it = scan_results_.begin();
it != scan_results_.end();
++it) {
if (it->second.pref_info.device_id == device_id) {
- dialog_->UpdateResults();
+ dialog_->UpdateGalleries();
return;
}
}
}
-Profile* MediaGalleriesScanResultDialogController::GetProfile() const {
+Profile* MediaGalleriesScanResultController::GetProfile() const {
return Profile::FromBrowserContext(web_contents_->GetBrowserContext());
}
-void MediaGalleriesScanResultDialogController::OnRemovableStorageAttached(
+void MediaGalleriesScanResultController::OnRemovableStorageAttached(
const StorageInfo& info) {
OnRemovableDeviceUpdate(info.device_id());
}
-void MediaGalleriesScanResultDialogController::OnRemovableStorageDetached(
+void MediaGalleriesScanResultController::OnRemovableStorageDetached(
const StorageInfo& info) {
OnRemovableDeviceUpdate(info.device_id());
}
-void MediaGalleriesScanResultDialogController::OnPermissionAdded(
+void MediaGalleriesScanResultController::OnPermissionAdded(
MediaGalleriesPreferences* /*pref*/,
const std::string& extension_id,
MediaGalleryPrefId /*pref_id*/) {
OnPreferenceUpdate(extension_id);
}
-void MediaGalleriesScanResultDialogController::OnPermissionRemoved(
+void MediaGalleriesScanResultController::OnPermissionRemoved(
MediaGalleriesPreferences* /*pref*/,
const std::string& extension_id,
MediaGalleryPrefId /*pref_id*/) {
OnPreferenceUpdate(extension_id);
}
-void MediaGalleriesScanResultDialogController::OnGalleryAdded(
+void MediaGalleriesScanResultController::OnGalleryAdded(
MediaGalleriesPreferences* /*prefs*/,
MediaGalleryPrefId /*pref_id*/) {
OnPreferenceUpdate(extension_->id());
}
-void MediaGalleriesScanResultDialogController::OnGalleryRemoved(
+void MediaGalleriesScanResultController::OnGalleryRemoved(
MediaGalleriesPreferences* /*prefs*/,
MediaGalleryPrefId /*pref_id*/) {
OnPreferenceUpdate(extension_->id());
}
-void MediaGalleriesScanResultDialogController::OnGalleryInfoUpdated(
+void MediaGalleriesScanResultController::OnGalleryInfoUpdated(
MediaGalleriesPreferences* /*prefs*/,
MediaGalleryPrefId /*pref_id*/) {
OnPreferenceUpdate(extension_->id());
}
-
-// MediaGalleriesScanResultDialog ---------------------------------------------
-
-MediaGalleriesScanResultDialog::~MediaGalleriesScanResultDialog() {}

Powered by Google App Engine
This is Rietveld 408576698