summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug_2059_deselect-remember1
-rw-r--r--src/leap/config/leapsettings.py20
-rw-r--r--src/leap/gui/mainwindow.py5
3 files changed, 26 insertions, 0 deletions
diff --git a/changes/bug_2059_deselect-remember b/changes/bug_2059_deselect-remember
new file mode 100644
index 00000000..b4afe728
--- /dev/null
+++ b/changes/bug_2059_deselect-remember
@@ -0,0 +1 @@
+ o Deselecting the remember checkbox makes the app not populate user/password values on the login widget. Closes: #2059
diff --git a/src/leap/config/leapsettings.py b/src/leap/config/leapsettings.py
index 35c9fef6..19ec4a9a 100644
--- a/src/leap/config/leapsettings.py
+++ b/src/leap/config/leapsettings.py
@@ -64,6 +64,7 @@ class LeapSettings(object):
USER_KEY = "User"
AUTOLOGIN_KEY = "AutoLogin"
PROPERPROVIDER_KEY = "ProperProvider"
+ REMEMBER_KEY = "RememberUserAndPass"
def __init__(self, standalone=False):
"""
@@ -169,6 +170,25 @@ class LeapSettings(object):
leap_assert(len(user) > 0, "We cannot save an empty user")
self._settings.setValue(self.USER_KEY, user)
+ def get_remember(self):
+ """
+ Returns the value of the remember selection.
+
+ @rtype: bool
+ """
+ return to_bool(self._settings.value(self.REMEMBER_KEY, False))
+
+ def set_remember(self, remember):
+ """
+ Sets wheter the app should remember username and password
+
+ @param remember: True if the app should remember username and
+ password, False otherwise
+ @rtype: bool
+ """
+ leap_assert_type(remember, bool)
+ self._settings.setValue(self.REMEMBER_KEY, remember)
+
def get_autologin(self):
"""
Returns True if the app should automatically login, False otherwise
diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py
index 863640ef..e5efdbed 100644
--- a/src/leap/gui/mainwindow.py
+++ b/src/leap/gui/mainwindow.py
@@ -225,6 +225,7 @@ class MainWindow(QtGui.QMainWindow):
def _remember_state_changed(self, state):
self.ui.chkAutoLogin.setEnabled(state == QtCore.Qt.Checked)
+ self._settings.set_remember(bool(state))
def _finish_init(self):
self.ui.cmbProviders.addItems(self._configured_providers())
@@ -249,6 +250,10 @@ class MainWindow(QtGui.QMainWindow):
self._wizard = None
self._settings.set_properprovider(True)
else:
+ if not self._settings.get_remember():
+ # nothing to do here
+ return
+
saved_user = self._settings.get_user()
auto_login = self._settings.get_autologin()