diff options
author | Tomas Touceda <chiiph@leap.se> | 2013-04-09 09:24:23 -0300 |
---|---|---|
committer | Tomas Touceda <chiiph@leap.se> | 2013-04-09 09:24:23 -0300 |
commit | 01f956f859a94f37aaebf9acc932c26564087ae8 (patch) | |
tree | eca24d5dc5bfe90c1abcea6998e91de578b76b7e | |
parent | fb51905d5dde6880a40b551ba185d7932cc1ae07 (diff) | |
parent | bcfdc13f5450e3df695c61c44bf637b18386f31a (diff) |
Merge remote-tracking branch 'kali/bug/deselect-remember' into develop
-rw-r--r-- | changes/bug_2059_deselect-remember | 1 | ||||
-rw-r--r-- | src/leap/config/leapsettings.py | 20 | ||||
-rw-r--r-- | src/leap/gui/mainwindow.py | 8 | ||||
-rw-r--r-- | src/leap/platform_init/initializers.py | 6 |
4 files changed, 31 insertions, 4 deletions
diff --git a/changes/bug_2059_deselect-remember b/changes/bug_2059_deselect-remember new file mode 100644 index 00000000..3c5f61bc --- /dev/null +++ b/changes/bug_2059_deselect-remember @@ -0,0 +1 @@ + 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 f359d7c1..6a73fb76 100644 --- a/src/leap/gui/mainwindow.py +++ b/src/leap/gui/mainwindow.py @@ -224,7 +224,9 @@ class MainWindow(QtGui.QMainWindow): self._wizard = None def _remember_state_changed(self, state): - self.ui.chkAutoLogin.setEnabled(state == QtCore.Qt.Checked) + enable = True if state == QtCore.Qt.Checked else False + self.ui.chkAutoLogin.setEnabled(enable) + self._settings.set_remember(enable) def _finish_init(self): self.ui.cmbProviders.addItems(self._configured_providers()) @@ -249,6 +251,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() diff --git a/src/leap/platform_init/initializers.py b/src/leap/platform_init/initializers.py index 055c90a2..cf7e71b8 100644 --- a/src/leap/platform_init/initializers.py +++ b/src/leap/platform_init/initializers.py @@ -117,9 +117,9 @@ def _darwin_has_tun_kext(): """ # XXX we should be smarter here and use kextstats output. - has_kext = lambda: os.path.isdir("/System/Library/Extensions/tun.kext") - has_startup = lambda: os.path.isdir("/System/Library/StartupItems/tun") - has_tun_and_startup = has_kext() and has_startup() + has_kext = os.path.isdir("/System/Library/Extensions/tun.kext") + has_startup = os.path.isdir("/System/Library/StartupItems/tun") + has_tun_and_startup = has_kext and has_startup logger.debug('platform initializer check: has tun_and_startup = %s' % (has_tun_and_startup,)) return has_tun_and_startup |