1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-14 11:29:26 +01:00

Make "Export compiled binary" comply with specifications

This commit is contained in:
Martino Facchin 2018-10-29 16:46:23 +01:00 committed by Cristian Maglie
parent 210d3b3613
commit 4d26ec85e6

View File

@ -132,11 +132,18 @@ public class Editor extends JFrame implements RunnerListener {
} }
} }
private static class ShouldSaveReadOnly implements Predicate<SketchController> { private static class CanExportInSketchFolder
implements Predicate<SketchController> {
@Override @Override
public boolean test(SketchController sketch) { public boolean test(SketchController controller) {
return sketch.isReadOnly(); if (controller.isReadOnly()) {
return false;
}
if (controller.getSketch().isModified()) {
return PreferencesData.getBoolean("editor.save_on_verify");
}
return true;
} }
} }
@ -665,11 +672,12 @@ public class Editor extends JFrame implements RunnerListener {
item = newJMenuItemAlt(tr("Export compiled Binary"), 'S'); item = newJMenuItemAlt(tr("Export compiled Binary"), 'S');
item.addActionListener(event -> { item.addActionListener(event -> {
if (new ShouldSaveReadOnly().test(sketchController) && !handleSave(true)) { if (!(new CanExportInSketchFolder().test(sketchController))) {
System.out.println(tr("Export canceled, changes must first be saved.")); System.out.println(tr("Export canceled, changes must first be saved."));
return; return;
} }
handleRun(false, new ShouldSaveReadOnly(), presentAndSaveHandler, runAndSaveHandler); handleRun(false, new CanExportInSketchFolder(), presentAndSaveHandler, runAndSaveHandler);
}); });
sketchMenu.add(item); sketchMenu.add(item);