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,24 +120,29 @@ 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)):
logger.error(
f"MainWindow.new_message_callback: App id {message.appid} could not be found. Refreshing applications."
)
self.refresh_applications()
return return
if message.priority >= settings.value("tray/notifications/priority", type=int): if settings.value("tray/notifications/icon/show", type=bool):
image_url = f"{self.gotify_client.url}/{application_item.data(ApplicationItemDataRole.ApplicationRole).image}" if application_item := self.application_model.itemFromId(message.appid):
self.tray.showMessage( image_url = f"{self.gotify_client.url}/{application_item.data(ApplicationItemDataRole.ApplicationRole).image}"
message.title, icon = QtGui.QIcon(downloader.get_filename(image_url))
message.message, else:
QtGui.QIcon(downloader.get_filename(image_url)) logger.error(
if settings.value("tray/notifications/icon/show", type=bool) f"MainWindow.new_message_callback: App id {message.appid} could not be found. Refreshing applications."
else QtWidgets.QSystemTrayIcon.MessageIcon.Information, )
msecs=settings.value("tray/notifications/duration_ms", type=int), self.refresh_applications()
) icon = QtWidgets.QSystemTrayIcon.MessageIcon.Information
else:
icon = QtWidgets.QSystemTrayIcon.MessageIcon.Information
# Show a notification
self.tray.showMessage(
message.title,
message.message,
icon,
msecs=settings.value("tray/notifications/duration_ms", type=int),
)
def settings_callback(self): def settings_callback(self):
settings_dialog = SettingsDialog(self) settings_dialog = SettingsDialog(self)