summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-06-11 12:09:30 -0300
committerTomás Touceda <chiiph@leap.se>2013-06-11 12:09:30 -0300
commit029b4c2ac07fab41dbed9ab90e04e477938c3c05 (patch)
tree3edbec9313b48841864a7e50829c0128803bddcd
parent3d91da9b320d2dd267b0c1799c25a3e140077666 (diff)
Merge systray icons
Also, catch a possible problem with the login answer from the webapp and display a proper message
-rw-r--r--changes/feature_mergesystray2
-rw-r--r--src/leap/crypto/srpauth.py11
-rw-r--r--src/leap/gui/mainwindow.py38
3 files changed, 24 insertions, 27 deletions
diff --git a/changes/feature_mergesystray b/changes/feature_mergesystray
new file mode 100644
index 00000000..6bb6819e
--- /dev/null
+++ b/changes/feature_mergesystray
@@ -0,0 +1,2 @@
+ o Only use one systray icon, repesenting the status for EIP. Closes
+ #2762 \ No newline at end of file
diff --git a/src/leap/crypto/srpauth.py b/src/leap/crypto/srpauth.py
index 28086279..82525d7f 100644
--- a/src/leap/crypto/srpauth.py
+++ b/src/leap/crypto/srpauth.py
@@ -254,9 +254,14 @@ class SRPAuth(QtCore.QObject):
(auth_result.status_code,))
json_content = json.loads(content)
- M2 = json_content.get("M2", None)
- uid = json_content.get("id", None)
- token = json_content.get("token", None)
+
+ try:
+ M2 = json_content.get("M2", None)
+ uid = json_content.get("id", None)
+ token = json_content.get("token", None)
+ except Exception as e:
+ logger.error(e)
+ raise Exception("Something went wrong with the login")
events_signal(proto.CLIENT_UID, content=uid)
diff --git a/src/leap/gui/mainwindow.py b/src/leap/gui/mainwindow.py
index f9e088a7..fa49c55d 100644
--- a/src/leap/gui/mainwindow.py
+++ b/src/leap/gui/mainwindow.py
@@ -217,12 +217,11 @@ class MainWindow(QtGui.QMainWindow):
self._really_quit = False
self._systray = None
- self._vpn_systray = None
- self._action_eip_status = QtGui.QAction(self.tr("Encryption is OFF"),
+ self._action_eip_status = QtGui.QAction(self.tr("Encrypted internet is OFF"),
self)
self._action_eip_status.setEnabled(False)
- self._action_eip_startstop = QtGui.QAction(self.tr("Stop"), self)
+ self._action_eip_startstop = QtGui.QAction(self.tr("Turn encryption ON"), self)
self._action_eip_startstop.triggered.connect(
self._stop_eip)
self._action_eip_write = QtGui.QAction(
@@ -234,7 +233,7 @@ class MainWindow(QtGui.QMainWindow):
"%12.2f Kb" % (0.0,), self)
self._action_eip_read.setEnabled(False)
- self._action_visible = QtGui.QAction(self.tr("Hide"), self)
+ self._action_visible = QtGui.QAction(self.tr("Hide Main Window"), self)
self._action_visible.triggered.connect(self._toggle_visible)
self._enabled_services = []
@@ -440,22 +439,15 @@ class MainWindow(QtGui.QMainWindow):
systrayMenu.addAction(self.ui.action_sign_out)
systrayMenu.addSeparator()
systrayMenu.addAction(self.ui.action_quit)
+ systrayMenu.addSeparator()
+ systrayMenu.addAction(self._action_eip_status)
+ systrayMenu.addAction(self._action_eip_startstop)
self._systray = QtGui.QSystemTrayIcon(self)
self._systray.setContextMenu(systrayMenu)
- self._systray.setIcon(QtGui.QIcon(self.LOGGED_OUT_ICON))
+ self._systray.setIcon(QtGui.QIcon(self.ERROR_ICON))
self._systray.setVisible(True)
self._systray.activated.connect(self._toggle_visible)
- vpn_systrayMenu = QtGui.QMenu(self)
- vpn_systrayMenu.addAction(self._action_eip_status)
- vpn_systrayMenu.addAction(self._action_eip_startstop)
- vpn_systrayMenu.addAction(self._action_eip_read)
- vpn_systrayMenu.addAction(self._action_eip_write)
- self._vpn_systray = QtGui.QSystemTrayIcon(self)
- self._vpn_systray.setContextMenu(vpn_systrayMenu)
- self._vpn_systray.setIcon(QtGui.QIcon(self.ERROR_ICON))
- self._vpn_systray.setVisible(False)
-
def _toggle_visible(self, reason=None):
"""
SLOT
@@ -599,7 +591,7 @@ class MainWindow(QtGui.QMainWindow):
:param status: status message
:type status: str
"""
- self._vpn_systray.setToolTip(status)
+ self._systray.setToolTip(status)
if error:
status = "<font color='red'><b>%s</b></font>" % (status,)
self.ui.lblEIPStatus.setText(status)
@@ -765,7 +757,6 @@ class MainWindow(QtGui.QMainWindow):
triggers the eip bootstrapping
"""
self.ui.stackedWidget.setCurrentIndex(self.EIP_STATUS_INDEX)
- self._systray.setIcon(self.LOGGED_IN_ICON)
self._soledad_bootstrapper.run_soledad_setup_checks(
self._provider_config,
@@ -895,11 +886,11 @@ class MainWindow(QtGui.QMainWindow):
providerconfig=self._provider_config,
socket_host=host,
socket_port=port)
- self.ui.btnEipStartStop.setText(self.tr("Stop EIP"))
+ self.ui.btnEipStartStop.setText(self.tr("Turn Encryption OFF"))
self.ui.btnEipStartStop.disconnect(self)
self.ui.btnEipStartStop.clicked.connect(
self._stop_eip)
- self._action_eip_startstop.setText(self.tr("Stop"))
+ self._action_eip_startstop.setText(self.tr("Turn Encryption OFF"))
self._action_eip_startstop.disconnect(self)
self._action_eip_startstop.triggered.connect(
self._stop_eip)
@@ -928,11 +919,11 @@ class MainWindow(QtGui.QMainWindow):
self._vpn.set_should_quit()
self._set_eip_status(self.tr("EIP has stopped"))
self._set_eip_status_icon("error")
- self.ui.btnEipStartStop.setText(self.tr("Start EIP"))
+ self.ui.btnEipStartStop.setText(self.tr("Turn Encryption ON"))
self.ui.btnEipStartStop.disconnect(self)
self.ui.btnEipStartStop.clicked.connect(
self._start_eip)
- self._action_eip_startstop.setText(self.tr("Start"))
+ self._action_eip_startstop.setText(self.tr("Turn Encryption ON"))
self._action_eip_startstop.disconnect(self)
self._action_eip_startstop.triggered.connect(
self._start_eip)
@@ -948,7 +939,6 @@ class MainWindow(QtGui.QMainWindow):
if self._provider_config.provides_eip() and \
self._enabled_services.count(self.OPENVPN_SERVICE) > 0:
- self._vpn_systray.setVisible(True)
self._eip_bootstrapper.run_eip_setup_checks(
self._provider_config,
download_if_needed=True)
@@ -973,12 +963,13 @@ class MainWindow(QtGui.QMainWindow):
if status in ("WAIT", "AUTH", "GET_CONFIG",
"RECONNECTING", "ASSIGN_IP"):
selected_pixmap = self.CONNECTING_ICON
+ tray_message = self.tr("Turning Encryption ON")
elif status in ("CONNECTED"):
tray_message = self.tr("Encryption is ON")
selected_pixmap = self.CONNECTED_ICON
self.ui.lblVPNStatusIcon.setPixmap(selected_pixmap)
- self._vpn_systray.setIcon(QtGui.QIcon(selected_pixmap))
+ self._systray.setIcon(QtGui.QIcon(selected_pixmap))
self._action_eip_status.setText(tray_message)
def _update_vpn_state(self, data):
@@ -1079,7 +1070,6 @@ class MainWindow(QtGui.QMainWindow):
Switches the stackedWidget back to the login stage after
logging out
"""
- self._systray.setIcon(self.LOGGED_OUT_ICON)
self.ui.action_sign_out.setEnabled(False)
self.ui.stackedWidget.setCurrentIndex(self.LOGIN_INDEX)
self.ui.lnPassword.setText("")