Skip to content

Commit 54d90d5

Browse files
committed
Added save button and turned auto save on by default.
Signed-off-by: jbicker <jan.bicker@typefox.io>
1 parent f4f7a99 commit 54d90d5

File tree

5 files changed

+41
-8
lines changed

5 files changed

+41
-8
lines changed

arduino-ide-browser/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@
3131
"frontend": {
3232
"config": {
3333
"applicationName": "Arduino-PoC",
34-
"defaultTheme": "arduino-theme"
34+
"defaultTheme": "arduino-theme",
35+
"preferences": {
36+
"editor.autoSave": "on"
37+
}
3538
}
3639
}
3740
}

arduino-ide-electron/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
"frontend": {
3535
"config": {
3636
"applicationName": "Arduino-PoC",
37-
"defaultTheme": "arduino-theme"
37+
"defaultTheme": "arduino-theme",
38+
"preferences": {
39+
"editor.autoSave": "on"
40+
}
3841
}
3942
}
4043
}

arduino-ide-extension/src/browser/arduino-commands.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ export namespace ArduinoCommands {
2525
id: 'arduino-open-file'
2626
}
2727

28+
export const SAVE_SKETCH: Command = {
29+
id: 'arduino-save-file'
30+
}
31+
2832
export const NEW_SKETCH: Command = {
2933
id: "arduino-new-sketch",
3034
label: 'New Sketch',

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { FileSystem } from '@theia/filesystem/lib/common';
2626
import { ArduinoOpenSketchContextMenu } from './arduino-file-menu';
2727
import { Sketch, SketchesService } from '../common/protocol/sketches-service';
2828
import { WindowService } from '@theia/core/lib/browser/window/window-service';
29+
import { CommonCommands } from '@theia/core/lib/browser/common-frontend-contribution'
2930

3031
@injectable()
3132
export class ArduinoFrontendContribution implements TabBarToolbarContribution, CommandContribution {
@@ -112,6 +113,13 @@ export class ArduinoFrontendContribution implements TabBarToolbarContribution, C
112113
group: 'arduino',
113114
text: '$(arrow-up)'
114115
});
116+
registry.registerItem({
117+
id: ArduinoCommands.SAVE_SKETCH.id,
118+
command: ArduinoCommands.SAVE_SKETCH.id,
119+
tooltip: 'Save',
120+
group: 'arduino',
121+
text: '$(arrow-down)'
122+
});
115123
registry.registerItem({
116124
id: ConnectedBoards.TOOLBAR_ID,
117125
render: () => <ConnectedBoards
@@ -190,6 +198,13 @@ export class ArduinoFrontendContribution implements TabBarToolbarContribution, C
190198
this.openSketchFilesInNewWindow(sketch.uri);
191199
}
192200
})
201+
registry.registerCommand(ArduinoCommands.SAVE_SKETCH, {
202+
isEnabled: widget => this.isArduinoToolbar(widget),
203+
isVisible: widget => this.isArduinoToolbar(widget),
204+
execute: async (sketch: Sketch) => {
205+
registry.executeCommand(CommonCommands.SAVE_ALL.id);
206+
}
207+
})
193208
registry.registerCommand(ArduinoCommands.NEW_SKETCH, new WorkspaceRootUriAwareCommandHandler(this.workspaceService, this.selectionService, {
194209
execute: async uri => {
195210
try {

arduino-ide-extension/src/browser/style/main.css

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,25 @@
1010
color: var(--theia-ui-font-color3);
1111
}
1212

13-
#arduino-verify {
13+
#arduino-verify.arduino-tool-icon:hover,
14+
#arduino-save-file.arduino-tool-icon:hover,
15+
#arduino-show-open-context-menu.arduino-tool-icon:hover,
16+
#arduino-upload.arduino-tool-icon:hover {
17+
background-position-y: 45px;
18+
}
19+
20+
#arduino-save-file {
1421
background: url(../icons/buttons.svg);
1522
background-size: 800%;
1623
background-position-y: 21px;
17-
background-position-x: 141px;
24+
background-position-x: 44px;
1825
}
1926

20-
#arduino-verify.arduino-tool-icon:hover,
21-
#arduino-show-open-context-menu.arduino-tool-icon:hover,
22-
#arduino-upload.arduino-tool-icon:hover {
23-
background-position-y: 45px;
27+
#arduino-verify {
28+
background: url(../icons/buttons.svg);
29+
background-size: 800%;
30+
background-position-y: 21px;
31+
background-position-x: 141px;
2432
}
2533

2634
#arduino-upload {

0 commit comments

Comments
 (0)