Chromium Code Reviews| Index: chrome/browser/resources/file_manager/js/file_manager.js |
| diff --git a/chrome/browser/resources/file_manager/js/file_manager.js b/chrome/browser/resources/file_manager/js/file_manager.js |
| index 3ac37665c5161b2ae5fa010b0d0579e6e7dc109f..e9683bda7a10e3ac81c770383dc6d13097d6aeea 100644 |
| --- a/chrome/browser/resources/file_manager/js/file_manager.js |
| +++ b/chrome/browser/resources/file_manager/js/file_manager.js |
| @@ -82,6 +82,15 @@ DialogType.isModal = function(type) { |
| }; |
| /** |
| + * @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 |
| */ |
| @@ -838,6 +847,17 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| 'pathclick', this.onBreadcrumbClick_.bind(this)); |
| this.searchBreadcrumbs_.setHideLast(false); |
| + this.previewPanel_ = new PreviewPanel( |
| + dom.querySelector('.preview-panel'), |
| + DialogType.isOpenDialog(this.dialogType) ? |
| + PreviewPanel.VisibilityType.ALWAYS : |
|
yoshiki
2013/09/04 13:45:02
ALWAYS_VISIBLE or FORCE_VISIBLE is better, instead
hirono
2013/09/05 02:26:20
Done.
|
| + 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_; |
| @@ -1062,10 +1082,6 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| 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(); |
| @@ -1504,8 +1520,9 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| * Resize details and thumb views to fit the new window size. |
| * @private |
| */ |
| - FileManager.prototype.onPreviewPanelVisibilityChanged_ = function(visible) { |
| - var panelHeight = visible ? this.getPreviewPanelHeight_() : 0; |
| + FileManager.prototype.onPreviewPanelVisibilityChange_ = function() { |
| + var panelHeight = this.previewPanel_.visible ? |
| + this.previewPanel_.height : 0; |
| this.grid_.setBottomMarginForPanel(panelHeight); |
| this.table_.setBottomMarginForPanel(panelHeight); |
| this.directoryTree_.setBottomMarginForPanel(panelHeight); |
| @@ -1516,7 +1533,11 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| * @private |
| */ |
| FileManager.prototype.onDragStart_ = function() { |
| - this.selectionHandler_.setPreviewPanelMustBeHidden(true); |
| + // On open file dialog, the preview panel is always shown. |
| + if (DialogType.isOpenDialog(this.dialogType)) |
| + return; |
| + this.selectionHandler_.previewPanel_.visibilityType = |
|
yoshiki
2013/09/04 13:45:02
We can't access this.selectionHandler_.previewPane
hirono
2013/09/05 02:26:20
Done.
|
| + PreviewPanel.VisibilityType.HIDDEN; |
|
yoshiki
2013/09/04 13:45:02
ALWAYS_HIDDEN or FORCE_HIDDEN?
hirono
2013/09/05 02:26:20
Done.
|
| }; |
| /** |
| @@ -1524,21 +1545,11 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| * @private |
| */ |
| FileManager.prototype.onDragEnd_ = function() { |
| - 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_; |
| + // On open file dialog, the preview panel is always shown. |
| + if (DialogType.isOpenDialog(this.dialogType)) |
| + return; |
| + this.selectionHandler_.previewPanel_.visibilityType = |
| + PreviewPanel.VisibilityType.AUTO; |
| }; |
| /** |
| @@ -2465,6 +2476,7 @@ var BOTTOM_MARGIN_FOR_PREVIEW_PANEL_PX = 52; |
| this.updateUnformattedDriveStatus_(); |
| this.updateTitle_(); |
| this.updateGearMenu_(); |
| + this.previewPanel_.currentPath_ = this.getCurrentDirectory(); |
| }; |
| /** |