本文整理汇总了Python中systray.Systray类的典型用法代码示例。如果您正苦于以下问题:Python Systray类的具体用法?Python Systray怎么用?Python Systray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Systray类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, parent=None):
super(ScudCloud, self).__init__(parent)
self.setWindowTitle('ScudCloud')
self.notifier = Notifier(self.APP_NAME, get_resource_path('scudcloud.png'))
self.settings = QSettings(expanduser("~")+"/.scudcloud", QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("scudcloud.desktop")
else:
self.launcher = DummyLauncher(self)
self.leftPane = LeftPane(self)
self.cookiesjar = PersistentCookieJar(self)
webView = Wrapper(self)
webView.page().networkAccessManager().setCookieJar(self.cookiesjar)
self.stackedWidget = QtGui.QStackedWidget()
self.stackedWidget.addWidget(webView)
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.addMenu()
self.tray = Systray(self)
self.systray()
self.installEventFilter(self)
self.zoom()
if self.identifier is None:
webView.load(QtCore.QUrl(self.SIGNIN_URL))
else:
webView.load(QtCore.QUrl(self.domain()))
webView.show()
示例2: __init__
def __init__(self, parent = None, settings_path = ""):
super(zcswebapp, self).__init__(parent)
self.setWindowTitle('zcswebapp')
self.settings_path = settings_path
self.notifier = Notifier(Resources.APP_NAME, Resources.get_path('zcswebapp.png'))
self.settings = QSettings(self.settings_path + '/zcswebapp.cfg', QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("zcswebapp.desktop")
else:
self.launcher = DummyLauncher(self)
self.webSettings()
self.leftPane = LeftPane(self)
webView = Wrapper(self)
webView.page().networkAccessManager().setCookieJar(self.cookiesjar)
self.stackedWidget = QtGui.QStackedWidget()
self.stackedWidget.addWidget(webView)
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.addMenu()
self.tray = Systray(self)
self.systray(zcswebapp.minimized)
self.installEventFilter(self)
if self.identifier is None:
webView.load(QtCore.QUrl(Resources.SIGNIN_URL))
else:
webView.load(QtCore.QUrl(self.domain()))
webView.show()
示例3: __init__
def __init__(self, parent = None, settings_path = ""):
super(ScudCloud, self).__init__(parent)
self.setWindowTitle('ScudCloud')
self.settings_path = settings_path
self.notifier = Notifier(Resources.APP_NAME, Resources.get_path('scudcloud.png'))
self.settings = QSettings(self.settings_path + '/scudcloud.cfg', QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("scudcloud.desktop")
else:
self.launcher = DummyLauncher(self)
self.webSettings()
self.leftPane = LeftPane(self)
self.stackedWidget = QtGui.QStackedWidget()
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.startURL = Resources.SIGNIN_URL
if self.identifier is not None:
self.startURL = self.domain()
self.addWrapper(self.startURL)
self.addMenu()
self.tray = Systray(self)
self.systray(ScudCloud.minimized)
self.installEventFilter(self)
self.statusBar().showMessage('Loading Slack...')
示例4: _setupUI
def _setupUI(self):
self.setWindowTitle(self.NAME)
self._addMenu()
self._addToolbar()
self._tabs = QtGui.QTabWidget()
self._tabs.setTabsClosable(True)
self.connect(self._tabs, QtCore.SIGNAL("currentChanged(int)"), self._roomTabFocused)
self.connect(self._tabs, QtCore.SIGNAL("tabCloseRequested(int)"), self._roomTabClose)
self._editor = QtGui.QPlainTextEdit()
self._editor.setFixedHeight(self._editor.fontMetrics().height() * 2)
self._editor.installEventFilter(SuggesterKeyPressEventFilter(self, Suggester(self._editor)))
speakButton = QtGui.QPushButton(self._("&Send"))
self.connect(speakButton, QtCore.SIGNAL('clicked()'), self.speak)
grid = QtGui.QGridLayout()
grid.setRowStretch(0, 1)
grid.addWidget(self._tabs, 0, 0, 1, -1)
grid.addWidget(self._editor, 1, 0)
grid.addWidget(speakButton, 1, 1)
widget = QtGui.QWidget()
widget.setLayout(grid)
self.setCentralWidget(widget)
tabWidgetFocusEventFilter = TabWidgetFocusEventFilter(self)
self.connect(tabWidgetFocusEventFilter, QtCore.SIGNAL("tabFocused()"), self._roomTabFocused)
widget.installEventFilter(tabWidgetFocusEventFilter)
self.centralWidget().hide()
size = self.getSetting("window", "size")
if not size:
size = QtCore.QSize(640, 480)
self.resize(size)
position = self.getSetting("window", "position")
if not position:
screen = QtGui.QDesktopWidget().screenGeometry()
position = QtCore.QPoint((screen.width()-size.width())/2, (screen.height()-size.height())/2)
self.move(position)
self._updateLayout()
menu = QtGui.QMenu(self)
menu.addAction(self._menus["file"]["connect"])
menu.addAction(self._menus["file"]["disconnect"])
menu.addSeparator()
menu.addAction(self._menus["file"]["exit"])
self._trayIcon = Systray(self._icon, self)
self._trayIcon.setContextMenu(menu)
self._trayIcon.setToolTip(self.DESCRIPTION)
示例5: __init__
def __init__(self, parent = None, settings_path = ""):
super(ScudCloud, self).__init__(parent)
self.setWindowTitle('ScudCloud')
self.settings_path = settings_path
self.notifier = Notifier(Resources.APP_NAME, Resources.get_path('scudcloud.png'))
self.settings = QSettings(self.settings_path + '/scudcloud.cfg', QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("scudcloud.desktop")
else:
self.launcher = DummyLauncher(self)
self.webSettings()
self.leftPane = LeftPane(self)
self.stackedWidget = QtGui.QStackedWidget()
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
startURL = Resources.SIGNIN_URL
if self.identifier is not None:
startURL = self.domain()
self.addWrapper(startURL)
self.addMenu()
self.tray = Systray(self)
self.systray(ScudCloud.minimized)
self.installEventFilter(self)
self.statusBar().showMessage('Loading Slack...')
# Starting unread msgs counter
self.setupTimer()
# Watch for suspend/resume events
if DBusQtMainLoop is not None:
DBusQtMainLoop(set_as_default=True)
dbus.SystemBus().add_signal_receiver(self.sleep, 'PrepareForSleep', 'org.freedesktop.login1.Manager', 'org.freedesktop.login1')
示例6: zcswebapp
class zcswebapp(QtGui.QMainWindow):
plugins = True
debug = False
forceClose = False
messages = 0
def __init__(self, parent = None, settings_path = ""):
super(zcswebapp, self).__init__(parent)
self.setWindowTitle('zcswebapp')
self.settings_path = settings_path
self.notifier = Notifier(Resources.APP_NAME, Resources.get_path('zcswebapp.png'))
self.settings = QSettings(self.settings_path + '/zcswebapp.cfg', QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("zcswebapp.desktop")
else:
self.launcher = DummyLauncher(self)
self.webSettings()
self.leftPane = LeftPane(self)
webView = Wrapper(self)
webView.page().networkAccessManager().setCookieJar(self.cookiesjar)
self.stackedWidget = QtGui.QStackedWidget()
self.stackedWidget.addWidget(webView)
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.addMenu()
self.tray = Systray(self)
self.systray(zcswebapp.minimized)
self.installEventFilter(self)
if self.identifier is None:
webView.load(QtCore.QUrl(Resources.SIGNIN_URL))
else:
webView.load(QtCore.QUrl(self.domain()))
webView.show()
def webSettings(self):
self.cookiesjar = PersistentCookieJar(self)
self.zoom = self.readZoom()
# Required by Youtube videos (HTML5 video support only on Qt5)
QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, self.plugins)
# We don't want Java
QWebSettings.globalSettings().setAttribute(QWebSettings.JavaEnabled, False)
# We don't need History
QWebSettings.globalSettings().setAttribute(QWebSettings.PrivateBrowsingEnabled, True)
# Required for copy and paste clipboard integration
QWebSettings.globalSettings().setAttribute(QWebSettings.JavascriptCanAccessClipboard, True)
# Enabling Inspeclet only when --debug=True (requires more CPU usage)
QWebSettings.globalSettings().setAttribute(QWebSettings.DeveloperExtrasEnabled, self.debug)
def toggleFullScreen(self):
if self.isFullScreen():
self.showMaximized()
else:
self.showFullScreen()
def restore(self):
geometry = self.settings.value("geometry")
if geometry is not None:
self.restoreGeometry(geometry)
windowState = self.settings.value("windowState")
if windowState is not None:
self.restoreState(windowState)
else:
self.showMaximized()
def systray(self, show=None):
if show is None:
show = self.settings.value("Systray") == "True"
if show:
self.tray.show()
self.menus["file"]["close"].setEnabled(True)
self.settings.setValue("Systray", "True")
else:
self.tray.setVisible(False)
self.menus["file"]["close"].setEnabled(False)
self.settings.setValue("Systray", "False")
def readZoom(self):
default = 1
if self.settings.value("Zoom") is not None:
default = float(self.settings.value("Zoom"))
return default
def setZoom(self, factor=1):
if factor > 0:
for i in range(0, self.stackedWidget.count()):
widget = self.stackedWidget.widget(i)
widget.setZoomFactor(factor)
self.settings.setValue("Zoom", factor)
def zoomIn(self):
self.setZoom(self.current().zoomFactor() + 0.1)
#.........这里部分代码省略.........
示例7: Snakefire
#.........这里部分代码省略.........
widget = QtGui.QWidget()
widget.setLayout(grid)
self.setCentralWidget(widget)
tabWidgetFocusEventFilter = TabWidgetFocusEventFilter(self)
self.connect(tabWidgetFocusEventFilter, QtCore.SIGNAL("tabFocused()"), self._roomTabFocused)
widget.installEventFilter(tabWidgetFocusEventFilter)
self.centralWidget().hide()
size = self.getSetting("window", "size")
if not size:
size = QtCore.QSize(640, 480)
self.resize(size)
position = self.getSetting("window", "position")
if not position:
screen = QtGui.QDesktopWidget().screenGeometry()
position = QtCore.QPoint((screen.width()-size.width())/2, (screen.height()-size.height())/2)
self.move(position)
self._updateLayout()
menu = QtGui.QMenu(self)
menu.addAction(self._menus["file"]["connect"])
menu.addAction(self._menus["file"]["disconnect"])
menu.addSeparator()
menu.addAction(self._menus["file"]["exit"])
self._trayIcon = Systray(self._icon, self)
self._trayIcon.setContextMenu(menu)
self._trayIcon.setToolTip(self.DESCRIPTION)
def _addMenu(self):
self._menus = {
"file": {
"connect": self._createAction(self._("&Connect"), self.connectNow, icon="connect.png"),
"disconnect": self._createAction(self._("&Disconnect"), self.disconnectNow, icon="disconnect.png"),
"exit": self._createAction(self._("E&xit"), self.exit)
},
"settings": {
"alerts": self._createAction(self._("&Alerts..."), self.alerts, icon="alerts.png"),
"options": self._createAction(self._("&Options..."), self.options)
},
"help": {
"about": self._createAction(self._("A&bout"))
}
}
menu = self.menuBar()
file_menu = menu.addMenu(self._("&File"))
file_menu.addAction(self._menus["file"]["connect"])
file_menu.addAction(self._menus["file"]["disconnect"])
file_menu.addSeparator()
file_menu.addAction(self._menus["file"]["exit"])
settings_menu = menu.addMenu(self._("S&ettings"))
settings_menu.addAction(self._menus["settings"]["alerts"])
settings_menu.addSeparator()
settings_menu.addAction(self._menus["settings"]["options"])
示例8: ScudCloud
class ScudCloud(QtGui.QMainWindow):
APP_NAME = "ScudCloud Slack_SSB"
SIGNIN_URL = "https://slack.com/signin"
debug = False
forceClose = False
messages = 0
def __init__(self, parent = None, settings_path = "~/.config/scudcloud"):
super(ScudCloud, self).__init__(parent)
self.setWindowTitle('ScudCloud')
self.settings_path = settings_path
self.notifier = Notifier(self.APP_NAME, get_resource_path('scudcloud.png'))
self.settings = QSettings(self.settings_path + '/scudcloud.cfg', QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("scudcloud.desktop")
else:
self.launcher = DummyLauncher(self)
self.leftPane = LeftPane(self)
self.cookiesjar = PersistentCookieJar(self)
self.zoom = self.readZoom()
webView = Wrapper(self)
webView.page().networkAccessManager().setCookieJar(self.cookiesjar)
self.stackedWidget = QtGui.QStackedWidget()
self.stackedWidget.addWidget(webView)
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.addMenu()
self.tray = Systray(self)
self.systray(ScudCloud.minimized)
self.installEventFilter(self)
if self.identifier is None:
webView.load(QtCore.QUrl(self.SIGNIN_URL))
else:
webView.load(QtCore.QUrl(self.domain()))
webView.show()
def systray(self, show=None):
if show is None:
show = self.settings.value("Systray") == "True"
if show:
self.tray.show()
self.menus["file"]["close"].setEnabled(True)
self.settings.setValue("Systray", "True")
else:
self.tray.setVisible(False)
self.menus["file"]["close"].setEnabled(False)
self.settings.setValue("Systray", "False")
def readZoom(self):
default = 1
if self.settings.value("Zoom") is not None:
default = float(self.settings.value("Zoom"))
return default
def setZoom(self, factor=1):
if factor > 0:
for i in range(0, self.stackedWidget.count()):
widget = self.stackedWidget.widget(i)
widget.setZoomFactor(factor)
self.settings.setValue("Zoom", factor)
def zoomIn(self):
self.setZoom(self.current().zoomFactor() + 0.1)
def zoomOut(self):
self.setZoom(self.current().zoomFactor() - 0.1)
def zoomReset(self):
self.setZoom()
def addMenu(self):
self.menus = {
"file": {
"preferences": self.createAction("Preferences", self.current().preferences),
"systray": self.createAction("Close to Tray", self.systray, None, True),
"addTeam": self.createAction("Sign in to Another Team", self.current().addTeam),
"signout": self.createAction("Signout", self.current().logout),
"close": self.createAction("Close", self.close, QKeySequence.Close),
"exit": self.createAction("Quit", self.exit, QKeySequence.Quit)
},
"edit": {
"undo": self.current().pageAction(QtWebKit.QWebPage.Undo),
"redo": self.current().pageAction(QtWebKit.QWebPage.Redo),
"cut": self.current().pageAction(QtWebKit.QWebPage.Cut),
"copy": self.current().pageAction(QtWebKit.QWebPage.Copy),
"paste": self.current().pageAction(QtWebKit.QWebPage.Paste),
"reload": self.current().pageAction(QtWebKit.QWebPage.Reload)
},
"view": {
"zoomin": self.createAction("Zoom In", self.zoomIn, QKeySequence.ZoomIn),
"zoomout": self.createAction("Zoom Out", self.zoomOut, QKeySequence.ZoomOut),
"reset": self.createAction("Reset", self.zoomReset, QtCore.Qt.CTRL + QtCore.Qt.Key_0)
#.........这里部分代码省略.........
示例9: Snakefire
#.........这里部分代码省略.........
widget = QtGui.QWidget()
widget.setLayout(grid)
self.setCentralWidget(widget)
tabWidgetFocusEventFilter = TabWidgetFocusEventFilter(self)
self.connect(tabWidgetFocusEventFilter, QtCore.SIGNAL("tabFocused()"), self._roomTabFocused)
widget.installEventFilter(tabWidgetFocusEventFilter)
self.centralWidget().hide()
size = self.getSetting("window", "size")
if not size:
size = QtCore.QSize(640, 480)
self.resize(size)
position = self.getSetting("window", "position")
if not position:
screen = QtGui.QDesktopWidget().screenGeometry()
position = QtCore.QPoint((screen.width()-size.width())/2, (screen.height()-size.height())/2)
self.move(position)
self._updateLayout()
menu = QtGui.QMenu(self)
menu.addAction(self._menus["file"]["connect"])
menu.addAction(self._menus["file"]["disconnect"])
menu.addSeparator()
menu.addAction(self._menus["file"]["exit"])
self._trayIcon = Systray(self._icon, self)
self._trayIcon.setContextMenu(menu)
self._trayIcon.setToolTip(self.DESCRIPTION)
def _addMenu(self):
self._menus = {
"file": {
"connect": self._createAction(self._("&Connect"), self.connectNow, icon="connect.png"),
"disconnect": self._createAction(self._("&Disconnect"), self.disconnectNow, icon="disconnect.png"),
"exit": self._createAction(self._("E&xit"), self.exit)
},
"settings": {
"alerts": self._createAction(self._("&Alerts..."), self.alerts, icon="alerts.png"),
"options": self._createAction(self._("&Options..."), self.options)
},
"help": {
"about": self._createAction(self._("A&bout"), self.about)
}
}
menu = self.menuBar()
file_menu = menu.addMenu(self._("&File"))
file_menu.addAction(self._menus["file"]["connect"])
file_menu.addAction(self._menus["file"]["disconnect"])
file_menu.addSeparator()
file_menu.addAction(self._menus["file"]["exit"])
settings_menu = menu.addMenu(self._("S&ettings"))
settings_menu.addAction(self._menus["settings"]["alerts"])
settings_menu.addSeparator()
settings_menu.addAction(self._menus["settings"]["options"])
示例10: ScudCloud
class ScudCloud(QtGui.QMainWindow):
plugins = True
debug = False
forceClose = False
messages = 0
speller = Speller()
def __init__(self, parent=None, settings_path=""):
super(ScudCloud, self).__init__(parent)
self.setWindowTitle("ScudCloud")
self.settings_path = settings_path
self.notifier = Notifier(Resources.APP_NAME, Resources.get_path("scudcloud.png"))
self.settings = QSettings(self.settings_path + "/scudcloud.cfg", QSettings.IniFormat)
self.identifier = self.settings.value("Domain")
if Unity is not None:
self.launcher = Unity.LauncherEntry.get_for_desktop_id("scudcloud.desktop")
else:
self.launcher = DummyLauncher(self)
self.webSettings()
self.leftPane = LeftPane(self)
self.stackedWidget = QtGui.QStackedWidget()
centralWidget = QtGui.QWidget(self)
layout = QtGui.QHBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(self.leftPane)
layout.addWidget(self.stackedWidget)
centralWidget.setLayout(layout)
self.setCentralWidget(centralWidget)
self.startURL = Resources.SIGNIN_URL
if self.identifier is not None:
self.startURL = self.domain()
self.addWrapper(self.startURL)
self.addMenu()
self.tray = Systray(self)
self.systray(ScudCloud.minimized)
self.installEventFilter(self)
self.statusBar().showMessage("Loading Slack...")
def addWrapper(self, url):
webView = Wrapper(self)
webView.page().networkAccessManager().setCookieJar(self.cookiesjar)
webView.page().networkAccessManager().setCache(self.diskCache)
webView.load(QtCore.QUrl(url))
webView.show()
self.stackedWidget.addWidget(webView)
self.stackedWidget.setCurrentWidget(webView)
def webSettings(self):
self.cookiesjar = PersistentCookieJar(self)
self.zoom = self.readZoom()
# Required by Youtube videos (HTML5 video support only on Qt5)
QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, self.plugins)
# We don't want Java
QWebSettings.globalSettings().setAttribute(QWebSettings.JavaEnabled, False)
# Enabling Local Storage (now required by Slack)
QWebSettings.globalSettings().setAttribute(QWebSettings.LocalStorageEnabled, True)
# We need browsing history (required to not limit LocalStorage)
QWebSettings.globalSettings().setAttribute(QWebSettings.PrivateBrowsingEnabled, False)
# Enabling Cache
self.diskCache = QNetworkDiskCache(self)
self.diskCache.setCacheDirectory(self.settings_path)
# Required for copy and paste clipboard integration
QWebSettings.globalSettings().setAttribute(QWebSettings.JavascriptCanAccessClipboard, True)
# Enabling Inspeclet only when --debug=True (requires more CPU usage)
QWebSettings.globalSettings().setAttribute(QWebSettings.DeveloperExtrasEnabled, self.debug)
def toggleFullScreen(self):
if self.isFullScreen():
self.showMaximized()
else:
self.showFullScreen()
def toggleMenuBar(self):
menu = self.menuBar()
state = menu.isHidden()
menu.setVisible(state)
if state:
self.settings.setValue("Menu", "False")
else:
self.settings.setValue("Menu", "True")
def restore(self):
geometry = self.settings.value("geometry")
if geometry is not None:
self.restoreGeometry(geometry)
windowState = self.settings.value("windowState")
if windowState is not None:
self.restoreState(windowState)
else:
self.setWindowState(QtCore.Qt.WindowMaximized)
def systray(self, show=None):
if show is None:
show = self.settings.value("Systray") == "True"
if show:
self.tray.show()
self.menus["file"]["close"].setEnabled(True)
self.settings.setValue("Systray", "True")
#.........这里部分代码省略.........
示例11: Snakefire
#.........这里部分代码省略.........
widget = QtGui.QWidget()
widget.setLayout(grid)
self.setCentralWidget(widget)
tabWidgetFocusEventFilter = TabWidgetFocusEventFilter(self)
self.connect(tabWidgetFocusEventFilter, QtCore.SIGNAL("tabFocused()"), self._roomTabFocused)
widget.installEventFilter(tabWidgetFocusEventFilter)
self.centralWidget().hide()
size = self.getSetting("window", "size")
if not size:
size = QtCore.QSize(640, 480)
self.resize(size)
position = self.getSetting("window", "position")
if not position:
screen = QtGui.QDesktopWidget().screenGeometry()
position = QtCore.QPoint((screen.width()-size.width())/2, (screen.height()-size.height())/2)
self.move(position)
self._updateLayout()
menu = QtGui.QMenu(self)
menu.addAction(self._menus["file"]["connect"])
menu.addAction(self._menus["file"]["disconnect"])
menu.addSeparator()
menu.addAction(self._menus["file"]["exit"])
self._trayIcon = Systray(self._icon, self)
self._trayIcon.setContextMenu(menu)
self._trayIcon.setToolTip(self.DESCRIPTION)
def _addMenu(self):
self._menus = {
"file": {
"connect": self._createAction(self._("&Connect"), self.connectNow, icon="connect.png"),
"disconnect": self._createAction(self._("&Disconnect"), self.disconnectNow, icon="disconnect.png"),
"exit": self._createAction(self._("E&xit"), self.exit)
},
"settings": {
"alerts": self._createAction(self._("&Alerts..."), self.alerts, icon="alerts.png"),
"options": self._createAction(self._("&Options..."), self.options)
},
"help": {
"about": self._createAction(self._("A&bout"))
}
}
menu = self.menuBar()
file_menu = menu.addMenu(self._("&File"))
file_menu.addAction(self._menus["file"]["connect"])
file_menu.addAction(self._menus["file"]["disconnect"])
file_menu.addSeparator()
file_menu.addAction(self._menus["file"]["exit"])
settings_menu = menu.addMenu(self._("S&ettings"))
settings_menu.addAction(self._menus["settings"]["alerts"])
settings_menu.addSeparator()
settings_menu.addAction(self._menus["settings"]["options"])