summaryrefslogtreecommitdiff
path: root/src/leap/baseapp/systray.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/baseapp/systray.py')
-rw-r--r--src/leap/baseapp/systray.py41
1 files changed, 29 insertions, 12 deletions
diff --git a/src/leap/baseapp/systray.py b/src/leap/baseapp/systray.py
index 1939bc09..d5d44f61 100644
--- a/src/leap/baseapp/systray.py
+++ b/src/leap/baseapp/systray.py
@@ -41,7 +41,7 @@ class StatusAwareTrayIconMixin(object):
self.createIconGroupBox()
self.createActions()
self.createTrayIcon()
- logger.debug('showing tray icon................')
+ #logger.debug('showing tray icon................')
self.trayIcon.show()
# not sure if this really belongs here, but...
@@ -75,6 +75,10 @@ class StatusAwareTrayIconMixin(object):
statusIconLayout.addWidget(self.ConnectionWidgets['connected'])
statusIconLayout.itemAt(1).widget().hide()
statusIconLayout.itemAt(2).widget().hide()
+
+ self.leapConnStatus = QtGui.QLabel("<b>disconnected</b>")
+ statusIconLayout.addWidget(self.leapConnStatus)
+
self.statusIconBox.setLayout(statusIconLayout)
def createTrayIcon(self):
@@ -84,9 +88,6 @@ class StatusAwareTrayIconMixin(object):
self.trayIconMenu = QtGui.QMenu(self)
self.trayIconMenu.addAction(self.connAct)
- #self.trayIconMenu.addAction(self.minimizeAction)
- #self.trayIconMenu.addAction(self.maximizeAction)
- #self.trayIconMenu.addAction(self.restoreAction)
self.trayIconMenu.addSeparator()
self.trayIconMenu.addAction(self.detailsAct)
self.trayIconMenu.addSeparator()
@@ -113,12 +114,6 @@ class StatusAwareTrayIconMixin(object):
self.detailsAct = QtGui.QAction("&Details...",
self,
triggered=self.detailsWin)
- #self.minimizeAction = QtGui.QAction("Mi&nimize", self,
- #triggered=self.hide)
- #self.maximizeAction = QtGui.QAction("Ma&ximize", self,
- #triggered=self.showMaximized)
- #self.restoreAction = QtGui.QAction("&Restore", self,
- #triggered=self.showNormal)
self.aboutAct = QtGui.QAction("&About", self,
triggered=self.about)
self.aboutQtAct = QtGui.QAction("About Q&t", self,
@@ -197,10 +192,32 @@ class StatusAwareTrayIconMixin(object):
@QtCore.pyqtSlot(object)
def onStatusChange(self, status):
"""
- slot for status changes. triggers new signals for
- updating icon, status bar, etc.
+ updates icon
"""
icon_name = self.conductor.get_icon_name()
+
+ # XXX refactor. Use QStateMachine
+
+ if icon_name in ("disconnected", "connected"):
+ self.changeLeapStatus.emit(icon_name)
+
+ if icon_name in ("connecting"):
+ # let's see how it matches
+ leap_status_name = self.conductor.get_leap_status()
+ self.changeLeapStatus.emit(leap_status_name)
+
self.setIcon(icon_name)
# change connection pixmap widget
self.setConnWidget(icon_name)
+
+ @QtCore.pyqtSlot(str)
+ def onChangeLeapConnStatus(self, newstatus):
+ """
+ slot for LEAP status changes
+ not to be confused with onStatusChange.
+ this only updates the non-debug LEAP Status line
+ next to the connection icon.
+ """
+ # XXX move bold to style sheet
+ self.leapConnStatus.setText(
+ "<b>%s</b>" % newstatus)