diff options
-rw-r--r-- | changes/bug-4025_display-soledad-errors | 2 | ||||
-rw-r--r-- | src/leap/bitmask/gui/mail_status.py | 12 | ||||
-rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 4 |
3 files changed, 15 insertions, 3 deletions
diff --git a/changes/bug-4025_display-soledad-errors b/changes/bug-4025_display-soledad-errors new file mode 100644 index 00000000..35fd0025 --- /dev/null +++ b/changes/bug-4025_display-soledad-errors @@ -0,0 +1,2 @@ + o In case of Soledad failure, display to the user that there was a problem. + Closes #4025. diff --git a/src/leap/bitmask/gui/mail_status.py b/src/leap/bitmask/gui/mail_status.py index ab9052d7..2ac9a332 100644 --- a/src/leap/bitmask/gui/mail_status.py +++ b/src/leap/bitmask/gui/mail_status.py @@ -35,7 +35,6 @@ class MailStatusWidget(QtGui.QWidget): """ Status widget that displays the state of the LEAP Mail service """ - eip_connection_connected = QtCore.Signal() _soledad_event = QtCore.Signal(object) _smtp_event = QtCore.Signal(object) _imap_event = QtCore.Signal(object) @@ -193,6 +192,17 @@ class MailStatusWidget(QtGui.QWidget): leap_assert_type(action_mail_status, QtGui.QAction) self._action_mail_status = action_mail_status + def set_soledad_failed(self): + """ + SLOT + TRIGGER: + SoledadBootstrapper.soledad_failed + + This method is called whenever soledad has a failure. + """ + msg = self.tr("There was an unexpected problem with Soledad.") + self._set_mail_status(msg, ready=-1) + def _set_mail_status(self, status, ready=0): """ Sets the Mail status in the label and in the tray icon. diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index 0d0c6339..69545751 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -254,8 +254,8 @@ class MainWindow(QtGui.QMainWindow): self._soledad_bootstrapped_stage) self._soledad_bootstrapper.soledad_timeout.connect( self._retry_soledad_connection) - # XXX missing connect to soledad_failed (signal unrecoverable to user) - # TODO wait until chiiph ui refactor. + self._soledad_bootstrapper.soledad_failed.connect( + self._mail_status.set_soledad_failed) self._smtp_bootstrapper = SMTPBootstrapper() self._smtp_bootstrapper.download_config.connect( |