summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug-4025_display-soledad-errors2
-rw-r--r--src/leap/bitmask/gui/mail_status.py12
-rw-r--r--src/leap/bitmask/gui/mainwindow.py4
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(