summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/feature_saveprovider2
-rw-r--r--src/leap/config/leapsettings.py19
-rw-r--r--src/leap/gui/mainwindow.py12
3 files changed, 33 insertions, 0 deletions
diff --git a/changes/feature_saveprovider b/changes/feature_saveprovider
new file mode 100644
index 00000000..98c911c2
--- /dev/null
+++ b/changes/feature_saveprovider
@@ -0,0 +1,2 @@
+ o Save the default provider to be used for autostart EIP as
+ DefaultProvider in leap.conf. Closes #2793 \ No newline at end of file
diff --git a/src/leap/config/leapsettings.py b/src/leap/config/leapsettings.py
index 59a0a16d..006be851 100644
--- a/src/leap/config/leapsettings.py
+++ b/src/leap/config/leapsettings.py
@@ -65,6 +65,7 @@ class LeapSettings(object):
AUTOLOGIN_KEY = "AutoLogin"
PROPERPROVIDER_KEY = "ProperProvider"
REMEMBER_KEY = "RememberUserAndPass"
+ DEFAULTPROVIDER_KEY = "DefaultProvider"
def __init__(self, standalone=False):
"""
@@ -230,3 +231,21 @@ class LeapSettings(object):
"""
leap_assert_type(properprovider, bool)
self._settings.setValue(self.PROPERPROVIDER_KEY, properprovider)
+
+ def get_defaultprovider(self):
+ """
+ Returns the default provider to be used for autostarting EIP
+
+ :rtype: str or None
+ """
+ return self._settings.value(self.DEFAULTPROVIDER_KEY, None)
+
+ def set_defaultprovider(self, provider):
+ """
+ Sets the default provider to be used for autostarting EIP
+
+ :param provider: provider to use
+ :type provider: str
+ """
+ leap_assert(len(provider) > 0, "We cannot save an empty provider")
+ self._settings.setValue(self.DEFAULTPROVIDER_KEY, provider)
diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py
index f9e088a7..fdcacb56 100644
--- a/src/leap/gui/mainwindow.py
+++ b/src/leap/gui/mainwindow.py
@@ -889,12 +889,24 @@ class MainWindow(QtGui.QMainWindow):
return host, port
def _start_eip(self):
+ """
+ SLOT
+ TRIGGERS:
+ self.ui.btnEipStartStop.clicked
+ self._action_eip_startstop.triggered
+ or called from _finish_eip_bootstrap
+
+ Starts EIP
+ """
try:
host, port = self._get_socket_host()
self._vpn.start(eipconfig=self._eip_config,
providerconfig=self._provider_config,
socket_host=host,
socket_port=port)
+
+ self._settings.set_defaultprovider(self._provider_config.get_domain())
+
self.ui.btnEipStartStop.setText(self.tr("Stop EIP"))
self.ui.btnEipStartStop.disconnect(self)
self.ui.btnEipStartStop.clicked.connect(