From 54d90d5413b510e687ac8c53619d3ba2424cc408 Mon Sep 17 00:00:00 2001 From: jbicker Date: Fri, 21 Jun 2019 13:11:16 +0200 Subject: [PATCH] Added save button and turned auto save on by default. Signed-off-by: jbicker --- arduino-ide-browser/package.json | 5 ++++- arduino-ide-electron/package.json | 5 ++++- .../src/browser/arduino-commands.ts | 4 ++++ .../browser/arduino-frontend-contribution.tsx | 15 ++++++++++++++ .../src/browser/style/main.css | 20 +++++++++++++------ 5 files changed, 41 insertions(+), 8 deletions(-) diff --git a/arduino-ide-browser/package.json b/arduino-ide-browser/package.json index 97b3f9e1..f6d0f3ba 100644 --- a/arduino-ide-browser/package.json +++ b/arduino-ide-browser/package.json @@ -31,7 +31,10 @@ "frontend": { "config": { "applicationName": "Arduino-PoC", - "defaultTheme": "arduino-theme" + "defaultTheme": "arduino-theme", + "preferences": { + "editor.autoSave": "on" + } } } } diff --git a/arduino-ide-electron/package.json b/arduino-ide-electron/package.json index f494753d..4aca3f9c 100644 --- a/arduino-ide-electron/package.json +++ b/arduino-ide-electron/package.json @@ -34,7 +34,10 @@ "frontend": { "config": { "applicationName": "Arduino-PoC", - "defaultTheme": "arduino-theme" + "defaultTheme": "arduino-theme", + "preferences": { + "editor.autoSave": "on" + } } } } diff --git a/arduino-ide-extension/src/browser/arduino-commands.ts b/arduino-ide-extension/src/browser/arduino-commands.ts index b6c8295e..6c139c3d 100644 --- a/arduino-ide-extension/src/browser/arduino-commands.ts +++ b/arduino-ide-extension/src/browser/arduino-commands.ts @@ -25,6 +25,10 @@ export namespace ArduinoCommands { id: 'arduino-open-file' } + export const SAVE_SKETCH: Command = { + id: 'arduino-save-file' + } + export const NEW_SKETCH: Command = { id: "arduino-new-sketch", label: 'New Sketch', diff --git a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx index 5398d849..2434d81e 100644 --- a/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx +++ b/arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx @@ -26,6 +26,7 @@ import { FileSystem } from '@theia/filesystem/lib/common'; import { ArduinoOpenSketchContextMenu } from './arduino-file-menu'; import { Sketch, SketchesService } from '../common/protocol/sketches-service'; import { WindowService } from '@theia/core/lib/browser/window/window-service'; +import { CommonCommands } from '@theia/core/lib/browser/common-frontend-contribution' @injectable() export class ArduinoFrontendContribution implements TabBarToolbarContribution, CommandContribution { @@ -112,6 +113,13 @@ export class ArduinoFrontendContribution implements TabBarToolbarContribution, C group: 'arduino', text: '$(arrow-up)' }); + registry.registerItem({ + id: ArduinoCommands.SAVE_SKETCH.id, + command: ArduinoCommands.SAVE_SKETCH.id, + tooltip: 'Save', + group: 'arduino', + text: '$(arrow-down)' + }); registry.registerItem({ id: ConnectedBoards.TOOLBAR_ID, render: () => this.isArduinoToolbar(widget), + isVisible: widget => this.isArduinoToolbar(widget), + execute: async (sketch: Sketch) => { + registry.executeCommand(CommonCommands.SAVE_ALL.id); + } + }) registry.registerCommand(ArduinoCommands.NEW_SKETCH, new WorkspaceRootUriAwareCommandHandler(this.workspaceService, this.selectionService, { execute: async uri => { try { diff --git a/arduino-ide-extension/src/browser/style/main.css b/arduino-ide-extension/src/browser/style/main.css index 89f3fe37..8b8aed55 100644 --- a/arduino-ide-extension/src/browser/style/main.css +++ b/arduino-ide-extension/src/browser/style/main.css @@ -10,6 +10,20 @@ color: var(--theia-ui-font-color3); } +#arduino-verify.arduino-tool-icon:hover, +#arduino-save-file.arduino-tool-icon:hover, +#arduino-show-open-context-menu.arduino-tool-icon:hover, +#arduino-upload.arduino-tool-icon:hover { + background-position-y: 45px; +} + +#arduino-save-file { + background: url(../icons/buttons.svg); + background-size: 800%; + background-position-y: 21px; + background-position-x: 44px; +} + #arduino-verify { background: url(../icons/buttons.svg); background-size: 800%; @@ -17,12 +31,6 @@ background-position-x: 141px; } -#arduino-verify.arduino-tool-icon:hover, -#arduino-show-open-context-menu.arduino-tool-icon:hover, -#arduino-upload.arduino-tool-icon:hover { - background-position-y: 45px; -} - #arduino-upload { background: url(../icons/buttons.svg); background-size: 800%;