summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/leap/config/leapsettings.py20
-rw-r--r--src/leap/gui/mainwindow.py8
-rw-r--r--src/leap/platform_init/initializers.py6
3 files changed, 30 insertions, 4 deletions
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