diff options
Diffstat (limited to 'src/electron/Settings.js')
-rw-r--r-- | src/electron/Settings.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/electron/Settings.js b/src/electron/Settings.js index b3138e948..254180b73 100644 --- a/src/electron/Settings.js +++ b/src/electron/Settings.js | |||
@@ -17,7 +17,7 @@ export default class Settings { | |||
17 | } | 17 | } |
18 | 18 | ||
19 | set(settings) { | 19 | set(settings) { |
20 | this.store = Object.assign(this.store, settings); | 20 | this.store = this._merge(settings); |
21 | 21 | ||
22 | this._writeFile(); | 22 | this._writeFile(); |
23 | } | 23 | } |
@@ -30,8 +30,12 @@ export default class Settings { | |||
30 | return this.store[key]; | 30 | return this.store[key]; |
31 | } | 31 | } |
32 | 32 | ||
33 | _merge(settings) { | ||
34 | return Object.assign(DEFAULT_APP_SETTINGS, this.store, settings); | ||
35 | } | ||
36 | |||
33 | _hydrate() { | 37 | _hydrate() { |
34 | this.store = readJsonSync(SETTINGS_PATH); | 38 | this.store = this._merge(readJsonSync(SETTINGS_PATH)); |
35 | debug('Hydrate store', toJS(this.store)); | 39 | debug('Hydrate store', toJS(this.store)); |
36 | } | 40 | } |
37 | 41 | ||