Skip to content

Commit d63e565

Browse files
authoredFeb 14, 2023
Merge pull request #35 from arduino/bugfix/save-without-selecting-folder
Making sure save is disabled
2 parents a0d4cac + 966a2d2 commit d63e565

File tree

3 files changed

+2460
-1352
lines changed

3 files changed

+2460
-1352
lines changed
 

‎package-lock.json

Lines changed: 2447 additions & 1343 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎ui/arduino/components/toolbar.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,16 @@ function Toolbar(state, emit) {
4848
onclick: () => emit('open-folder')
4949
})
5050

51-
const canSave = (state.isConnected && state.selectedDevice === 'serial' && state.selectedFile)
52-
|| (state.selectedDevice === 'disk' && state.selectedFile)
51+
const canSaveBoard = state.isConnected
52+
&& state.selectedDevice === 'serial'
53+
&& state.selectedFile
54+
const canSaveDisk = state.selectedDevice === 'disk'
55+
&& state.selectedFile
56+
&& state.diskPath
5357
const save = Button({
5458
icon: 'icons/Save.svg',
5559
label: 'Save',
56-
disabled: !canSave,
60+
disabled: !canSaveBoard && !canSaveDisk,
5761
onclick: () => emit('save')
5862
})
5963

‎ui/arduino/store.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ function store(state, emitter) {
133133
log('select-device', dev)
134134
state.selectedDevice = dev
135135
let editor = state.cache(AceEditor, 'editor').editor
136-
state.selectedFile = 'undefined'
136+
state.selectedFile = null
137137
editor.setValue('')
138138
emitter.emit('close-new-file-dialog')
139139
emitter.emit('render')
@@ -143,6 +143,7 @@ function store(state, emitter) {
143143
let editor = state.cache(AceEditor, 'editor').editor
144144
let contents = editor.getValue()
145145
let filename = state.selectedFile || 'undefined'
146+
let deviceName = state.selectedDevice === 'serial' ? 'board' : 'disk'
146147

147148
if (state.selectedDevice === 'serial') {
148149
await serial.saveFileContent(filename, contents)
@@ -153,7 +154,7 @@ function store(state, emitter) {
153154
}
154155

155156
emitter.emit('update-files')
156-
emitter.emit('message', `${filename} is saved on ${state.selectedDevice}.`, 1000)
157+
emitter.emit('message', `${filename} is saved on ${deviceName}.`, 1000)
157158
})
158159
emitter.on('remove', async () => {
159160
log('remove')
@@ -318,6 +319,7 @@ function store(state, emitter) {
318319
log('save-filename', filename)
319320
let oldFilename = state.selectedFile
320321
state.selectedFile = filename
322+
let deviceName = state.selectedDevice === 'serial' ? 'board' : 'disk'
321323

322324
let editor = state.cache(AceEditor, 'editor').editor
323325
let contents = editor.getValue()
@@ -326,7 +328,6 @@ function store(state, emitter) {
326328
// Ask for confirmation to overwrite existing file
327329
let confirmation = true
328330
if (state.serialFiles.indexOf(filename) !== -1) {
329-
let deviceName = state.selectedDevice === 'serial' ? 'board' : 'disk'
330331
confirmation = confirm(`Do you want to overwrite ${filename} on ${deviceName}?`)
331332
}
332333

@@ -343,7 +344,7 @@ function store(state, emitter) {
343344
emitter.emit('update-files')
344345
emitter.emit('render')
345346

346-
emitter.emit('message', `${filename} is saved on ${state.selectedDevice}.`, 1000)
347+
emitter.emit('message', `${filename} is saved on ${deviceName}.`, 1000)
347348
} else {
348349
state.isEditingFilename = false
349350
emitter.emit('render')
@@ -354,7 +355,6 @@ function store(state, emitter) {
354355
// Ask for confirmation to overwrite existing file
355356
let confirmation = true
356357
if (state.diskFiles.indexOf(filename) !== -1) {
357-
let deviceName = state.selectedDevice === 'serial' ? 'board' : 'disk'
358358
confirmation = confirm(`Do you want to overwrite ${filename} on ${deviceName}?`)
359359
}
360360
if (confirmation) {
@@ -370,7 +370,7 @@ function store(state, emitter) {
370370
emitter.emit('update-files')
371371
emitter.emit('render')
372372

373-
emitter.emit('message', `${filename} is saved on ${state.selectedDevice}.`, 1000)
373+
emitter.emit('message', `${filename} is saved on ${deviceName}.`, 1000)
374374
} else {
375375
state.isEditingFilename = false
376376
emitter.emit('render')

0 commit comments

Comments
 (0)
Please sign in to comment.