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

Unified Diff: trunk/src/chrome/browser/resources/file_manager/js/file_manager.js

Issue 23903018: Revert 221579 "Files.app: Let the PreviewPanel class control the..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 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
« no previous file with comments | « no previous file | trunk/src/chrome/browser/resources/file_manager/js/file_selection.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/chrome/browser/resources/file_manager/js/file_manager.js
===================================================================
--- trunk/src/chrome/browser/resources/file_manager/js/file_manager.js (revision 221612)
+++ trunk/src/chrome/browser/resources/file_manager/js/file_manager.js (working copy)
@@ -82,15 +82,6 @@
};
/**
- * @param {string} type Dialog type.
- * @return {boolean} Whther the type is open dialog.
- */
-DialogType.isOpenDialog = function(type) {
- return type == DialogType.SELECT_OPEN_FILE ||
- type == DialogType.SELECT_OPEN_MULTI_FILE;
-};
-
-/**
* Bottom magrin of the list and tree for transparent preview panel.
* @const
*/
@@ -842,17 +833,6 @@
'pathclick', this.onBreadcrumbClick_.bind(this));
this.searchBreadcrumbs_.setHideLast(false);
- this.previewPanel_ = new PreviewPanel(
- dom.querySelector('.preview-panel'),
- DialogType.isOpenDialog(this.dialogType) ?
- PreviewPanel.VisibilityType.ALWAYS_VISIBLE :
- PreviewPanel.VisibilityType.AUTO,
- this.getCurrentDirectory());
- this.previewPanel_.addEventListener(
- PreviewPanel.Event.VISIBILITY_CHANGE,
- this.onPreviewPanelVisibilityChange_.bind(this));
- this.previewPanel_.initialize();
-
// Check the option to hide the selecting checkboxes.
this.table_.showCheckboxes = this.showCheckboxes_;
@@ -1077,6 +1057,10 @@
this.folderShortcutsModel_ = new FolderShortcutsDataModel();
this.selectionHandler_ = new FileSelectionHandler(this);
+ this.selectionHandler_.addEventListener('show-preview-panel',
+ this.onPreviewPanelVisibilityChanged_.bind(this, true));
+ this.selectionHandler_.addEventListener('hide-preview-panel',
+ this.onPreviewPanelVisibilityChanged_.bind(this, false));
var dataModel = this.directoryModel_.getFileList();
@@ -1515,9 +1499,8 @@
* Resize details and thumb views to fit the new window size.
* @private
*/
- FileManager.prototype.onPreviewPanelVisibilityChange_ = function() {
- var panelHeight = this.previewPanel_.visible ?
- this.previewPanel_.height : 0;
+ FileManager.prototype.onPreviewPanelVisibilityChanged_ = function(visible) {
+ var panelHeight = visible ? this.getPreviewPanelHeight_() : 0;
this.grid_.setBottomMarginForPanel(panelHeight);
this.table_.setBottomMarginForPanel(panelHeight);
this.directoryTree_.setBottomMarginForPanel(panelHeight);
@@ -1528,11 +1511,7 @@
* @private
*/
FileManager.prototype.onDragStart_ = function() {
- // On open file dialog, the preview panel is always shown.
- if (DialogType.isOpenDialog(this.dialogType))
- return;
- this.previewPanel_.visibilityType =
- PreviewPanel.VisibilityType.ALWAYS_HIDDEN;
+ this.selectionHandler_.setPreviewPanelMustBeHidden(true);
};
/**
@@ -1540,13 +1519,24 @@
* @private
*/
FileManager.prototype.onDragEnd_ = function() {
- // On open file dialog, the preview panel is always shown.
- if (DialogType.isOpenDialog(this.dialogType))
- return;
- this.previewPanel_.visibilityType = PreviewPanel.VisibilityType.AUTO;
+ this.selectionHandler_.setPreviewPanelMustBeHidden(false);
};
/**
+ * Gets height of the preview panel, using cached value if available. This
+ * returns the value even when the preview panel is hidden.
+ *
+ * @return {number} Height of the preview panel. If failure, returns 0.
+ */
+ FileManager.prototype.getPreviewPanelHeight_ = function() {
+ if (!this.cachedPreviewPanelHeight_) {
+ var previewPanel = this.dialogDom_.querySelector('.preview-panel');
+ this.cachedPreviewPanelHeight_ = previewPanel.clientHeight;
+ }
+ return this.cachedPreviewPanelHeight_;
+ };
+
+ /**
* Restores current directory and may be a selected item after page load (or
* reload) or popping a state (after click on back/forward). If location.hash
* is present it means that the user has navigated somewhere and that place
@@ -2472,7 +2462,6 @@
this.updateUnformattedDriveStatus_();
this.updateTitle_();
this.updateGearMenu_();
- this.previewPanel_.currentPath_ = this.getCurrentDirectory();
};
/**
« no previous file with comments | « no previous file | trunk/src/chrome/browser/resources/file_manager/js/file_selection.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698