summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-12-18 15:06:59 -0200
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-01-15 06:43:35 -0200
commit362e98921f70eb4c646f914f2cf0336204880be8 (patch)
tree45908003d9ddf60a2b52aa0009c40ade4eeb33a7
parentb08e79578b43f523baecba5d0a189faaa20a23fa (diff)
downloadmullvadvpn-362e98921f70eb4c646f914f2cf0336204880be8.tar.xz
mullvadvpn-362e98921f70eb4c646f914f2cf0336204880be8.zip
Add `autoConnect` setting to GUI settings
-rw-r--r--gui/packages/desktop/src/main/gui-settings.js11
-rw-r--r--gui/packages/desktop/src/renderer/redux/settings/reducers.js1
-rw-r--r--gui/packages/desktop/src/shared/gui-settings-state.js1
3 files changed, 13 insertions, 0 deletions
diff --git a/gui/packages/desktop/src/main/gui-settings.js b/gui/packages/desktop/src/main/gui-settings.js
index b5e1ad2e8c..a6a6efd30b 100644
--- a/gui/packages/desktop/src/main/gui-settings.js
+++ b/gui/packages/desktop/src/main/gui-settings.js
@@ -9,6 +9,7 @@ import type { GuiSettingsState } from '../shared/gui-settings-state';
export default class GuiSettings {
_state: GuiSettingsState = {
+ autoConnect: true,
monochromaticIcon: false,
startMinimized: false,
};
@@ -21,6 +22,8 @@ export default class GuiSettings {
const contents = fs.readFileSync(settingsFile, 'utf8');
const settings = JSON.parse(contents);
+ this._state.autoConnect =
+ typeof settings.autoConnect === 'boolean' ? settings.autoConnect : true;
this._state.monochromaticIcon = settings.monochromaticIcon || false;
this._state.startMinimized = settings.startMinimized || false;
} catch (error) {
@@ -42,6 +45,14 @@ export default class GuiSettings {
return this._state;
}
+ set autoConnect(newValue: boolean) {
+ this._changeStateAndNotify({ ...this._state, autoConnect: newValue });
+ }
+
+ get autoConnect(): boolean {
+ return this._state.autoConnect;
+ }
+
set monochromaticIcon(newValue: boolean) {
this._changeStateAndNotify({ ...this._state, monochromaticIcon: newValue });
}
diff --git a/gui/packages/desktop/src/renderer/redux/settings/reducers.js b/gui/packages/desktop/src/renderer/redux/settings/reducers.js
index 99795c41ba..a0003608d1 100644
--- a/gui/packages/desktop/src/renderer/redux/settings/reducers.js
+++ b/gui/packages/desktop/src/renderer/redux/settings/reducers.js
@@ -59,6 +59,7 @@ export type SettingsReduxState = {
const initialState: SettingsReduxState = {
guiSettings: {
+ autoConnect: true,
monochromaticIcon: false,
startMinimized: false,
},
diff --git a/gui/packages/desktop/src/shared/gui-settings-state.js b/gui/packages/desktop/src/shared/gui-settings-state.js
index 4a7ccb572e..336e019d1d 100644
--- a/gui/packages/desktop/src/shared/gui-settings-state.js
+++ b/gui/packages/desktop/src/shared/gui-settings-state.js
@@ -1,6 +1,7 @@
// @flow
export type GuiSettingsState = {
+ autoConnect: boolean,
monochromaticIcon: boolean,
startMinimized: boolean,
};