From 4e683b237deb63d7f092a39c11d28dfb394cfe6a Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Tue, 26 Nov 2019 10:33:59 +0100 Subject: [PATCH] Made the editors closeable in `pro` mode. Signed-off-by: Akos Kitta --- .../arduino-application-shell.ts | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/arduino-ide-extension/src/browser/customization/arduino-application-shell.ts b/arduino-ide-extension/src/browser/customization/arduino-application-shell.ts index e0c4b629..f6922d56 100644 --- a/arduino-ide-extension/src/browser/customization/arduino-application-shell.ts +++ b/arduino-ide-extension/src/browser/customization/arduino-application-shell.ts @@ -1,22 +1,35 @@ import { ApplicationShell, Widget, Saveable, FocusTracker, Message } from '@theia/core/lib/browser'; import { EditorWidget } from '@theia/editor/lib/browser'; +import { injectable, inject } from 'inversify'; +import { EditorMode } from '../editor-mode'; +@injectable() export class ArduinoApplicationShell extends ApplicationShell { + @inject(EditorMode) + protected readonly editorMode: EditorMode; + protected refreshBottomPanelToggleButton() { + if (this.editorMode.proMode) { + super.refreshBottomPanelToggleButton(); + } } protected async track(widget: Widget): Promise { - const tracker = (this as any).tracker as FocusTracker; - tracker.add(widget); - this.disableClose(Saveable.apply(widget)); - if (ApplicationShell.TrackableWidgetProvider.is(widget)) { - for (const toTrack of await widget.getTrackableWidgets()) { - tracker.add(toTrack); - this.disableClose(Saveable.apply(toTrack)); - } - if (widget.onDidChangeTrackableWidgets) { - widget.onDidChangeTrackableWidgets(widgets => widgets.forEach(w => this.track(w))); + if (this.editorMode.proMode) { + super.track(widget); + } else { + const tracker = (this as any).tracker as FocusTracker; + tracker.add(widget); + this.disableClose(Saveable.apply(widget)); + if (ApplicationShell.TrackableWidgetProvider.is(widget)) { + for (const toTrack of await widget.getTrackableWidgets()) { + tracker.add(toTrack); + this.disableClose(Saveable.apply(toTrack)); + } + if (widget.onDidChangeTrackableWidgets) { + widget.onDidChangeTrackableWidgets(widgets => widgets.forEach(w => this.track(w))); + } } } }