restructure new_message_callback

This commit is contained in:
dries.k
2022-01-31 20:06:36 +01:00
parent 4cecc6acee
commit a3673a9e5f

View File

@@ -120,22 +120,27 @@ class MainApplication(QtWidgets.QApplication):
self.gotify_client.reconnect(increase_wait_time=False) self.gotify_client.reconnect(increase_wait_time=False)
def new_message_callback(self, message: gotify.GotifyMessageModel): def new_message_callback(self, message: gotify.GotifyMessageModel):
# Show a notification if message.priority < settings.value("tray/notifications/priority", type=int):
if not (application_item := self.application_model.itemFromId(message.appid)): return
if settings.value("tray/notifications/icon/show", type=bool):
if application_item := self.application_model.itemFromId(message.appid):
image_url = f"{self.gotify_client.url}/{application_item.data(ApplicationItemDataRole.ApplicationRole).image}"
icon = QtGui.QIcon(downloader.get_filename(image_url))
else:
logger.error( logger.error(
f"MainWindow.new_message_callback: App id {message.appid} could not be found. Refreshing applications." f"MainWindow.new_message_callback: App id {message.appid} could not be found. Refreshing applications."
) )
self.refresh_applications() self.refresh_applications()
return icon = QtWidgets.QSystemTrayIcon.MessageIcon.Information
else:
icon = QtWidgets.QSystemTrayIcon.MessageIcon.Information
if message.priority >= settings.value("tray/notifications/priority", type=int): # Show a notification
image_url = f"{self.gotify_client.url}/{application_item.data(ApplicationItemDataRole.ApplicationRole).image}"
self.tray.showMessage( self.tray.showMessage(
message.title, message.title,
message.message, message.message,
QtGui.QIcon(downloader.get_filename(image_url)) icon,
if settings.value("tray/notifications/icon/show", type=bool)
else QtWidgets.QSystemTrayIcon.MessageIcon.Information,
msecs=settings.value("tray/notifications/duration_ms", type=int), msecs=settings.value("tray/notifications/duration_ms", type=int),
) )