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() {} |