|
@@ -30,7 +30,7 @@ class Preferences {
|
|
|
this.updateRecentProjects(true);
|
|
this.updateRecentProjects(true);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- updateRecentProjects(write:boolean = false): void {
|
|
|
|
|
|
|
+ updateRecentProjects(write: boolean = false): void {
|
|
|
|
|
|
|
|
for (var i in this._prefs.recentProjects) {
|
|
for (var i in this._prefs.recentProjects) {
|
|
|
var path = this._prefs.recentProjects[i];
|
|
var path = this._prefs.recentProjects[i];
|
|
@@ -40,7 +40,7 @@ class Preferences {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (write)
|
|
if (write)
|
|
|
- this.write();
|
|
|
|
|
|
|
+ this.write();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
deleteRecentProjects(): void {
|
|
deleteRecentProjects(): void {
|
|
@@ -68,20 +68,28 @@ class Preferences {
|
|
|
//Read file
|
|
//Read file
|
|
|
jsonFile = new Atomic.File(filePath, Atomic.FILE_READ);
|
|
jsonFile = new Atomic.File(filePath, Atomic.FILE_READ);
|
|
|
|
|
|
|
|
- var prefs;
|
|
|
|
|
|
|
+ var prefs = null;
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
|
|
|
|
- prefs = <PreferencesFormat>JSON.parse(jsonFile.readText());
|
|
|
|
|
|
|
+ if (jsonFile.isOpen())
|
|
|
|
|
+ prefs = <PreferencesFormat>JSON.parse(jsonFile.readText());
|
|
|
|
|
|
|
|
} catch (e) {
|
|
} catch (e) {
|
|
|
- console.log("Editor preference file invalid, regenerating default configuration");
|
|
|
|
|
- this.useDefaultConfig();
|
|
|
|
|
- this.write();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ prefs = null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (prefs && (!prefs.editorWindow || !prefs.playerWindow || !prefs.recentProjects)) {
|
|
|
|
|
+ prefs = null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (prefs) {
|
|
if (prefs) {
|
|
|
this._prefs = prefs;
|
|
this._prefs = prefs;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.log("Editor preference file invalid, regenerating default configuration");
|
|
|
|
|
+ this.useDefaultConfig();
|
|
|
|
|
+ this.write();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|