summaryrefslogtreecommitdiff
path: root/src/leap/gui
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-06-21 15:31:24 -0300
committerTomás Touceda <chiiph@leap.se>2013-06-21 15:38:37 -0300
commit440f2036e36985e9536644b28af0e62cea8704eb (patch)
tree525ae3a14c12b63f98c4c2fd8b4fdc3f09247b2e /src/leap/gui
parent4cfe344fceb16d19936fa8d0d2f6bdaa7e747740 (diff)
Disable remembering when not using a proper keyring backend
Diffstat (limited to 'src/leap/gui')
-rw-r--r--src/leap/gui/login.py4
-rw-r--r--src/leap/gui/mainwindow.py7
-rw-r--r--src/leap/gui/wizard.py8
3 files changed, 12 insertions, 7 deletions
diff --git a/src/leap/gui/login.py b/src/leap/gui/login.py
index c367b2fb..8fc6ec24 100644
--- a/src/leap/gui/login.py
+++ b/src/leap/gui/login.py
@@ -24,6 +24,8 @@ import keyring
from PySide import QtCore, QtGui
from ui_login import Ui_LoginWidget
+from leap.util.keyring_helpers import has_keyring
+
logger = logging.getLogger(__name__)
@@ -58,7 +60,7 @@ class LoginWidget(QtGui.QWidget):
self.ui.chkRemember.stateChanged.connect(
self._remember_state_changed)
- self.ui.chkRemember.setEnabled(keyring.get_keyring() is not None)
+ self.ui.chkRemember.setEnabled(has_keyring())
self.ui.lnPassword.setEchoMode(QtGui.QLineEdit.Password)
diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py
index 2ed01917..9dc1e006 100644
--- a/src/leap/gui/mainwindow.py
+++ b/src/leap/gui/mainwindow.py
@@ -55,6 +55,7 @@ from leap.services.eip.vpnlaunchers import (VPNLauncherException,
EIPNoPkexecAvailable,
EIPNoPolkitAuthAgentAvailable)
from leap.util import __version__ as VERSION
+from leap.util.keyring_helpers import has_keyring
from leap.services.mail.smtpconfig import SMTPConfig
@@ -435,7 +436,7 @@ class MainWindow(QtGui.QMainWindow):
self._login_widget.set_user(possible_username)
if possible_password is not None:
self._login_widget.set_password(possible_password)
- self._login_widget.set_remember(True)
+ self._login_widget.set_remember(has_keyring())
self._login()
self._wizard = None
self._settings.set_properprovider(True)
@@ -454,7 +455,7 @@ class MainWindow(QtGui.QMainWindow):
logger.error('Username@provider malformed. %r' % (e, ))
saved_user = None
- if saved_user is not None:
+ if saved_user is not None and has_keyring():
# fill the username
self._login_widget.set_user(username)
@@ -740,7 +741,7 @@ class MainWindow(QtGui.QMainWindow):
self._login_widget.set_status(self.tr("Logging in..."), error=False)
self._login_widget.set_enabled(False)
- if self._login_widget.get_remember():
+ if self._login_widget.get_remember() and has_keyring():
# in the keyring and in the settings
# we store the value 'usename@provider'
username_domain = (username + '@' + provider).encode("utf8")
diff --git a/src/leap/gui/wizard.py b/src/leap/gui/wizard.py
index 066a7db3..34eba84c 100644
--- a/src/leap/gui/wizard.py
+++ b/src/leap/gui/wizard.py
@@ -31,6 +31,7 @@ from leap.config.providerconfig import ProviderConfig
from leap.crypto.srpregister import SRPRegister
from leap.util.privilege_policies import is_missing_policy_permissions
from leap.util.request_helpers import get_content
+from leap.util.keyring_helpers import has_keyring
from leap.services.eip.providerbootstrapper import ProviderBootstrapper
from leap.services import get_available
@@ -170,7 +171,7 @@ class Wizard(QtGui.QWizard):
return self._password
def get_remember(self):
- return self.ui.chkRemember.isChecked()
+ return has_keyring() and self.ui.chkRemember.isChecked()
def get_services(self):
return self._selected_services
@@ -286,8 +287,9 @@ class Wizard(QtGui.QWizard):
self._set_registration_fields_visibility(False)
# Allow the user to remember his password
- self.ui.chkRemember.setVisible(True)
- self.ui.chkRemember.setEnabled(True)
+ if has_keyring():
+ self.ui.chkRemember.setVisible(True)
+ self.ui.chkRemember.setEnabled(True)
self.page(self.REGISTER_USER_PAGE).set_completed()
self.button(QtGui.QWizard.BackButton).setEnabled(False)