Skip to content

Commit 1f1861e

Browse files
committed
Adapted design of toolbar.
Signed-off-by: jbicker <jan.bicker@typefox.io>
1 parent 6a956af commit 1f1861e

File tree

6 files changed

+947
-44
lines changed

6 files changed

+947
-44
lines changed

arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr
9999
isVisible: widget => this.isArduinoToolbar(widget),
100100
isEnabled: widget => this.isArduinoToolbar(widget),
101101
execute: async () => {
102-
const widget = this.editorManager.currentEditor;
102+
const widget = this.getCurrentWidget();
103103
if (widget instanceof EditorWidget) {
104104
await widget.saveable.save();
105105
}
@@ -120,7 +120,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr
120120
isVisible: widget => this.isArduinoToolbar(widget),
121121
isEnabled: widget => this.isArduinoToolbar(widget),
122122
execute: async () => {
123-
const widget = this.editorManager.currentEditor;
123+
const widget = this.getCurrentWidget();
124124
if (widget instanceof EditorWidget) {
125125
await widget.saveable.save();
126126
}
@@ -148,7 +148,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr
148148
await this.sketchFactory.createNewSketch(uri);
149149
} catch (e) {
150150
await this.messageService.error(e.toString());
151-
}
151+
}
152152
}
153153
}));
154154
registry.registerCommand(ArduinoCommands.REFRESH_BOARDS, {
@@ -157,13 +157,24 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr
157157
})
158158
}
159159

160+
protected getCurrentWidget(): EditorWidget | undefined {
161+
let widget = this.editorManager.currentEditor;
162+
if (!widget) {
163+
const visibleWidgets = this.editorManager.all.filter(w => w.isVisible);
164+
if (visibleWidgets.length > 0) {
165+
widget = visibleWidgets[0];
166+
}
167+
}
168+
return widget;
169+
}
170+
160171
private async onNoBoardsInstalled() {
161172
const action = await this.messageService.info("You have no boards installed. Use the boards mangager to install one.", "Open Boards Manager");
162173
if (!action) {
163174
return;
164175
}
165176

166-
this.boardsListWidgetFrontendContribution.openView({reveal: true});
177+
this.boardsListWidgetFrontendContribution.openView({ reveal: true });
167178
}
168179

169180
private async onUnknownBoard() {
@@ -173,7 +184,7 @@ export class ArduinoFrontendContribution extends DefaultFrontendApplicationContr
173184
return;
174185
}
175186

176-
this.boardsListWidgetFrontendContribution.openView({reveal: true});
187+
this.boardsListWidgetFrontendContribution.openView({ reveal: true });
177188
}
178189

179190
private isArduinoToolbar(maybeToolbarWidget: any): boolean {

arduino-ide-extension/src/browser/components/connected-boards.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { BoardsService, Board } from '../../common/protocol/boards-service';
33
// import { SelectBoardDialog } from './select-board-dialog';
44
import { QuickPickService } from '@theia/core/lib/common/quick-pick-service';
55
import { BoardsNotificationService } from '../boards-notification-service';
6+
import { ARDUINO_TOOLBAR_ITEM_CLASS } from '../toolbar/arduino-toolbar';
67

78
export class ConnectedBoards extends React.Component<ConnectedBoards.Props, ConnectedBoards.State> {
89
static TOOLBAR_ID: 'connected-boards-toolbar';
@@ -28,7 +29,7 @@ export class ConnectedBoards extends React.Component<ConnectedBoards.Props, Conn
2829
content = [ <option key="loading" value="0">{label}</option> ];
2930
}
3031

31-
return <div className={ConnectedBoards.Styles.CONNECTED_BOARDS_CLASS}>
32+
return <div className={`${ARDUINO_TOOLBAR_ITEM_CLASS} item ${ConnectedBoards.Styles.CONNECTED_BOARDS_CLASS}`}>
3233
<select disabled={!this.state.boards}
3334
onChange={this.onBoardSelect.bind(this)}
3435
value={this.state.selection}>

0 commit comments

Comments
 (0)