-
Notifications
You must be signed in to change notification settings - Fork 1
/
tray.py
55 lines (42 loc) · 1.92 KB
/
tray.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/python
# -*- coding: utf-8 -*-
from configs import Configs
from PyQt4 import QtGui
from PyQt4 import QtCore
class SystemTrayIcon(QtGui.QSystemTrayIcon):
def __init__(self, mw, icon, parent=None):
QtGui.QSystemTrayIcon.__init__(self, icon, parent)
self._mw = mw
menu = QtGui.QMenu(parent)
cfg = Configs()
shAction = menu.addAction("Показать")
shAction.setIcon(QtGui.QIcon("".join((self._mw.app_path, "images/", cfg.get_icons()["Tray"]))))
QtCore.QObject.connect(shAction, QtCore.SIGNAL("triggered()"), self.show_main)
shAction2 = menu.addAction("О программе")
shAction2.setIcon(QtGui.QIcon("".join((self._mw.app_path,"images/elena8d89.png"))))
QtCore.QObject.connect(shAction2, QtCore.SIGNAL("triggered()"), self.show_about)
shAction3 = menu.addAction("Выход")
shAction3.setIcon(QtGui.QIcon("".join((self._mw.app_path, "images/exit.png"))))
QtCore.QObject.connect(shAction3, QtCore.SIGNAL("triggered()"), self.close_app)
self.setContextMenu(menu)
QtCore.QObject.connect(self, QtCore.SIGNAL("activated()"), self.on_active)
def on_active(self, reason):
"""
If 1 click
"""
if reason == 3:
self._mw.show()
def show_main(self):
self._mw.show()
def show_about(self):
self._mw.show()
self._mw.ui.stackedWidget.setCurrentIndex(5)
def close_app(self):
self._mw.show()
result = QtGui.QMessageBox.question(self._mw, 'Закрытие', 'Вы действительно хотите выйти из программы?',
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
QtGui.QApplication.quit()
else:
self._mw.hide()