diff options
author | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 04:37:34 +0000 |
---|---|---|
committer | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 04:37:34 +0000 |
commit | cd3ffdf8d846efcb2e63d2771becc4291feb746f (patch) | |
tree | 8fae4bb818b972f5647af80c4b5ed20ac1eab0f1 | |
parent | ad59b8735db3584d8ae196abd0d1c99483344893 (diff) | |
download | chromium_src-cd3ffdf8d846efcb2e63d2771becc4291feb746f.zip chromium_src-cd3ffdf8d846efcb2e63d2771becc4291feb746f.tar.gz chromium_src-cd3ffdf8d846efcb2e63d2771becc4291feb746f.tar.bz2 |
filemanager: Show the new left nav items when avaiable.
They are special searches and meaningless for dialogs to save a file.
BUG=168739,168741,168742
TEST=Open Files App and verify the left nav items work.
Review URL: https://chromiumcodereview.appspot.com/14031002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193572 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/resources/file_manager/js/directory_model.js | 30 | ||||
-rw-r--r-- | chrome/browser/resources/file_manager/js/file_manager.js | 8 |
2 files changed, 30 insertions, 8 deletions
diff --git a/chrome/browser/resources/file_manager/js/directory_model.js b/chrome/browser/resources/file_manager/js/directory_model.js index 627fae63..95bae86 100644 --- a/chrome/browser/resources/file_manager/js/directory_model.js +++ b/chrome/browser/resources/file_manager/js/directory_model.js @@ -20,10 +20,13 @@ var SHORT_RESCAN_INTERVAL = 100; * @param {MetadataCache} metadataCache The metadata cache service. * @param {VolumeManager} volumeManager The volume manager. * @param {boolean} isDriveEnabled True if DRIVE enabled (initial value). + * @param {boolean} showSpecialSearchRoots True if special-search roots are + * available. They should be hidden for the dialogs to save files. * @constructor */ function DirectoryModel(root, singleSelection, fileFilter, - metadataCache, volumeManager, isDriveEnabled) { + metadataCache, volumeManager, isDriveEnabled, + showSpecialSearchRoots) { this.root_ = root; this.fileListSelection_ = singleSelection ? new cr.ui.ListSingleSelectionModel() : new cr.ui.ListSelectionModel(); @@ -33,6 +36,7 @@ function DirectoryModel(root, singleSelection, fileFilter, this.rescanTime_ = null; this.scanFailures_ = 0; this.driveEnabled_ = isDriveEnabled; + this.showSpecialSearchRoots_ = showSpecialSearchRoots; this.fileFilter_ = fileFilter; this.fileFilter_.addEventListener('changed', @@ -87,6 +91,19 @@ DirectoryModel.fakeDriveSharedWithMeEntry_ = { isDirectory: true }; + +/** + * List of fake entries for special searches. + * TODO(haruki): Add the entry for "Recent". + * + * @type {Array.<Object>} + * @const + * @private + */ +DirectoryModel.fakeDriveSpecialSearchEntries_ = + [DirectoryModel.fakeDriveSharedWithMeEntry_, + DirectoryModel.fakeDriveOfflineEntry_]; + /** * DirectoryModel extends cr.EventTarget. */ @@ -989,7 +1006,7 @@ DirectoryModel.prototype.resolveRoots_ = function(callback) { archives: null, removables: null, drive: null, - driveFakeRoots: null + driveSpecialSearchRoots: null }; var self = this; @@ -1001,7 +1018,7 @@ DirectoryModel.prototype.resolveRoots_ = function(callback) { callback(groups.downloads. concat(groups.drive). - concat(groups.driveFakeRoots). + concat(groups.driveSpecialSearchRoots). concat(groups.archives). concat(groups.removables)); metrics.recordInterval('Load.Roots'); @@ -1037,9 +1054,8 @@ DirectoryModel.prototype.resolveRoots_ = function(callback) { append.bind(this, 'removables')); if (this.driveEnabled_) { - // TODO(haruki): Add fake special search entries. - // http://crbug.com/168742 http://crbug.com/168741 http://crbug.com/168739. - groups.driveFakeRoots = []; + groups.driveSpecialSearchRoots = this.showSpecialSearchRoots_ ? + DirectoryModel.fakeDriveSpecialSearchEntries_ : []; var fake = [DirectoryModel.fakeDriveEntry_]; if (this.isDriveMounted()) { readSingle(DirectoryModel.fakeDriveEntry_.fullPath, 'drive', fake); @@ -1048,7 +1064,7 @@ DirectoryModel.prototype.resolveRoots_ = function(callback) { done(); } } else { - groups.driveFakeRoots = []; + groups.driveSpecialSearchRoots = []; groups.drive = []; done(); } diff --git a/chrome/browser/resources/file_manager/js/file_manager.js b/chrome/browser/resources/file_manager/js/file_manager.js index 655f354..ab97097 100644 --- a/chrome/browser/resources/file_manager/js/file_manager.js +++ b/chrome/browser/resources/file_manager/js/file_manager.js @@ -897,6 +897,11 @@ DialogType.isModal = function(type) { this.dialogType == DialogType.SELECT_FOLDER || this.dialogType == DialogType.SELECT_SAVEAS_FILE; + var showSpecialSearchRoots = + this.dialogType == DialogType.SELECT_OPEN_FILE || + this.dialogType == DialogType.SELECT_OPEN_MULTI_FILE || + this.dialogType == DialogType.FULL_PAGE; + this.fileFilter_ = new FileFilter( this.metadataCache_, false /* Don't show dot files by default. */); @@ -907,7 +912,8 @@ DialogType.isModal = function(type) { this.fileFilter_, this.metadataCache_, this.volumeManager_, - this.isDriveEnabled()); + this.isDriveEnabled(), + showSpecialSearchRoots); this.directoryModel_.start(); |