From 61970d6395afcaa5439d866fbfb1ab2ad471141a Mon Sep 17 00:00:00 2001 From: elijah Date: Wed, 11 May 2016 17:09:54 -0700 Subject: [feat] move pix UA launcher from menu to mail status widget. --- src/leap/bitmask/gui/mail_status.py | 52 +++++-- src/leap/bitmask/gui/mainwindow.py | 12 -- src/leap/bitmask/gui/preferenceswindow.py | 15 ++ src/leap/bitmask/gui/ui/mail_status.ui | 239 +++++++++++++++++------------- src/leap/bitmask/gui/ui/mainwindow.ui | 10 +- src/leap/bitmask/gui/ui/preferences.ui | 2 +- 6 files changed, 197 insertions(+), 133 deletions(-) diff --git a/src/leap/bitmask/gui/mail_status.py b/src/leap/bitmask/gui/mail_status.py index 419a85c0..1045343b 100644 --- a/src/leap/bitmask/gui/mail_status.py +++ b/src/leap/bitmask/gui/mail_status.py @@ -26,7 +26,9 @@ from leap.common.check import leap_assert, leap_assert_type from leap.common.events import register from leap.common.events import catalog +from leap.bitmask.gui.preferenceswindow import PreferencesWindow from ui_mail_status import Ui_MailStatusWidget +from .qt_browser import PixelatedWindow logger = get_logger() @@ -52,13 +54,21 @@ class MailStatusWidget(QtGui.QWidget): self._systray = None self._disabled = True self._started = False + self._mainwindow = parent self._unread_mails = 0 self.ui = Ui_MailStatusWidget() self.ui.setupUi(self) - self.ui.lblMailReadyHelp.setVisible(False) + self.ui.email_ready.setVisible(False) + self.ui.configure_button.clicked.connect( + self._show_configure) + self.ui.open_mail_button.clicked.connect( + self._show_pix_ua) + if not self._mainwindow._settings.get_pixelmail_enabled(): + self.ui.open_mail_button.setVisible(False) + self.ui.or_label.setVisible(False) # set systray tooltip status self._mx_status = "" @@ -144,7 +154,23 @@ class MailStatusWidget(QtGui.QWidget): self.CONNECTED_ICON_TRAY = QtGui.QPixmap(EIP_ICONS_TRAY[1]) self.ERROR_ICON_TRAY = QtGui.QPixmap(EIP_ICONS_TRAY[2]) - # Systray and actions + # + # Button actions + # + + def _show_configure(self): + pref_win = PreferencesWindow(self._mainwindow, self._mainwindow.app) + pref_win.set_page("email") + pref_win.show() + + def _show_pix_ua(self): + win = PixelatedWindow(self._mainwindow) + win.show() + win.load_app() + + # + # Systray + # def set_systray(self, systray): """ @@ -166,6 +192,10 @@ class MailStatusWidget(QtGui.QWidget): mx_status = u"{0}: {1}".format(self._service_name, self._mx_status) self._systray.set_service_tooltip(MX_SERVICE, mx_status) + # + # Status + # + def set_action_mail_status(self, action_mail_status): """ Sets the action_mail_status to use. @@ -229,6 +259,9 @@ class MailStatusWidget(QtGui.QWidget): elif ready < 0: tray_status = self.tr("Mail is disabled") + if ready < 1: + self._hide_mail_ready() + self.ui.lblMailStatusIcon.setPixmap(icon) self._action_mail_status.setText(tray_status) self._update_systray_tooltip() @@ -424,9 +457,10 @@ class MailStatusWidget(QtGui.QWidget): self._show_unread_mails() elif event == catalog.IMAP_SERVICE_STARTED: self._imap_started = True - elif event == catalog.IMAP_CLIENT_LOGIN: - # If a MUA has logged in then we don't need to show this. - self._hide_mail_ready_help() + # this is disabled for now, because this event was being + # triggered at weird times. + #elif event == catalog.IMAP_CLIENT_LOGIN: + # self._hide_mail_ready() if ext_status is not None: self._set_mail_status(ext_status, ready=1) @@ -495,15 +529,13 @@ class MailStatusWidget(QtGui.QWidget): Display the correct UI for the connected state. """ self._set_mail_status(self.tr("ON"), 2) + self.ui.email_ready.setVisible(True) - # this help message will hide when the MUA connects - self.ui.lblMailReadyHelp.setVisible(True) - - def _hide_mail_ready_help(self): + def _hide_mail_ready(self): """ Hide the mail help message on the UI. """ - self.ui.lblMailReadyHelp.setVisible(False) + self.ui.email_ready.setVisible(False) def mail_state_disabled(self): """ diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index e7b849e5..6637f170 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -59,8 +59,6 @@ from leap.bitmask.util.keyring_helpers import has_keyring from leap.common.events import register from leap.common.events import catalog -from .qt_browser import PixelatedWindow - from leap.mail.imap.service.imap import IMAP_PORT from ui_mainwindow import Ui_MainWindow @@ -227,11 +225,6 @@ class MainWindow(QtGui.QMainWindow, SignalTracker): self._backend_connect() self.ui.action_preferences.triggered.connect(self._show_preferences) - self.ui.action_pixelated_mail.triggered.connect( - self._show_pixelated_browser) - - pixelated_enabled = self._settings.get_pixelmail_enabled() - self.ui.action_pixelated_mail.setVisible(pixelated_enabled) self.ui.action_about_leap.triggered.connect(self._about) self.ui.action_quit.triggered.connect(self.quit) @@ -575,11 +568,6 @@ class MainWindow(QtGui.QMainWindow, SignalTracker): pref_win = PreferencesWindow(self, self.app) pref_win.show() - def _show_pixelated_browser(self): - win = PixelatedWindow(self) - win.show() - win.load_app() - def _update_eip_enabled_status(self, account=None, services=None): """ TRIGGER: diff --git a/src/leap/bitmask/gui/preferenceswindow.py b/src/leap/bitmask/gui/preferenceswindow.py index 82dc8d77..30091312 100644 --- a/src/leap/bitmask/gui/preferenceswindow.py +++ b/src/leap/bitmask/gui/preferenceswindow.py @@ -38,6 +38,12 @@ class PreferencesWindow(QtGui.QDialog): _current_window = None # currently visible preferences window + _panels = { + "account": 0, + "vpn": 1, + "email": 2 + } + def __init__(self, parent, app): """ :param parent: parent object of the PreferencesWindow. @@ -240,3 +246,12 @@ class PreferencesWindow(QtGui.QDialog): Triggered by get srp_status_logged_in, srp_status_not_logged_in """ self._set_account(self.app.current_account()) + + def set_page(self, page): + """ + Jump to a particular page + """ + index = PreferencesWindow._panels[page] + self.ui.nav_widget.setCurrentRow(index) + self.ui.pages_widget.setCurrentIndex(index) + diff --git a/src/leap/bitmask/gui/ui/mail_status.ui b/src/leap/bitmask/gui/ui/mail_status.ui index 89e1843f..f8ebb5a8 100644 --- a/src/leap/bitmask/gui/ui/mail_status.ui +++ b/src/leap/bitmask/gui/ui/mail_status.ui @@ -6,12 +6,12 @@ 0 0 - 417 - 185 + 427 + 157 - + 0 0 @@ -20,26 +20,131 @@ Form - - 0 - + + + + color: rgb(80, 80, 80); + + + You must login to use encrypted email. + + + + + + + + 22 + 22 + + + + + 22 + 22 + + + + + + + :/images/black/22/off.png + + + true + + + + + + + + 0 + + + 6 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + Configure Client + + + + + + + + 0 + 0 + + + + or + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + Open Bitmask Mail + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 10 + 10 + + + + + + + - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + + + + + :/images/black/32/email.png + + + + + + + 0 @@ -51,89 +156,18 @@ - - - + + + + Qt::Horizontal + + - 24 - 24 + 1 + 1 - - - - - :/images/black/22/off.png - - - true - - - - - - - false - - - background-color: #e0efd8; -padding: 10px; -margin-top:5px; - - - QFrame::NoFrame - - - QFrame::Plain - - - 0 - - - Bitmask is ready to encrypt your email. Go to <a href="https://bitmask.net/en/help/email">https://bitmask.net/en/help/email</a> for email application setup instructions. - - - Qt::AutoText - - - false - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - true - - - 0 - - - -1 - - - true - - - - - - - - - - :/images/black/32/email.png - - - - - - - color: rgb(80, 80, 80); - - - You must login to use encrypted email. - - + @@ -141,6 +175,7 @@ margin-top:5px; + diff --git a/src/leap/bitmask/gui/ui/mainwindow.ui b/src/leap/bitmask/gui/ui/mainwindow.ui index 0dd0b891..5d8e0f35 100644 --- a/src/leap/bitmask/gui/ui/mainwindow.ui +++ b/src/leap/bitmask/gui/ui/mainwindow.ui @@ -75,7 +75,7 @@ 0 0 524 - 549 + 541 @@ -306,7 +306,7 @@ 0 0 524 - 21 + 25 @@ -315,7 +315,6 @@ - @@ -371,11 +370,6 @@ Create a new account... - - - Bitmask Mail - - false diff --git a/src/leap/bitmask/gui/ui/preferences.ui b/src/leap/bitmask/gui/ui/preferences.ui index 51cad0a1..8e884a63 100644 --- a/src/leap/bitmask/gui/ui/preferences.ui +++ b/src/leap/bitmask/gui/ui/preferences.ui @@ -7,7 +7,7 @@ 0 0 630 - 500 + 560 -- cgit v1.2.3