diff options
| -rw-r--r-- | changes/feature-3758_show-eip-and-mx-status-in-systray-tooltip | 2 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 2 | ||||
| -rw-r--r-- | src/leap/bitmask/gui/statuspanel.py | 24 | 
3 files changed, 24 insertions, 4 deletions
diff --git a/changes/feature-3758_show-eip-and-mx-status-in-systray-tooltip b/changes/feature-3758_show-eip-and-mx-status-in-systray-tooltip new file mode 100644 index 00000000..edbb3ea0 --- /dev/null +++ b/changes/feature-3758_show-eip-and-mx-status-in-systray-tooltip @@ -0,0 +1,2 @@ +  o Display the Encrypted Internet and Encrypted Email status in the systray +    tooltip. Closes #3758. diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index 0950462b..6141a3a2 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -256,7 +256,7 @@ class MainWindow(QtGui.QMainWindow):          self._action_eip_provider.setEnabled(False)          self._action_eip_status = QtGui.QAction( -            self.tr("Encrypted internet is OFF"), +            self.tr("Encrypted Internet is OFF"),              self)          self._action_eip_status.setEnabled(False)          self._status_panel.set_action_eip_status( diff --git a/src/leap/bitmask/gui/statuspanel.py b/src/leap/bitmask/gui/statuspanel.py index 3a91f08e..10e6bca3 100644 --- a/src/leap/bitmask/gui/statuspanel.py +++ b/src/leap/bitmask/gui/statuspanel.py @@ -141,6 +141,9 @@ class StatusPanelWidget(QtGui.QWidget):          self.hide_status_box() +        # set systray tooltip statuses +        self._eip_status = self._mx_status = "" +          # Set the EIP status icons          self.CONNECTING_ICON = None          self.CONNECTED_ICON = None @@ -336,6 +339,16 @@ class StatusPanelWidget(QtGui.QWidget):          """          leap_assert_type(systray, QtGui.QSystemTrayIcon)          self._systray = systray +        self._systray.setToolTip(self.tr("All services are OFF")) + +    def _update_systray_tooltip(self): +        """ +        Updates the system tray icon tooltip using the eip and mx statuses. +        """ +        status = self.tr("Encrypted Internet is {0}").format(self._eip_status) +        status += '\n' +        status += self.tr("Encrypted Mail is {0}").format(self._mx_status) +        self._systray.setToolTip(status)      def set_action_eip_startstop(self, action_eip_startstop):          """ @@ -400,10 +413,12 @@ class StatusPanelWidget(QtGui.QWidget):          """          leap_assert_type(error, bool) -        self._systray.setToolTip(status) +        self._eip_status = status +          if error:              status = "<font color='red'>%s</font>" % (status,)          self.ui.lblEIPStatus.setText(status) +        self._update_systray_tooltip()      def set_startstop_enabled(self, value):          """ @@ -530,14 +545,14 @@ class StatusPanelWidget(QtGui.QWidget):          """          selected_pixmap = self.ERROR_ICON          selected_pixmap_tray = self.ERROR_ICON_TRAY -        tray_message = self.tr("Encryption is OFF") +        tray_message = self.tr("Encrypted Internet is OFF")          if status in ("WAIT", "AUTH", "GET_CONFIG",                        "RECONNECTING", "ASSIGN_IP"):              selected_pixmap = self.CONNECTING_ICON              selected_pixmap_tray = self.CONNECTING_ICON_TRAY              tray_message = self.tr("Turning ON")          elif status in ("CONNECTED"): -            tray_message = self.tr("Encryption is ON") +            tray_message = self.tr("Encrypted Internet is ON")              selected_pixmap = self.CONNECTED_ICON              selected_pixmap_tray = self.CONNECTED_ICON_TRAY @@ -559,15 +574,18 @@ class StatusPanelWidget(QtGui.QWidget):          """          self.ui.lblMailStatus.setText(status) +        self._mx_status = self.tr('OFF')          tray_status = self.tr('Encrypted Mail is OFF')          icon = QtGui.QPixmap(self.MAIL_OFF_ICON)          if ready:              icon = QtGui.QPixmap(self.MAIL_ON_ICON) +            self._mx_status = self.tr('ON')              tray_status = self.tr('Encrypted Mail is ON')          self.ui.lblMailIcon.setPixmap(icon)          self._action_mail_status.setText(tray_status) +        self._update_systray_tooltip()      def _mail_handle_soledad_events(self, req):          """  | 
