From 70c65ad05f22c87aa1008ed01154eb7479bdfe71 Mon Sep 17 00:00:00 2001
From: Ivan Alejandro <ivanalejandro0@gmail.com>
Date: Wed, 18 Sep 2013 17:24:10 -0300
Subject: Move EIP status and action to submenu in tray.

---
 src/leap/bitmask/gui/mainwindow.py  | 29 ++++++++++-------------------
 src/leap/bitmask/gui/statuspanel.py | 16 ++++++++--------
 2 files changed, 18 insertions(+), 27 deletions(-)

(limited to 'src')

diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py
index 997a1103..37bbf1c4 100644
--- a/src/leap/bitmask/gui/mainwindow.py
+++ b/src/leap/bitmask/gui/mainwindow.py
@@ -251,26 +251,14 @@ class MainWindow(QtGui.QMainWindow):
 
         self._systray = None
 
-        self._action_eip_status = QtGui.QAction(
-            self.tr("Encrypted Internet is OFF"),
-            self)
-        self._action_eip_status.setEnabled(False)
-        self._status_panel.set_action_eip_status(
-            self._action_eip_status)
-
-        self._action_mail_status = QtGui.QAction(
-            self.tr("Mail is OFF"), self)
+        self._action_mail_status = QtGui.QAction(self.tr("Mail is OFF"), self)
         self._action_mail_status.setEnabled(False)
-        self._status_panel.set_action_mail_status(
-            self._action_mail_status)
+        self._status_panel.set_action_mail_status(self._action_mail_status)
 
-        self._action_eip_startstop = QtGui.QAction(
-            self.tr("Turn ON"), self)
-        self._action_eip_startstop.triggered.connect(
-            self._stop_eip)
+        self._action_eip_startstop = QtGui.QAction(self.tr("Turn ON"), self)
+        self._action_eip_startstop.triggered.connect(self._stop_eip)
         self._action_eip_startstop.setEnabled(False)
-        self._status_panel.set_action_eip_startstop(
-            self._action_eip_startstop)
+        self._status_panel.set_action_eip_startstop(self._action_eip_startstop)
 
         self._action_preferences = QtGui.QAction(self.tr("Preferences"), self)
         self._action_preferences.triggered.connect(self._show_preferences)
@@ -620,8 +608,11 @@ class MainWindow(QtGui.QMainWindow):
         systrayMenu = QtGui.QMenu(self)
         systrayMenu.addAction(self._action_visible)
         systrayMenu.addSeparator()
-        systrayMenu.addAction(self._action_eip_status)
-        systrayMenu.addAction(self._action_eip_startstop)
+
+        eip_menu = systrayMenu.addMenu(self.tr("Encrypted Internet is OFF"))
+        eip_menu.addAction(self._action_eip_startstop)
+        self._status_panel.set_eip_status_menu(eip_menu)
+
         systrayMenu.addAction(self._action_mail_status)
         systrayMenu.addSeparator()
         systrayMenu.addAction(self._action_preferences)
diff --git a/src/leap/bitmask/gui/statuspanel.py b/src/leap/bitmask/gui/statuspanel.py
index 2aac8a53..39a8079f 100644
--- a/src/leap/bitmask/gui/statuspanel.py
+++ b/src/leap/bitmask/gui/statuspanel.py
@@ -130,7 +130,7 @@ class StatusPanelWidget(QtGui.QWidget):
         QtGui.QWidget.__init__(self, parent)
 
         self._systray = None
-        self._action_eip_status = None
+        self._eip_status_menu = None
 
         self.ui = Ui_StatusPanel()
         self.ui.setupUi(self)
@@ -359,15 +359,15 @@ class StatusPanelWidget(QtGui.QWidget):
         """
         self._action_eip_startstop = action_eip_startstop
 
-    def set_action_eip_status(self, action_eip_status):
+    def set_eip_status_menu(self, eip_status_menu):
         """
-        Sets the action_eip_status to use.
+        Sets the eip_status_menu to use.
 
-        :param action_eip_status: action_eip_status to be used
-        :type action_eip_status: QtGui.QAction
+        :param eip_status_menu: eip_status_menu to be used
+        :type eip_status_menu: QtGui.QMenu
         """
-        leap_assert_type(action_eip_status, QtGui.QAction)
-        self._action_eip_status = action_eip_status
+        leap_assert_type(eip_status_menu, QtGui.QMenu)
+        self._eip_status_menu = eip_status_menu
 
     def set_action_mail_status(self, action_mail_status):
         """
@@ -558,7 +558,7 @@ class StatusPanelWidget(QtGui.QWidget):
 
         self.set_icon(selected_pixmap)
         self._systray.setIcon(QtGui.QIcon(selected_pixmap_tray))
-        self._action_eip_status.setText(tray_message)
+        self._eip_status_menu.setTitle(tray_message)
 
     def set_provider(self, provider):
         self.ui.lblProvider.setText(provider)
-- 
cgit v1.2.3