diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/bitmask/config/leapsettings.py | 19 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/login.py | 1 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 8 | 
3 files changed, 25 insertions, 3 deletions
| diff --git a/src/leap/bitmask/config/leapsettings.py b/src/leap/bitmask/config/leapsettings.py index d7b60ba9..c524425e 100644 --- a/src/leap/bitmask/config/leapsettings.py +++ b/src/leap/bitmask/config/leapsettings.py @@ -62,6 +62,7 @@ class LeapSettings(object):      GEOMETRY_KEY = "Geometry"      WINDOWSTATE_KEY = "WindowState"      USER_KEY = "User" +    PROVIDER_KEY = "Provider"      REMEMBER_KEY = "RememberUserAndPass"      DEFAULTPROVIDER_KEY = "DefaultProvider"      AUTOSTARTEIP_KEY = "AutoStartEIP" @@ -241,6 +242,24 @@ class LeapSettings(object):          leap_assert(len(user) > 0, "We cannot save an empty user")          self._settings.setValue(self.USER_KEY, user) +    def get_provider(self): +        """ +        Returns the configured provider to remember, None if there isn't one + +        :rtype: str or None +        """ +        return self._settings.value(self.PROVIDER_KEY, None) + +    def set_provider(self, provider): +        """ +        Saves the provider to remember + +        :param provider: provider name to remember +        :type provider: str +        """ +        leap_assert(len(provider) > 0, "We cannot save an empty provider") +        self._settings.setValue(self.PROVIDER_KEY, provider) +      def get_remember(self):          """          Returns the value of the remember selection. diff --git a/src/leap/bitmask/gui/login.py b/src/leap/bitmask/gui/login.py index c8c5c402..ac34fe23 100644 --- a/src/leap/bitmask/gui/login.py +++ b/src/leap/bitmask/gui/login.py @@ -297,6 +297,7 @@ class LoginWidget(QtGui.QWidget):          self.set_enabled(False)          self.ui.clblErrorMsg.hide() +        self._settings.set_provider(provider)          if self.get_remember() and has_keyring():              # in the keyring and in the settings              # we store the value 'usename@provider' diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index 5d7f717b..f5631c69 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -583,6 +583,11 @@ class MainWindow(QtGui.QMainWindow):              self._wizard = None          else:              self._try_autostart_eip() + +            domain = self._settings.get_provider() +            if domain is not None: +                self._login_widget.select_provider_by_name(domain) +              if not self._settings.get_remember():                  # nothing to do here                  return @@ -600,9 +605,6 @@ class MainWindow(QtGui.QMainWindow):                  # fill the username                  self._login_widget.set_user(username) -                # select the configured provider in the combo box -                self._login_widget.select_provider_by_name(domain) -                  self._login_widget.set_remember(True)                  saved_password = None | 
