change the tray icon to show there are unread notifications
This commit is contained in:
@@ -23,12 +23,15 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
application_selection_changed = QtCore.pyqtSignal(QtGui.QStandardItem)
|
||||
image_popup = QtCore.pyqtSignal(str, QtCore.QPoint)
|
||||
hidden = QtCore.pyqtSignal()
|
||||
activated = QtCore.pyqtSignal()
|
||||
|
||||
def __init__(
|
||||
self, application_model: ApplicationModel, messages_model: MessagesModel
|
||||
):
|
||||
super(MainWindow, self).__init__()
|
||||
self.setupUi(self)
|
||||
|
||||
self.installEventFilter(self)
|
||||
|
||||
self.setWindowTitle(__title__)
|
||||
|
||||
@@ -177,3 +180,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
def closeEvent(self, e: QtGui.QCloseEvent) -> None:
|
||||
self.hide()
|
||||
self.hidden.emit()
|
||||
|
||||
def eventFilter(self, object: QtCore.QObject, event: QtCore.QEvent) -> bool:
|
||||
if event.type() == QtCore.QEvent.Type.WindowActivate:
|
||||
self.activated.emit()
|
||||
|
||||
return super().eventFilter(object, event)
|
||||
|
||||
@@ -44,7 +44,18 @@ class Tray(QtWidgets.QSystemTrayIcon):
|
||||
self.setContextMenu(menu)
|
||||
|
||||
def set_icon_ok(self):
|
||||
self.icon_error = False
|
||||
self.setIcon(QtGui.QIcon(get_icon("tray")))
|
||||
|
||||
def set_icon_error(self):
|
||||
self.icon_error = True
|
||||
self.setIcon(QtGui.QIcon(get_icon("tray-error")))
|
||||
|
||||
def set_icon_unread(self):
|
||||
self.setIcon(QtGui.QIcon(get_icon("tray-unread")))
|
||||
|
||||
def revert_icon(self):
|
||||
if self.icon_error:
|
||||
self.set_icon_error()
|
||||
else:
|
||||
self.set_icon_ok()
|
||||
|
||||
Reference in New Issue
Block a user