From 1f1861e1d89303499ecd0f699ca40896fc7b83c8 Mon Sep 17 00:00:00 2001 From: jbicker Date: Fri, 14 Jun 2019 14:36:46 +0200 Subject: [PATCH] Adapted design of toolbar. Signed-off-by: jbicker --- .../browser/arduino-frontend-contribution.tsx | 21 +- .../browser/components/connected-boards.tsx | 3 +- .../src/browser/icons/buttons.svg | 869 ++++++++++++++++++ .../src/browser/style/main.css | 34 + .../toolbar/arduino-toolbar-contribution.ts | 9 +- .../src/browser/toolbar/arduino-toolbar.tsx | 55 +- 6 files changed, 947 insertions(+), 44 deletions(-) create mode 100644 arduino-ide-extension/src/browser/icons/buttons.svg diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index 3d6cc06c..9389324e 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -99,7 +99,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr isVisible: widget => this.isArduinoToolbar(widget), isEnabled: widget => this.isArduinoToolbar(widget), execute: async () => { - const widget = this.editorManager.currentEditor; + const widget = this.getCurrentWidget(); if (widget instanceof EditorWidget) { await widget.saveable.save(); } @@ -120,7 +120,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr isVisible: widget => this.isArduinoToolbar(widget), isEnabled: widget => this.isArduinoToolbar(widget), execute: async () => { - const widget = this.editorManager.currentEditor; + const widget = this.getCurrentWidget(); if (widget instanceof EditorWidget) { await widget.saveable.save(); } @@ -148,7 +148,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr await this.sketchFactory.createNewSketch(uri); } catch (e) { await this.messageService.error(e.toString()); - } + } } })); registry.registerCommand(ArduinoCommands.REFRESH_BOARDS, { @@ -157,13 +157,24 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr }) } + protected getCurrentWidget(): EditorWidget | undefined { + let widget = this.editorManager.currentEditor; + if (!widget) { + const visibleWidgets = this.editorManager.all.filter(w => w.isVisible); + if (visibleWidgets.length > 0) { + widget = visibleWidgets[0]; + } + } + return widget; + } + private async onNoBoardsInstalled() { const action = await this.messageService.info("You have no boards installed. Use the boards mangager to install one.", "Open Boards Manager"); if (!action) { return; } - this.boardsListWidgetFrontendContribution.openView({reveal: true}); + this.boardsListWidgetFrontendContribution.openView({ reveal: true }); } private async onUnknownBoard() { @@ -173,7 +184,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr return; } - this.boardsListWidgetFrontendContribution.openView({reveal: true}); + this.boardsListWidgetFrontendContribution.openView({ reveal: true }); } private isArduinoToolbar(maybeToolbarWidget: any): boolean { diff --git a/arduino-ide-extension/src/browser/components/connected-boards.tsx b/arduino-ide-extension/src/browser/components/connected-boards.tsx index 163e2e72..e90163e4 100644 --- a/arduino-ide-extension/src/browser/components/connected-boards.tsx +++ b/arduino-ide-extension/src/browser/components/connected-boards.tsx @@ -3,6 +3,7 @@ import { BoardsService, Board } from '../../common/protocol/boards-service'; // import { SelectBoardDialog } from './select-board-dialog'; import { QuickPickService } from '@theia/core/lib/common/quick-pick-service'; import { BoardsNotificationService } from '../boards-notification-service'; +import { ARDUINO_TOOLBAR_ITEM_CLASS } from '../toolbar/arduino-toolbar'; export class ConnectedBoards extends React.Component { static TOOLBAR_ID: 'connected-boards-toolbar'; @@ -28,7 +29,7 @@ export class ConnectedBoards extends React.Component{label} ]; } - return
+ return