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

Unified Diff: ui/file_manager/file_manager/foreground/js/file_manager.js

Issue 443333003: Show location, search button, and change-view button on the toolbar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 4 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: ui/file_manager/file_manager/foreground/js/file_manager.js
diff --git a/ui/file_manager/file_manager/foreground/js/file_manager.js b/ui/file_manager/file_manager/foreground/js/file_manager.js
index 8d097fb714dcc0f109500398725f2ceeb7238b50..e0060a1364b017c9e1ca490169622c71d6e44852 100644
--- a/ui/file_manager/file_manager/foreground/js/file_manager.js
+++ b/ui/file_manager/file_manager/foreground/js/file_manager.js
@@ -490,29 +490,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
'menuitem, hr';
cr.ui.decorate(this.gearButton_, cr.ui.MenuButton);
- if (this.dialogType == DialogType.FULL_PAGE) {
- // This is to prevent the buttons from stealing focus on mouse down.
- var preventFocus = function(event) {
- event.preventDefault();
- };
-
- var minimizeButton = this.dialogDom_.querySelector('#minimize-button');
- minimizeButton.addEventListener('click', this.onMinimize.bind(this));
- minimizeButton.addEventListener('mousedown', preventFocus);
-
- var maximizeButton = this.dialogDom_.querySelector('#maximize-button');
- maximizeButton.addEventListener('click', this.onMaximize.bind(this));
- maximizeButton.addEventListener('mousedown', preventFocus);
-
- var closeButton = this.dialogDom_.querySelector('#close-button');
- closeButton.addEventListener('click', this.onClose.bind(this));
- closeButton.addEventListener('mousedown', preventFocus);
- }
-
this.syncButton.checkable = true;
this.hostedButton.checkable = true;
- this.detailViewButton_.checkable = true;
- this.thumbnailViewButton_.checkable = true;
if (util.platform.runningInBrowser()) {
// Suppresses the default context menu.
@@ -523,22 +502,6 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
}
};
- FileManager.prototype.onMinimize = function() {
- chrome.app.window.current().minimize();
- };
-
- FileManager.prototype.onMaximize = function() {
- var appWindow = chrome.app.window.current();
- if (appWindow.isMaximized())
- appWindow.restore();
- else
- appWindow.maximize();
- };
-
- FileManager.prototype.onClose = function() {
- window.close();
- };
-
FileManager.prototype.onShowGearMenu_ = function() {
this.refreshRemainingSpace_(false); /* Without loading caption. */
@@ -815,6 +778,13 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.table_, this.metadataCache_, this.volumeManager_, fullPage);
FileGrid.decorate(this.grid_, this.metadataCache_, this.volumeManager_);
+ this.ui_.locationBreadcrumbs = new BreadcrumbsController(
+ dom.querySelector('#location-breadcrumbs'),
+ this.metadataCache_,
+ this.volumeManager_);
+ this.ui_.locationBreadcrumbs.addEventListener(
+ 'pathclick', this.onBreadcrumbClick_.bind(this));
+
this.previewPanel_ = new PreviewPanel(
dom.querySelector('.preview-panel'),
DialogType.isOpenDialog(this.dialogType) ?
@@ -827,9 +797,6 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.onPreviewPanelVisibilityChange_.bind(this));
this.previewPanel_.initialize();
- this.previewPanel_.breadcrumbs.addEventListener(
- 'pathclick', this.onBreadcrumbClick_.bind(this));
-
// Initialize progress center panel.
this.progressCenterPanel_ = new ProgressCenterPanel(
dom.querySelector('#progress-center'));
@@ -877,15 +844,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.hostedButton = this.dialogDom_.querySelector(
'#gear-menu-drive-hosted-settings');
- this.detailViewButton_ =
- this.dialogDom_.querySelector('#detail-view');
- this.detailViewButton_.addEventListener('activate',
- this.onDetailViewButtonClick_.bind(this));
-
- this.thumbnailViewButton_ =
- this.dialogDom_.querySelector('#thumbnail-view');
- this.thumbnailViewButton_.addEventListener('activate',
- this.onThumbnailViewButtonClick_.bind(this));
+ this.ui_.toggleViewButton.addEventListener('click',
+ this.onToggleViewButtonClick_.bind(this));
cr.ui.ComboButton.decorate(this.taskItems_);
this.taskItems_.showMenu = function(shouldSetFocus) {
@@ -1179,10 +1139,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.table_.hidden = false;
/** @type {cr.ui.List} */
this.currentList_ = this.table_.list;
- this.detailViewButton_.setAttribute('checked', '');
- this.thumbnailViewButton_.removeAttribute('checked');
- this.detailViewButton_.setAttribute('disabled', '');
- this.thumbnailViewButton_.removeAttribute('disabled');
+ this.ui_.toggleViewButton.classList.remove('table');
+ this.ui_.toggleViewButton.classList.add('grid');
} else if (type == FileManager.ListType.THUMBNAIL) {
this.grid_.dataModel = this.directoryModel_.getFileList();
this.grid_.selectionModel = this.directoryModel_.getFileListSelection();
@@ -1193,10 +1151,8 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.grid_.hidden = false;
/** @type {cr.ui.List} */
this.currentList_ = this.grid_;
- this.thumbnailViewButton_.setAttribute('checked', '');
- this.detailViewButton_.removeAttribute('checked');
- this.thumbnailViewButton_.setAttribute('disabled', '');
- this.detailViewButton_.removeAttribute('disabled');
+ this.ui_.toggleViewButton.classList.remove('grid');
+ this.ui_.toggleViewButton.classList.add('table');
} else {
throw new Error('Unknown list type: ' + type);
}
@@ -1377,7 +1333,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
if (this.directoryTree_)
this.directoryTree_.relayout();
- this.previewPanel_.breadcrumbs.truncate();
+ this.ui_.locationBreadcrumbs.truncate();
};
/**
@@ -2232,6 +2188,30 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
};
/**
+ * Updates the location information displayed on the toolbar.
+ * @param {DirectoryEntry=} opt_entry Directory entry to be displayed as
+ * current location. Default entry is the current directory.
+ * @private
+ */
+ FileManager.prototype.updateLocationLine_ = function(opt_entry) {
+ var entry = opt_entry || this.getCurrentDirectoryEntry();
+ // Updates volume icon.
+ var location = this.volumeManager_.getLocationInfo(entry);
+ if (location && location.rootType && location.isRootEntry) {
+ this.ui_.locationVolumeIcon.setAttribute(
+ 'volume-type-icon', location.rootType);
+ this.ui_.locationVolumeIcon.removeAttribute('volume-subtype');
+ } else {
+ this.ui_.locationVolumeIcon.setAttribute(
+ 'volume-type-icon', location.volumeInfo.volumeType);
+ this.ui_.locationVolumeIcon.setAttribute(
+ 'volume-subtype', location.volumeInfo.deviceType);
+ }
+ // Updates breadcrumbs.
+ this.ui_.locationBreadcrumbs.show(entry);
+ };
+
+ /**
* Update the gear menu.
* @private
*/
@@ -2384,6 +2364,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
this.updateUnformattedVolumeStatus_();
this.updateTitle_();
+ this.updateLocationLine_();
var currentEntry = this.getCurrentDirectoryEntry();
this.previewPanel_.currentEntry = util.isFakeEntry(currentEntry) ?
@@ -2908,29 +2889,17 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
};
/**
+ * Handles click event on the toggle-view button.
* @param {Event} event Click event.
* @private
*/
- FileManager.prototype.onDetailViewButtonClick_ = function(event) {
- // Stop propagate and hide the menu manually, in order to prevent the focus
- // from being back to the button. (cf. http://crbug.com/248479)
- event.stopPropagation();
- this.gearButton_.hideMenu();
- this.gearButton_.blur();
- this.setListType(FileManager.ListType.DETAIL);
- };
+ FileManager.prototype.onToggleViewButtonClick_ = function(event) {
+ if (this.listType_ === FileManager.ListType.DETAIL)
+ this.setListType(FileManager.ListType.THUMBNAIL);
+ else
+ this.setListType(FileManager.ListType.DETAIL);
- /**
- * @param {Event} event Click event.
- * @private
- */
- FileManager.prototype.onThumbnailViewButtonClick_ = function(event) {
- // Stop propagate and hide the menu manually, in order to prevent the focus
- // from being back to the button. (cf. http://crbug.com/248479)
- event.stopPropagation();
- this.gearButton_.hideMenu();
- this.gearButton_.blur();
- this.setListType(FileManager.ListType.THUMBNAIL);
+ event.target.blur();
};
/**
@@ -3509,10 +3478,23 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52;
} else {
noResultsDiv.removeAttribute('show');
}
+
+ // If the current location is somewhere in Drive, all files in Drive can
+ // be listed as search results regardless of current location.
+ // In this case, showing current location is confusing, so use the Drive
+ // root "My Drive" as the current location.
+ var entry = this.getCurrentDirectoryEntry();
+ var locationInfo = this.volumeManager_.getLocationInfo(entry);
+ if (locationInfo && locationInfo.isDriveBased) {
+ var rootEntry = locationInfo.volumeInfo.displayRoot;
+ if (rootEntry)
+ this.updateLocationLine_(rootEntry);
+ }
};
var hideNoResultsDiv = function() {
noResultsDiv.removeAttribute('show');
+ this.updateLocationLine_();
};
this.doSearch(searchString,

Powered by Google App Engine
This is Rietveld 408576698