@@ -1070,6 +1070,7 @@ private static ModeInfo modeInfoFor(final File sketch) {
1070
1070
*/
1071
1071
1072
1072
1073
+ /*
1073
1074
private Mode promptForMode(final File passedFile) {
1074
1075
final String filename = passedFile.getName();
1075
1076
final String extension =
@@ -1080,13 +1081,6 @@ private Mode promptForMode(final File passedFile) {
1080
1081
possibleModes.add(mode);
1081
1082
}
1082
1083
}
1083
- /*
1084
- if (possibleModes.size() == 1 &&
1085
- possibleModes.get(0).getIdentifier().equals(getDefaultModeIdentifier())) {
1086
- // If default mode can open it, then do so without prompting.
1087
- return possibleModes.get(0);
1088
- }
1089
- */
1090
1084
if (possibleModes.size() == 0) {
1091
1085
final String msg =
1092
1086
"I don't know how to open a sketch with the \"" + extension + "\"\n" +
@@ -1111,6 +1105,7 @@ private Mode promptForMode(final File passedFile) {
1111
1105
null, modes, modes[0]);
1112
1106
}
1113
1107
}
1108
+ */
1114
1109
1115
1110
1116
1111
/*
@@ -1398,12 +1393,7 @@ private boolean smellsLikeSketchFolder(File folder) {
1398
1393
1399
1394
1400
1395
private File moveLikeSketchFolder (File pdeFile , String baseName ) throws IOException {
1401
- // final String properParent =
1402
- // file.getName().substring(0, file.getName().lastIndexOf('.'));
1403
-
1404
1396
Object [] options = {
1405
- //Language.text("prompt.ok"),
1406
- //Language.text("prompt.cancel")
1407
1397
"Keep" , "Move" , "Cancel"
1408
1398
};
1409
1399
String prompt =
@@ -1494,14 +1484,27 @@ public Editor handleOpen(String path) {
1494
1484
// First check for the Mode, because it may not even be available
1495
1485
String modeIdentifier = props .get ("mode.id" );
1496
1486
if (modeIdentifier != null ) {
1497
- Mode mode = findMode (modeIdentifier );
1498
- if (mode != null ) {
1499
- nextMode = mode ;
1487
+ if (modeIdentifier .equals ("galsasson.mode.tweak.TweakMode" )) {
1488
+ // Tweak Mode has been built into Processing since 2015,
1489
+ // but there are some old sketch.properties files out there.
1490
+ // https://github.com/processing/processing4/issues/415
1491
+ nextMode = getDefaultMode ();
1492
+
1493
+ // Clean up sketch.properties and re-save or remove if necessary
1494
+ props .remove ("mode" );
1495
+ props .remove ("mode.id" );
1496
+ props .reckon ();
1497
+
1500
1498
} else {
1501
- ContributionManager .openModes ();
1502
- Messages .showWarning ("Missing Mode" ,
1503
- "You must first install " + props .get ("mode" ) + " Mode to use this sketch." );
1504
- return null ;
1499
+ Mode mode = findMode (modeIdentifier );
1500
+ if (mode != null ) {
1501
+ nextMode = mode ;
1502
+ } else {
1503
+ ContributionManager .openModes ();
1504
+ Messages .showWarning ("Missing Mode" ,
1505
+ "You must first install " + props .get ("mode" ) + " Mode to use this sketch." );
1506
+ return null ;
1507
+ }
1505
1508
}
1506
1509
}
1507
1510
0 commit comments