diff options
| -rw-r--r-- | changes/properly_enable_services | 1 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/mail_status.py | 11 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 15 | 
3 files changed, 21 insertions, 6 deletions
| diff --git a/changes/properly_enable_services b/changes/properly_enable_services new file mode 100644 index 00000000..1b08fa3c --- /dev/null +++ b/changes/properly_enable_services @@ -0,0 +1 @@ +  o Do not start Soledad if Mail is not enabled. Fixes #3989.
\ No newline at end of file diff --git a/src/leap/bitmask/gui/mail_status.py b/src/leap/bitmask/gui/mail_status.py index 770d991f..ab9052d7 100644 --- a/src/leap/bitmask/gui/mail_status.py +++ b/src/leap/bitmask/gui/mail_status.py @@ -199,7 +199,8 @@ class MailStatusWidget(QtGui.QWidget):          :param status: the status text to display          :type status: unicode -        :param ready: 2 or >2 if mx is ready, 0 if stopped, 1 if it's starting. +        :param ready: 2 or >2 if mx is ready, 0 if stopped, 1 if it's +                      starting, < 0 if disabled.          :type ready: int          """          self.ui.lblMailStatus.setText(status) @@ -219,6 +220,8 @@ class MailStatusWidget(QtGui.QWidget):              icon = self.CONNECTED_ICON              self._mx_status = self.tr('ON')              tray_status = self.tr('Mail is ON') +        elif ready < 0: +            tray_status = self.tr("Mail is disabled")          self.ui.lblMailStatusIcon.setPixmap(icon)          self._action_mail_status.setText(tray_status) @@ -392,6 +395,12 @@ class MailStatusWidget(QtGui.QWidget):          self._set_mail_status(self.tr("About to start, please wait..."),                                ready=1) +    def set_disabled(self): +        """ +        Displays the correct UI for disabled mail. +        """ +        self._set_mail_status(self.tr("Disabled"), -1) +      def stopped_mail(self):          """          Displayes the correct UI for the stopped state. diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index 7129b670..dd4a341e 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -950,17 +950,22 @@ class MainWindow(QtGui.QMainWindow):          self._login_widget.logged_in() +        self._enabled_services = self._settings.get_enabled_services( +            self._provider_config.get_domain()) +          # TODO separate UI from logic.          # TODO soledad should check if we want to run only over EIP.          if self._provider_config.provides_mx() and \             self._enabled_services.count(self.MX_SERVICE) > 0:              self._mail_status.about_to_start() -        self._soledad_bootstrapper.run_soledad_setup_checks( -            self._provider_config, -            self._login_widget.get_user(), -            self._login_widget.get_password(), -            download_if_needed=True) +            self._soledad_bootstrapper.run_soledad_setup_checks( +                self._provider_config, +                self._login_widget.get_user(), +                self._login_widget.get_password(), +                download_if_needed=True) +        else: +            self._mail_status.set_disabled()          self._download_eip_config() | 
