Skip to content

Commit ab7c216

Browse files
committed
Preferences in the PDE will now be read from system before looking at files
1 parent 7775d01 commit ab7c216

File tree

6 files changed

+49
-30
lines changed

6 files changed

+49
-30
lines changed

java/gradle/example/.idea/.gitignore

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

java/gradle/example/.idea/gradle.xml

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

java/gradle/example/.idea/misc.xml

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

java/gradle/example/.idea/vcs.xml

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

java/gradle/src/main/kotlin/ProcessingPlugin.kt

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.gradle.api.plugins.JavaPluginExtension
1111
import org.gradle.api.tasks.JavaExec
1212
import org.jetbrains.compose.ComposeExtension
1313
import org.jetbrains.compose.desktop.DesktopExtension
14+
import processing.app.Preferences
1415
import java.io.File
1516
import java.util.*
1617
import javax.inject.Inject
@@ -26,33 +27,8 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
2627
val workingDir = project.findProperty("processing.workingDir") as String?
2728
val debugPort = project.findProperty("processing.debugPort") as String?
2829

29-
val osName = System.getProperty("os.name").lowercase()
30-
31-
// Grab the settings from the most likely location if not defined
32-
var settingsFolder = (project.findProperty("processing.settings") as String?)?.let { File(it) }
33-
if(settingsFolder == null) {
34-
if (osName.contains("win")) {
35-
settingsFolder = File(System.getenv("APPDATA"), "Processing")
36-
} else if (osName.contains("mac")) {
37-
settingsFolder = File(System.getProperty("user.home"), "Library/Processing")
38-
} else if (osName.contains("nix") || osName.contains("nux")) {
39-
settingsFolder = File(System.getProperty("user.home"), ".processing")
40-
}
41-
}
42-
43-
// Overwrite the preferences as the preprocessor still uses the old PDE settings
44-
// TODO: Fix loading the preferences on windows
45-
// TODO: Replace these settings in the preprocessor instead
46-
val preferences = File(settingsFolder, "preferences.txt")
47-
val prefs = Properties()
48-
if(preferences.exists()) prefs.load(preferences.inputStream())
49-
prefs.setProperty("export.application.fullscreen", "false")
50-
prefs.setProperty("export.application.present", "false")
51-
prefs.setProperty("export.application.stop", "false")
52-
if(preferences.exists()) prefs.store(preferences.outputStream(), null)
53-
5430
val sketchbook = project.findProperty("processing.sketchbook") as String?
55-
?: prefs.getProperty("sketchbook.path.four")
31+
?: Preferences.get("sketchbook.path.four")
5632
?: ("${System.getProperty("user.home")}/.processing")
5733

5834
// Apply the Java plugin to the Project

java/src/processing/mode/java/preproc/PdeParseTreeListener.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,15 +1233,31 @@ protected void writeMain(PrintWriterWithEditGen footerWriter,
12331233
{ // assemble line with applet args
12341234
StringJoiner argsJoiner = new StringJoiner(", ");
12351235

1236-
boolean shouldFullScreen = Preferences.getBoolean("export.application.present");
1237-
shouldFullScreen = shouldFullScreen || Preferences.getBoolean("export.application.fullscreen");
1236+
boolean shouldFullScreen;
1237+
String presentProp = System.getProperty("processing.present");
1238+
1239+
if (presentProp != null) {
1240+
shouldFullScreen = presentProp.equals("true");
1241+
} else {
1242+
boolean isExportedApp = Preferences.getBoolean("export.application.present");
1243+
boolean isFullscreenPref = Preferences.getBoolean("export.application.fullscreen");
1244+
shouldFullScreen = isExportedApp || isFullscreenPref;
1245+
}
1246+
12381247
if (shouldFullScreen) {
12391248
argsJoiner.add("\"--full-screen\"");
12401249

1241-
String bgColor = Preferences.get("run.present.bgcolor");
1250+
String bgColor = System.getProperty("processing.window.color", Preferences.get("run.present.bgcolor"));
12421251
argsJoiner.add("\"--bgcolor=" + bgColor + "\"");
12431252

1244-
if (Preferences.getBoolean("export.application.stop")) {
1253+
boolean showStop;
1254+
var hideStop = System.getProperty("processing.stop.hide");
1255+
if(hideStop != null){
1256+
showStop = hideStop.equals("false");
1257+
}else{
1258+
showStop = Preferences.getBoolean("export.application.stop");
1259+
}
1260+
if(showStop) {
12451261
String stopColor = Preferences.get("run.present.stop.color");
12461262
argsJoiner.add("\"--stop-color=" + stopColor + "\"");
12471263
} else {

0 commit comments

Comments
 (0)