1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-02 13:24:12 +01:00

Merge remote-tracking branch 'upstream/new-extension' into new-extension

This commit is contained in:
David A. Mellis 2011-09-16 14:27:56 -04:00
commit 3cce11312c
2 changed files with 53 additions and 15 deletions

View File

@ -121,6 +121,7 @@ public class Preferences {
JTextField memoryField;
JCheckBox checkUpdatesBox;
JTextField fontSizeField;
JCheckBox updateExtensionBox;
JCheckBox autoAssociateBox;
@ -325,7 +326,15 @@ public class Preferences {
checkUpdatesBox.setBounds(left, top, d.width + 10, d.height);
right = Math.max(right, left + d.width);
top += d.height + GUI_BETWEEN;
// [ ] Update sketch files to new extension on save (.pde -> .ino)
updateExtensionBox = new JCheckBox("Update sketch files to new extension on save (.pde -> .ino)");
pain.add(updateExtensionBox);
d = updateExtensionBox.getPreferredSize();
updateExtensionBox.setBounds(left, top, d.width + 10, d.height);
right = Math.max(right, left + d.width);
top += d.height + GUI_BETWEEN;
// [ ] Automatically associate .pde files with Processing
@ -526,6 +535,8 @@ public class Preferences {
setBoolean("platform.auto_file_type_associations",
autoAssociateBox.isSelected());
}
setBoolean("editor.update_extension", updateExtensionBox.isSelected());
editor.applyPreferences();
}
@ -558,6 +569,9 @@ public class Preferences {
autoAssociateBox.
setSelected(getBoolean("platform.auto_file_type_associations"));
}
updateExtensionBox.setSelected(get("editor.update_extension") == null ||
getBoolean("editor.update_extension"));
dialog.setVisible(true);
}

View File

@ -707,21 +707,45 @@ public class Sketch {
"need to re-save this sketch to another location.");
// if the user cancels, give up on the save()
if (!saveAs()) return false;
}
// rename .pde files to .ino
File mainFile = new File(getMainFilePath());
File mainFolder = mainFile.getParentFile();
File[] pdeFiles = mainFolder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".pde");
} else {
// rename .pde files to .ino
File mainFile = new File(getMainFilePath());
File mainFolder = mainFile.getParentFile();
File[] pdeFiles = mainFolder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".pde");
}
});
if (pdeFiles != null && pdeFiles.length > 0) {
if (Preferences.get("editor.update_extension") == null) {
Object[] options = { "OK", "Cancel" };
int result = JOptionPane.showOptionDialog(editor,
"In Arduino 1.0, the default file extension has changed\n" +
"from .pde to .ino. New sketches (including those created\n" +
"by \"Save-As\" will use the new extension. The extension\n" +
"of existing sketches will be updated on save, but you can\n" +
"disable this in the Preferences dialog.\n" +
"\n" +
"Save sketch and update its extension?",
".pde -> .ino",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
options,
options[0]);
if (result != JOptionPane.OK_OPTION) return false; // save cancelled
Preferences.setBoolean("editor.update_extension", true);
}
if (Preferences.getBoolean("editor.update_extension")) {
// Do rename of all .pde files to new .ino extension
for (File pdeFile : pdeFiles)
renameCodeToInoExtension(pdeFile);
}
}
});
if (pdeFiles != null && pdeFiles.length > 0) {
// Do rename of all .pde files to new .ino extension
for (File pdeFile : pdeFiles)
renameCodeToInoExtension(pdeFile);
}
for (int i = 0; i < codeCount; i++) {