mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-10 12:56:32 +00:00
Made the CLI config closeable in classic mode.
Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
parent
55ce04fe3f
commit
d29141aff6
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
import { injectable, inject } from 'inversify';
|
import { injectable, inject } from 'inversify';
|
||||||
import { ApplicationShell, Widget, Saveable, FocusTracker, Message } from '@theia/core/lib/browser';
|
import { CommandService } from '@theia/core/lib/common/command';
|
||||||
import { EditorWidget } from '@theia/editor/lib/browser';
|
import { ApplicationShell, Widget } from '@theia/core/lib/browser';
|
||||||
import { EditorMode } from '../editor-mode';
|
import { EditorMode } from '../editor-mode';
|
||||||
import { CommandService } from '@theia/core';
|
|
||||||
import { ArduinoCommands } from '../arduino-commands';
|
import { ArduinoCommands } from '../arduino-commands';
|
||||||
|
import { EditorWidget } from '@theia/editor/lib/browser';
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class ArduinoApplicationShell extends ApplicationShell {
|
export class ArduinoApplicationShell extends ApplicationShell {
|
||||||
@ -19,18 +19,10 @@ export class ArduinoApplicationShell extends ApplicationShell {
|
|||||||
if (this.editorMode.proMode) {
|
if (this.editorMode.proMode) {
|
||||||
super.track(widget);
|
super.track(widget);
|
||||||
} else {
|
} else {
|
||||||
const tracker = (this as any).tracker as FocusTracker<Widget>;
|
if (widget instanceof EditorWidget && widget.editor.uri.toString().endsWith('arduino-cli.yaml')) {
|
||||||
tracker.add(widget);
|
return;
|
||||||
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)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
widget.title.closable = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,13 +31,4 @@ export class ArduinoApplicationShell extends ApplicationShell {
|
|||||||
await this.commandService.executeCommand(ArduinoCommands.SAVE_SKETCH_AS.id, { execOnlyIfTemp: true });
|
await this.commandService.executeCommand(ArduinoCommands.SAVE_SKETCH_AS.id, { execOnlyIfTemp: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
private disableClose(widget: Widget | undefined): void {
|
|
||||||
if (widget instanceof EditorWidget) {
|
|
||||||
const onCloseRequest = (_: Message) => {
|
|
||||||
// NOOP
|
|
||||||
};
|
|
||||||
(widget as any).onCloseRequest = onCloseRequest.bind(widget);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
/* Do not show the `close` icon for editor, but show the dirty state if not in pro-mode. */
|
|
||||||
body:not(.arduino-advanced-mode) .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable:hover > .p-TabBar-tabCloseIcon,
|
|
||||||
body:not(.arduino-advanced-mode) .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-current > .p-TabBar-tabCloseIcon {
|
|
||||||
background-image: none;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
body:not(.arduino-advanced-mode) .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty:hover > .p-TabBar-tabCloseIcon,
|
|
||||||
body:not(.arduino-advanced-mode) .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:hover {
|
|
||||||
background-size: 10px;
|
|
||||||
background-image: var(--theia-icon-circle);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
@ -1,7 +1,6 @@
|
|||||||
@import './list-widget.css';
|
@import './list-widget.css';
|
||||||
@import './board-select-dialog.css';
|
@import './board-select-dialog.css';
|
||||||
@import './main.css';
|
@import './main.css';
|
||||||
@import './editor.css';
|
|
||||||
@import './monitor.css';
|
@import './monitor.css';
|
||||||
@import './arduino-select.css';
|
@import './arduino-select.css';
|
||||||
|
|
||||||
|
@ -28,7 +28,8 @@
|
|||||||
background: var(--theia-button-hoverBackground);
|
background: var(--theia-button-hoverBackground);
|
||||||
}
|
}
|
||||||
|
|
||||||
.arduino-verify, .arduino-upload {
|
.arduino-verify,
|
||||||
|
.arduino-upload {
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user