From c0496d22692cf079cb30166205ba7da8abae91ed Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sat, 22 Aug 2015 15:08:42 -0400 Subject: [PATCH] better pref handling --- .../processing/app/ui/PreferencesFrame.java | 6 ++-- build/shared/lib/defaults.txt | 2 ++ java/src/processing/mode/java/JavaMode.java | 33 ++++++++++--------- .../mode/java/pdex/ErrorCheckerService.java | 5 +-- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/app/src/processing/app/ui/PreferencesFrame.java b/app/src/processing/app/ui/PreferencesFrame.java index 32203ec5b..cb1050bbd 100644 --- a/app/src/processing/app/ui/PreferencesFrame.java +++ b/app/src/processing/app/ui/PreferencesFrame.java @@ -654,8 +654,8 @@ public class PreferencesFrame { Preferences.setBoolean("pdex.errorCheckEnabled", errorCheckerBox.isSelected()); Preferences.setBoolean("pdex.warningsEnabled", warningsCheckerBox.isSelected()); Preferences.setBoolean("pdex.completion", codeCompletionBox.isSelected()); - //Preferences.setBoolean("pdex.completion.trigger", codeCompletionTriggerBox.isSelected()); - Preferences.setBoolean("pdex.importSuggestEnabled", importSuggestionsBox.isSelected()); +// Preferences.setBoolean("pdex.completion.trigger", codeCompletionTriggerBox.isSelected()); + Preferences.setBoolean("pdex.suggest.imports", importSuggestionsBox.isSelected()); for (Editor editor : base.getEditors()) { editor.applyPreferences(); @@ -671,7 +671,7 @@ public class PreferencesFrame { codeCompletionBox.setSelected(Preferences.getBoolean("pdex.completion")); //codeCompletionTriggerBox.setSelected(Preferences.getBoolean("pdex.completion.trigger")); //codeCompletionTriggerBox.setEnabled(codeCompletionBox.isSelected()); - importSuggestionsBox.setSelected(Preferences.getBoolean("pdex.importSuggestEnabled")); + importSuggestionsBox.setSelected(Preferences.getBoolean("pdex.suggest.imports")); deletePreviousBox.setSelected(Preferences.getBoolean("export.delete_target_folder")); //$NON-NLS-1$ sketchbookLocationField.setText(Preferences.getSketchbookPath()); diff --git a/build/shared/lib/defaults.txt b/build/shared/lib/defaults.txt index 87abd7ebb..7b221ff56 100644 --- a/build/shared/lib/defaults.txt +++ b/build/shared/lib/defaults.txt @@ -355,3 +355,5 @@ pdex.writeErrorLogs=false pdex.completion = false # Trigger happy version of completion that fires more often pdex.completion.trigger = false +# Suggest libraries to import when a class is undefined/unavailable +pdex.suggest.imports = true diff --git a/java/src/processing/mode/java/JavaMode.java b/java/src/processing/mode/java/JavaMode.java index 76911232d..c1382c53a 100644 --- a/java/src/processing/mode/java/JavaMode.java +++ b/java/src/processing/mode/java/JavaMode.java @@ -328,7 +328,7 @@ public class JavaMode extends Mode { static public volatile boolean autoSavePromptEnabled = true; static public volatile boolean defaultAutoSaveEnabled = true; static public volatile boolean ccTriggerEnabled = false; - static public volatile boolean importSuggestEnabled = true; +// static public volatile boolean importSuggestEnabled = true; static public int autoSaveInterval = 3; //in minutes @@ -339,17 +339,18 @@ public class JavaMode extends Mode { static public final String prefErrorCheck = "pdex.errorCheckEnabled"; static public final String prefWarnings = "pdex.warningsEnabled"; - static public final String prefCodeCompletionEnabled = "pdex.completion"; - static public final String prefCCTriggerEnabled = "pdex.completion.trigger"; static public final String prefDebugOP = "pdex.dbgOutput"; static public final String prefErrorLogs = "pdex.writeErrorLogs"; static public final String prefAutoSaveInterval = "pdex.autoSaveInterval"; static public final String prefAutoSave = "pdex.autoSave.autoSaveEnabled"; static public final String prefAutoSavePrompt = "pdex.autoSave.promptDisplay"; static public final String prefDefaultAutoSave = "pdex.autoSave.autoSaveByDefault"; - static public final String prefImportSuggestEnabled = "pdex.importSuggestEnabled"; static public final String suggestionsFileName = "suggestions.txt"; + static public final String COMPLETION_PREF = "pdex.completion"; + static public final String COMPLETION_TRIGGER_PREF = "pdex.completion.trigger"; + static public final String SUGGEST_IMPORTS_PREF = "pdex.suggest.imports"; + // static volatile public boolean enableTweak = false; /** @@ -363,7 +364,7 @@ public class JavaMode extends Mode { ensurePrefsExist(); errorCheckEnabled = Preferences.getBoolean(prefErrorCheck); warningsEnabled = Preferences.getBoolean(prefWarnings); - codeCompletionsEnabled = Preferences.getBoolean(prefCodeCompletionEnabled); + codeCompletionsEnabled = Preferences.getBoolean(COMPLETION_PREF); // DEBUG = Preferences.getBoolean(prefDebugOP); errorLogsEnabled = Preferences.getBoolean(prefErrorLogs); autoSaveInterval = Preferences.getInteger(prefAutoSaveInterval); @@ -371,8 +372,8 @@ public class JavaMode extends Mode { autoSaveEnabled = Preferences.getBoolean(prefAutoSave); autoSavePromptEnabled = Preferences.getBoolean(prefAutoSavePrompt); defaultAutoSaveEnabled = Preferences.getBoolean(prefDefaultAutoSave); - ccTriggerEnabled = Preferences.getBoolean(prefCCTriggerEnabled); - importSuggestEnabled = Preferences.getBoolean(prefImportSuggestEnabled); + ccTriggerEnabled = Preferences.getBoolean(COMPLETION_TRIGGER_PREF); +// importSuggestEnabled = Preferences.getBoolean(prefImportSuggestEnabled); loadSuggestionsMap(); } @@ -381,7 +382,7 @@ public class JavaMode extends Mode { Messages.log("Saving PDEX prefs"); Preferences.setBoolean(prefErrorCheck, errorCheckEnabled); Preferences.setBoolean(prefWarnings, warningsEnabled); - Preferences.setBoolean(prefCodeCompletionEnabled, codeCompletionsEnabled); + Preferences.setBoolean(COMPLETION_PREF, codeCompletionsEnabled); // Preferences.setBoolean(prefDebugOP, DEBUG); Preferences.setBoolean(prefErrorLogs, errorLogsEnabled); Preferences.setInteger(prefAutoSaveInterval, autoSaveInterval); @@ -389,8 +390,8 @@ public class JavaMode extends Mode { Preferences.setBoolean(prefAutoSave, autoSaveEnabled); Preferences.setBoolean(prefAutoSavePrompt, autoSavePromptEnabled); Preferences.setBoolean(prefDefaultAutoSave, defaultAutoSaveEnabled); - Preferences.setBoolean(prefCCTriggerEnabled, ccTriggerEnabled); - Preferences.setBoolean(prefImportSuggestEnabled, importSuggestEnabled); + Preferences.setBoolean(COMPLETION_TRIGGER_PREF, ccTriggerEnabled); +// Preferences.setBoolean(prefImportSuggestEnabled, importSuggestEnabled); } public void loadSuggestionsMap() { @@ -441,8 +442,8 @@ public class JavaMode extends Mode { Preferences.setBoolean(prefErrorCheck, errorCheckEnabled); if (Preferences.get(prefWarnings) == null) Preferences.setBoolean(prefWarnings, warningsEnabled); - if (Preferences.get(prefCodeCompletionEnabled) == null) - Preferences.setBoolean(prefCodeCompletionEnabled, codeCompletionsEnabled); + if (Preferences.get(COMPLETION_PREF) == null) + Preferences.setBoolean(COMPLETION_PREF, codeCompletionsEnabled); if (Preferences.get(prefDebugOP) == null) // Preferences.setBoolean(prefDebugOP, DEBUG); if (Preferences.get(prefErrorLogs) == null) @@ -457,10 +458,10 @@ public class JavaMode extends Mode { Preferences.setBoolean(prefAutoSavePrompt, autoSavePromptEnabled); if (Preferences.get(prefDefaultAutoSave) == null) Preferences.setBoolean(prefDefaultAutoSave, defaultAutoSaveEnabled); - if (Preferences.get(prefCCTriggerEnabled) == null) - Preferences.setBoolean(prefCCTriggerEnabled, ccTriggerEnabled); - if (Preferences.get(prefImportSuggestEnabled) == null) - Preferences.setBoolean(prefImportSuggestEnabled, importSuggestEnabled); + if (Preferences.get(COMPLETION_TRIGGER_PREF) == null) + Preferences.setBoolean(COMPLETION_TRIGGER_PREF, ccTriggerEnabled); +// if (Preferences.get(prefImportSuggestEnabled) == null) +// Preferences.setBoolean(prefImportSuggestEnabled, importSuggestEnabled); } diff --git a/java/src/processing/mode/java/pdex/ErrorCheckerService.java b/java/src/processing/mode/java/pdex/ErrorCheckerService.java index 972d7c8da..7881ea5d3 100644 --- a/java/src/processing/mode/java/pdex/ErrorCheckerService.java +++ b/java/src/processing/mode/java/pdex/ErrorCheckerService.java @@ -50,6 +50,7 @@ import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; import processing.app.Library; import processing.app.Messages; +import processing.app.Preferences; import processing.app.Sketch; import processing.app.SketchCode; import processing.app.Util; @@ -364,7 +365,7 @@ public class ErrorCheckerService implements Runnable { protected void checkForMissingImports() { - if (JavaMode.importSuggestEnabled) { + if (Preferences.getBoolean(JavaMode.SUGGEST_IMPORTS_PREF)) { for (Problem p : problemsList) { if(p.getIProblem().getID() == IProblem.UndefinedType) { String args[] = p.getIProblem().getArguments(); @@ -928,7 +929,7 @@ public class ErrorCheckerService implements Runnable { Sketch sketch = editor.getSketch(); for (Problem p : problemsList) { String message = p.getMessage(); - if (JavaMode.importSuggestEnabled) { + if (Preferences.getBoolean(JavaMode.SUGGEST_IMPORTS_PREF)) { if (p.getIProblem().getID() == IProblem.UndefinedType) { String[] args = p.getIProblem().getArguments(); if (args.length > 0) {