From 61e0cf066d44a2cb5ca1c38d87c0f190836a2aa1 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 9 Jul 2018 12:06:58 +0200 Subject: [PATCH] Restore "snap to minimize/maximize" feature with grid editor layout (fixes #51614) --- src/vs/base/browser/ui/grid/grid.ts | 7 ++++++- src/vs/workbench/browser/parts/editor/editorPart.ts | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/vs/base/browser/ui/grid/grid.ts b/src/vs/base/browser/ui/grid/grid.ts index 15e572c3030..649ca14073d 100644 --- a/src/vs/base/browser/ui/grid/grid.ts +++ b/src/vs/base/browser/ui/grid/grid.ts @@ -279,10 +279,15 @@ export class Grid implements IDisposable { getViewSize(view: T): number { const location = this.getViewLocation(view); const viewSize = this.gridview.getViewSize(location); - return getLocationOrientation(this.orientation, location) === Orientation.HORIZONTAL ? viewSize.width : viewSize.height; } + // TODO@joao cleanup + getViewSize2(view: T): { width: number; height: number; } { + const location = this.getViewLocation(view); + return this.gridview.getViewSize(location); + } + maximizeViewSize(view: T): void { const location = this.getViewLocation(view); this.gridview.maximizeViewSize(location); diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index e5631a42a10..36d3ffb96b5 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -544,6 +544,14 @@ export class EditorPart extends Part implements EditorGroupsServiceImpl, IEditor // Mark group as new active group.setActive(true); + // Maximize the group if it is currently minimized + if (this.gridWidget) { + const viewSize = this.gridWidget.getViewSize2(group); + if (viewSize.width === group.minimumWidth || viewSize.height === group.minimumHeight) { + this.arrangeGroups(GroupsArrangement.MINIMIZE_OTHERS); + } + } + // Event this._onDidActiveGroupChange.fire(group); } -- GitLab