diff options
| author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-11-14 14:34:46 -0300 | 
|---|---|---|
| committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2013-11-14 14:38:22 -0300 | 
| commit | 20d89634f7b891fb4f399da51b3800d42159b9eb (patch) | |
| tree | 4918d51a6437ccea2462cb3a521c215b52ccfd4a | |
| parent | b0b820d4dc579e3bf5bbfbe68c7911d573aea205 (diff) | |
Enable password change in proper conditions.
- Send soledad to the constructor and check with sameProxiedObjects
- Check if soledad instance is defined, otherwise wait until
  soledad_ready
[Closes #4449]
| -rw-r--r-- | changes/bug-4449_password-change-properly-enabled | 1 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 7 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/preferenceswindow.py | 26 | 
3 files changed, 18 insertions, 16 deletions
| diff --git a/changes/bug-4449_password-change-properly-enabled b/changes/bug-4449_password-change-properly-enabled new file mode 100644 index 00000000..71d36eb2 --- /dev/null +++ b/changes/bug-4449_password-change-properly-enabled @@ -0,0 +1 @@ +- Password change dialog is now properly enabled. Closes #4449. diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index f3043809..c24735d8 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -446,11 +446,10 @@ class MainWindow(QtGui.QMainWindow):          Displays the preferences window.          """          preferences_window = PreferencesWindow(self, self._srp_auth, -                                               self._provider_config) - -        self.soledad_ready.connect( -            lambda: preferences_window.set_soledad_ready(self._soledad)) +                                               self._provider_config, +                                               self._soledad) +        self.soledad_ready.connect(preferences_window.set_soledad_ready)          preferences_window.show()      def _show_eip_preferences(self): diff --git a/src/leap/bitmask/gui/preferenceswindow.py b/src/leap/bitmask/gui/preferenceswindow.py index 3843ccde..8e9ef95a 100644 --- a/src/leap/bitmask/gui/preferenceswindow.py +++ b/src/leap/bitmask/gui/preferenceswindow.py @@ -42,7 +42,7 @@ class PreferencesWindow(QtGui.QDialog):      """      Window that displays the preferences.      """ -    def __init__(self, parent, srp_auth, provider_config): +    def __init__(self, parent, srp_auth, provider_config, soledad):          """          :param parent: parent object of the PreferencesWindow.          :parent type: QWidget @@ -50,13 +50,15 @@ class PreferencesWindow(QtGui.QDialog):          :type srp_auth: SRPAuth          :param provider_config: ProviderConfig object.          :type provider_config: ProviderConfig +        :param soledad: Soledad instance +        :type soledad: Soledad          """          QtGui.QDialog.__init__(self, parent)          self.AUTOMATIC_GATEWAY_LABEL = self.tr("Automatic")          self._srp_auth = srp_auth          self._settings = LeapSettings() -        self._soledad = None +        self._soledad = soledad          # Load UI          self.ui = Ui_Preferences() @@ -94,10 +96,14 @@ class PreferencesWindow(QtGui.QDialog):                                    "the password.".format(mx_name))                      self._set_password_change_status(msg, error=True)                  else: -                    msg = self.tr( -                        "You need to wait until {0} is ready in " -                        "order to change the password.".format(mx_name)) -                    self._set_password_change_status(msg) +                    if sameProxiedObjects(self._soledad, None): +                        msg = self.tr( +                            "You need to wait until {0} is ready in " +                            "order to change the password.".format(mx_name)) +                        self._set_password_change_status(msg) +                    else: +                        # Soledad is bootstrapped +                        pw_enabled = True              else:                  pw_enabled = True          else: @@ -107,18 +113,14 @@ class PreferencesWindow(QtGui.QDialog):          self.ui.gbPasswordChange.setEnabled(pw_enabled) -    def set_soledad_ready(self, soledad): +    def set_soledad_ready(self):          """          SLOT          TRIGGERS:              parent.soledad_ready -        It sets the soledad object as ready to use. - -        :param soledad: Soledad object configured in the main app. -        :type soledad: Soledad +        It notifies when the soledad object as ready to use.          """ -        self._soledad = soledad          self.ui.lblPasswordChangeStatus.setVisible(False)          self.ui.gbPasswordChange.setEnabled(True) | 
