diff options
-rw-r--r-- | changes/bug-4148_wizard-ui-providers-back | 2 | ||||
-rw-r--r-- | src/leap/bitmask/gui/wizard.py | 25 |
2 files changed, 21 insertions, 6 deletions
diff --git a/changes/bug-4148_wizard-ui-providers-back b/changes/bug-4148_wizard-ui-providers-back new file mode 100644 index 00000000..9c96400f --- /dev/null +++ b/changes/bug-4148_wizard-ui-providers-back @@ -0,0 +1,2 @@ +- Wizard now behaves correctly in provider selection after click 'cancel' or + 'back'. Closes #4148. diff --git a/src/leap/bitmask/gui/wizard.py b/src/leap/bitmask/gui/wizard.py index 8de5802e..5c4a6f8e 100644 --- a/src/leap/bitmask/gui/wizard.py +++ b/src/leap/bitmask/gui/wizard.py @@ -111,8 +111,9 @@ class Wizard(QtGui.QWizard): self.currentIdChanged.connect(self._current_id_changed) - self.ui.lnProvider.textChanged.connect( - self._enable_check) + self.ui.lnProvider.textChanged.connect(self._enable_check) + self.ui.rbNewProvider.toggled.connect( + lambda x: self._enable_check()) self.ui.lblUser.returnPressed.connect( self._focus_password) @@ -193,8 +194,19 @@ class Wizard(QtGui.QWizard): def get_services(self): return self._selected_services - def _enable_check(self, text): - self.ui.btnCheck.setEnabled(len(self.ui.lnProvider.text()) != 0) + @QtCore.Slot() + def _enable_check(self): + """ + SLOT + TRIGGER: + self.ui.lnProvider.textChanged + + Enables/disables the 'check' button in the SELECT_PROVIDER_PAGE + depending on the lnProvider content. + """ + enabled = len(self.ui.lnProvider.text()) != 0 + enabled = enabled and self.ui.rbNewProvider.isChecked() + self.ui.btnCheck.setEnabled(enabled) self._reset_provider_check() def _focus_password(self): @@ -555,8 +567,9 @@ class Wizard(QtGui.QWizard): Prepares the pages when they appear """ if pageId == self.SELECT_PROVIDER_PAGE: - self._reset_provider_check() - self._enable_check("") + skip = self.ui.rbExistingProvider.isChecked() + self._enable_check() + self._skip_provider_checks(skip) if pageId == self.SETUP_PROVIDER_PAGE: self._reset_provider_setup() |