| Index: chrome/browser/resources/file_manager/foreground/js/file_manager.js
|
| diff --git a/chrome/browser/resources/file_manager/foreground/js/file_manager.js b/chrome/browser/resources/file_manager/foreground/js/file_manager.js
|
| index e39955e48ae4e87eeb5b68642fc5ffc9f7cbb46a..ce870d477a7c7d8e143718534e3882d0bdcf74b5 100644
|
| --- a/chrome/browser/resources/file_manager/foreground/js/file_manager.js
|
| +++ b/chrome/browser/resources/file_manager/foreground/js/file_manager.js
|
| @@ -44,6 +44,13 @@ function FileManager() {
|
| * @private
|
| */
|
| this.currentVolumeInfo_ = null;
|
| +
|
| + /**
|
| + * Whether to show dot files in the non-Drive folder. Default: false.
|
| + * @type {boolean}
|
| + * @private
|
| + */
|
| + this.dotFilesHidden_ = false;
|
| }
|
|
|
| FileManager.prototype = {
|
| @@ -907,9 +914,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
|
| this.dialogType == DialogType.SELECT_UPLOAD_FOLDER ||
|
| this.dialogType == DialogType.SELECT_SAVEAS_FILE;
|
|
|
| - this.fileFilter_ = new FileFilter(
|
| - this.metadataCache_,
|
| - false /* Don't show dot files by default. */);
|
| + this.fileFilter_ = new FileFilter(this.metadataCache_);
|
|
|
| this.fileWatcher_ = new FileWatcher(this.metadataCache_);
|
| this.fileWatcher_.addEventListener(
|
| @@ -1313,6 +1318,32 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
|
| };
|
|
|
| /**
|
| + * Filters dot files if the setting is enabled and the current directory is
|
| + * '/Downloads'.
|
| + *
|
| + * @return {boolean} True if the filter is enabled, false otherwise.
|
| + * @private
|
| + */
|
| + FileManager.prototype.updateDotFilesFilter_ = function() {
|
| + var enabled =
|
| + this.dotFilesHidden_ &&
|
| + this.currentVolumeInfo_ &&
|
| + this.currentVolumeInfo_.volumeType !== util.VolumeType.DRIVE;
|
| +
|
| + if (enabled) {
|
| + this.fileFilter_.addFilter(
|
| + 'dot-file-hidden',
|
| + function(entry) {
|
| + return (entry.name.charAt(0) !== '.');
|
| + });
|
| + } else {
|
| + this.fileFilter_.removeFilter('dot-file-hidden');
|
| + }
|
| +
|
| + return enabled;
|
| + };
|
| +
|
| + /**
|
| * Resize details and thumb views to fit the new window size.
|
| * @private
|
| */
|
| @@ -2308,6 +2339,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
|
| '' /* selectionPath */,
|
| '' /* opt_param */);
|
|
|
| + this.updateDotFilesFilter_();
|
| +
|
| if (this.commandHandler)
|
| this.commandHandler.updateAvailability();
|
|
|
| @@ -2841,9 +2874,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
|
|
|
| switch (util.getKeyModifiers(event) + event.keyCode) {
|
| case 'Ctrl-190': // Ctrl-. => Toggle filter files.
|
| - this.fileFilter_.setFilterHidden(
|
| - !this.fileFilter_.isFilterHiddenOn());
|
| - event.preventDefault();
|
| + this.dotFilesHidden_ = !this.dotFilesHidden_;
|
| + this.updateDotFilesFilter_();
|
| return;
|
|
|
| case '27': // Escape => Cancel dialog.
|
| @@ -3310,7 +3342,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
|
| msg = str('ERROR_WHITESPACE_NAME');
|
| } else if (/^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i.test(name)) {
|
| msg = str('ERROR_RESERVED_NAME');
|
| - } else if (this.fileFilter_.isFilterHiddenOn() && name[0] == '.') {
|
| + } else if (this.updateDotFilesFilter_() && name[0] == '.') {
|
| msg = str('ERROR_HIDDEN_NAME');
|
| }
|
|
|
|
|