summaryrefslogtreecommitdiff
path: root/src/leap/baseapp
diff options
context:
space:
mode:
authorkali <kali@leap.se>2012-09-14 08:34:59 +0900
committerkali <kali@leap.se>2012-09-18 04:02:51 +0900
commitadd7973b3d1633b2776cb90f237415c6cac65d99 (patch)
tree3537c2b55a5707a9bdba61214a5d926106a6c94d /src/leap/baseapp
parent1e9ae8c5cf64a347ee59b24ad426a8ed929127c1 (diff)
set app icon
(shows on window, minimized icons and about dialog)
Diffstat (limited to 'src/leap/baseapp')
-rw-r--r--src/leap/baseapp/leap_app.py24
-rw-r--r--src/leap/baseapp/systray.py68
2 files changed, 65 insertions, 27 deletions
diff --git a/src/leap/baseapp/leap_app.py b/src/leap/baseapp/leap_app.py
index 18b5084b..208c4e7c 100644
--- a/src/leap/baseapp/leap_app.py
+++ b/src/leap/baseapp/leap_app.py
@@ -7,6 +7,9 @@ from leap.gui import mainwindow_rc
logger = logging.getLogger(name=__name__)
+APP_LOGO = ':/images/leap-color-small.png'
+
+
class MainWindowMixin(object):
"""
create the main window
@@ -32,25 +35,30 @@ class MainWindowMixin(object):
widget.setLayout(mainLayout)
self.setWindowTitle("LEAP Client")
+ self.set_app_icon()
self.resize(400, 300)
self.set_statusbarMessage('ready')
+ def set_app_icon(self):
+ icon = QtGui.QIcon(APP_LOGO)
+ self.setWindowIcon(icon)
+
def createWindowHeader(self):
"""
description lines for main window
"""
self.headerBox = QtGui.QGroupBox()
- self.headerLabel = QtGui.QLabel("<font size=40><b>E</b>ncryption \
-<b>I</b>nternet <b>P</b>roxy</font>")
- self.headerLabelSub = QtGui.QLabel("<i>trust your \
-technolust</i>")
+ self.headerLabel = QtGui.QLabel(
+ "<font size=40>LEAP Encryption Access Project</font>")
+ self.headerLabelSub = QtGui.QLabel(
+ "<br><i>your internet encryption toolkit</i>")
- pixmap = QtGui.QPixmap(':/images/leap-color-small.png')
- frog_lbl = QtGui.QLabel()
- frog_lbl.setPixmap(pixmap)
+ pixmap = QtGui.QPixmap(APP_LOGO)
+ leap_lbl = QtGui.QLabel()
+ leap_lbl.setPixmap(pixmap)
headerLayout = QtGui.QHBoxLayout()
- headerLayout.addWidget(frog_lbl)
+ headerLayout.addWidget(leap_lbl)
headerLayout.addWidget(self.headerLabel)
headerLayout.addWidget(self.headerLabelSub)
headerLayout.addStretch()
diff --git a/src/leap/baseapp/systray.py b/src/leap/baseapp/systray.py
index 67448ba0..dd872de0 100644
--- a/src/leap/baseapp/systray.py
+++ b/src/leap/baseapp/systray.py
@@ -1,9 +1,18 @@
+import logging
+
from PyQt4 import QtCore
from PyQt4 import QtGui
from leap import __version__ as VERSION
from leap.gui import mainwindow_rc
+logger = logging.getLogger(__name__)
+
+
+class PseudoAction(QtGui.QAction):
+ def isSeparator(self):
+ return True
+
class StatusAwareTrayIconMixin(object):
"""
@@ -76,12 +85,15 @@ class StatusAwareTrayIconMixin(object):
"""
self.trayIconMenu = QtGui.QMenu(self)
- self.trayIconMenu.addAction(self.connectVPNAction)
- self.trayIconMenu.addAction(self.dis_connectAction)
+ self.trayIconMenu.addAction(self.statusAct)
+ self.trayIconMenu.addAction(self.connAct)
+ #self.trayIconMenu.addAction(self.dis_connectAction)
+ #self.trayIconMenu.addSeparator()
+ #self.trayIconMenu.addAction(self.minimizeAction)
+ #self.trayIconMenu.addAction(self.maximizeAction)
+ #self.trayIconMenu.addAction(self.restoreAction)
self.trayIconMenu.addSeparator()
- self.trayIconMenu.addAction(self.minimizeAction)
- self.trayIconMenu.addAction(self.maximizeAction)
- self.trayIconMenu.addAction(self.restoreAction)
+ self.trayIconMenu.addAction(self.detailsAct)
self.trayIconMenu.addSeparator()
self.trayIconMenu.addAction(self.aboutAct)
self.trayIconMenu.addAction(self.aboutQtAct)
@@ -92,22 +104,32 @@ class StatusAwareTrayIconMixin(object):
self.setIcon('disconnected')
self.trayIcon.setContextMenu(self.trayIconMenu)
+ def bad(self):
+ logger.error('this should not be called')
+
def createActions(self):
"""
creates actions to be binded to tray icon
"""
- self.connectVPNAction = QtGui.QAction("Connect to &VPN", self,
- triggered=self.hide)
# XXX change action name on (dis)connect
- self.dis_connectAction = QtGui.QAction(
- "&(Dis)connect", self,
- triggered=lambda: self.start_or_stopVPN())
- 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)
+ statusAct = PseudoAction(
+ "Encryption OFF", self) # ,
+ statusAct.setSeparator(True)
+ self.statusAct = statusAct
+ self.statusAct.isSeparator = lambda: True
+ #triggered=self.bad)
+ self.connAct = QtGui.QAction(" turn &on", self,
+ triggered=lambda: self.start_or_stopVPN())
+
+ 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,
@@ -115,11 +137,19 @@ class StatusAwareTrayIconMixin(object):
self.quitAction = QtGui.QAction("&Quit", self,
triggered=self.cleanupAndQuit)
+ def detailsWin(self):
+ logger.debug('details win toggle')
+ # XXX toggle main window visibility
+ # if visible: self.hide
+ # if hidden: self.show
+
def about(self):
# move to widget
QtGui.QMessageBox.about(self, "About",
- "Running LEAP client<br>"
- "version <b>%s</b>" % VERSION)
+ "LEAP client<br>"
+ "(version <b>%s</b>)<br>"
+ "<a href='https://leap.se/'>"
+ "https://leap.se</a>" % VERSION)
def setConnWidget(self, icon_name):
oldlayout = self.statusIconBox.layout()
@@ -132,7 +162,7 @@ class StatusAwareTrayIconMixin(object):
def setIcon(self, name):
icon = self.Icons.get(name)(self)
self.trayIcon.setIcon(icon)
- self.setWindowIcon(icon)
+ #self.setWindowIcon(icon)
def getIcon(self, icon_name):
return self.states.get(icon_name, None)