1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-13 10:29:35 +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
public boolean test(SketchController sketch) {
return sketch.isReadOnly();
public boolean test(SketchController controller) {
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.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."));
return;
}
handleRun(false, new ShouldSaveReadOnly(), presentAndSaveHandler, runAndSaveHandler);
handleRun(false, new CanExportInSketchFolder(), presentAndSaveHandler, runAndSaveHandler);
});
sketchMenu.add(item);