Save plugin config when enabled/disabled

This commit is contained in:
Samuel Elliott 2018-02-05 14:33:30 +00:00
parent 9fb51c57b3
commit 6e4d6307e8
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
2 changed files with 19 additions and 19 deletions

View File

@ -44,6 +44,7 @@ export default class {
}
async saveSettings(newSettings) {
if (newSettings) {
for (let category of newSettings) {
const oldCategory = this.pluginConfig.find(c => c.category === category.category);
for (let setting of category.settings) {
@ -53,6 +54,7 @@ export default class {
if (this.settingChanged) this.settingChanged(category.category, setting.id, setting.value);
}
}
}
try {
await FileUtils.writeFile(`${this.pluginPath}/user.config.json`, JSON.stringify({ enabled: this.enabled, config: this.pluginConfig }));
@ -68,25 +70,23 @@ export default class {
start() {
if (this.onStart) {
const started = this.onStart();
if (started) {
return this.userConfig.enabled = true;
if (!started) return false;
}
return false;
}
return this.userConfig.enabled = true; //Assume plugin started since it doesn't have onStart
this.userConfig.enabled = true;
this.saveSettings();
return true;
}
stop() {
if (this.onStop) {
const stopped = this.onStop();
if (stopped) {
if (!stopped) return false;
}
this.userConfig.enabled = false;
this.saveSettings();
return true;
}
return false;
}
this.userConfig.enabled = false;
return true; //Assume plugin stopped since it doesn't have onStop
}
}