From 61dd9a10beea89d9944f254733025c3a604ad5bc Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Fri, 5 Aug 2022 18:53:55 +0200 Subject: [PATCH 1/5] add version number to package --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07acb93..558cdf6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -123,7 +123,8 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v2 with: - path: dist/gotify_tray-*.whl + name: gotify_tray-${{ github.ref_name }}-py3-none-any.whl + path: dist/gotify_tray-${{ github.ref_name }}-py3-none-any.whl release: runs-on: ubuntu-latest @@ -145,4 +146,4 @@ jobs: gotify-tray_amd64_debian_bullseye.deb gotify-tray_amd64_debian_bookworm.deb gotify-tray.dmg - gotify_tray-*.whl + gotify_tray-${{ github.ref_name }}-py3-none-any.whl From 1426e75632f138d1ab8a16a3e371fcf0362b0081 Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sun, 21 Aug 2022 10:18:31 +0200 Subject: [PATCH 2/5] macos: do not trigger the main window and context menu simultaneously --- gotify_tray/gui/MainApplication.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gotify_tray/gui/MainApplication.py b/gotify_tray/gui/MainApplication.py index d494fa7..a05128d 100644 --- a/gotify_tray/gui/MainApplication.py +++ b/gotify_tray/gui/MainApplication.py @@ -1,6 +1,7 @@ import getpass import logging import os +import platform import sys import tempfile from typing import List, Union @@ -337,7 +338,10 @@ class MainApplication(QtWidgets.QApplication): def tray_activated_callback( self, reason: QtWidgets.QSystemTrayIcon.ActivationReason ): - if reason == QtWidgets.QSystemTrayIcon.ActivationReason.Trigger: + if ( + reason == QtWidgets.QSystemTrayIcon.ActivationReason.Trigger + and platform.system() != "Darwin" + ): self.main_window.bring_to_front() def link_callbacks(self): From fa985f1023a7b6e5fe92c87cc0813f4d94350b1d Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sun, 21 Aug 2022 10:20:00 +0200 Subject: [PATCH 3/5] respect system font sizes by default --- gotify_tray/database/default_settings.py | 5 ---- gotify_tray/gui/models/ApplicationModel.py | 15 ++++++---- gotify_tray/gui/widgets/MainWindow.py | 5 +++- gotify_tray/gui/widgets/MessageWidget.py | 34 +++++++++++++++------- 4 files changed, 36 insertions(+), 23 deletions(-) diff --git a/gotify_tray/database/default_settings.py b/gotify_tray/database/default_settings.py index 4376c1b..6ce350d 100644 --- a/gotify_tray/database/default_settings.py +++ b/gotify_tray/database/default_settings.py @@ -16,11 +16,6 @@ DEFAULT_SETTINGS = { "tray/notifications/icon/show": True, "watchdog/interval/s": 60, "MessageWidget/image/size": 33, - "MessageWidget/font/title": "Noto Sans,12,-1,5,75,0,0,0,0,0,Bold", - "MessageWidget/font/date": "Noto Sans,11,-1,5,50,1,0,0,0,0,Italic", - "MessageWidget/font/message": "Noto Sans,11,-1,5,50,0,0,0,0,0,Regular", - "ApplicationItem/font": "Noto Sans,10,-1,5,50,0,0,0,0,0,Regular", - "MainWindow/font/application": "Noto Sans,13,-1,5,75,0,0,0,0,0,Bold", "MainWindow/label/size": 25, "MainWindow/button/size": 33, "MainWindow/application/icon/size": 40, diff --git a/gotify_tray/gui/models/ApplicationModel.py b/gotify_tray/gui/models/ApplicationModel.py index 716fe38..8226004 100644 --- a/gotify_tray/gui/models/ApplicationModel.py +++ b/gotify_tray/gui/models/ApplicationModel.py @@ -26,9 +26,11 @@ class ApplicationModelItem(QtGui.QStandardItem): self.setDropEnabled(False) self.setData(application, ApplicationItemDataRole.ApplicationRole) self.setData(icon, ApplicationItemDataRole.IconRole) - font = QtGui.QFont() - font.fromString(settings.value("ApplicationItem/font", type=str)) - self.setFont(font) + + if s := settings.value("ApplicationItem/font", type=str): + font = QtGui.QFont() + font.fromString(s) + self.setFont(font) if icon: self.setIcon(icon) @@ -44,9 +46,10 @@ class ApplicationAllMessagesItem(QtGui.QStandardItem): super(ApplicationAllMessagesItem, self).__init__("ALL MESSAGES") self.setDropEnabled(False) self.setDragEnabled(False) - font = QtGui.QFont() - font.fromString(settings.value("ApplicationItem/font", type=str)) - self.setFont(font) + if s := settings.value("ApplicationItem/font", type=str): + font = QtGui.QFont() + font.fromString(s) + self.setFont(font) class ApplicationModel(QtGui.QStandardItemModel): diff --git a/gotify_tray/gui/widgets/MainWindow.py b/gotify_tray/gui/widgets/MainWindow.py index b76edd1..ad4b974 100644 --- a/gotify_tray/gui/widgets/MainWindow.py +++ b/gotify_tray/gui/widgets/MainWindow.py @@ -68,7 +68,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.listView_applications.setIconSize(QtCore.QSize(size, size)) font_title = QtGui.QFont() - font_title.fromString(settings.value("MainWindow/font/application", type=str)) + if s := settings.value("MainWindow/font/application", type=str): + font_title.fromString(s) + else: + font_title.setBold(True) self.label_application.setFont(font_title) # Set tooltips diff --git a/gotify_tray/gui/widgets/MessageWidget.py b/gotify_tray/gui/widgets/MessageWidget.py index 8e737f9..db1cde6 100644 --- a/gotify_tray/gui/widgets/MessageWidget.py +++ b/gotify_tray/gui/widgets/MessageWidget.py @@ -21,17 +21,7 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form): message = message_item.data(MessageItemDataRole.MessageRole) # Fonts - font_title = QtGui.QFont() - font_date = QtGui.QFont() - font_content = QtGui.QFont() - - font_title.fromString(settings.value("MessageWidget/font/title", type=str)) - font_date.fromString(settings.value("MessageWidget/font/date", type=str)) - font_content.fromString(settings.value("MessageWidget/font/message", type=str)) - - self.label_title.setFont(font_title) - self.label_date.setFont(font_date) - self.label_message.setFont(font_content) + self.set_fonts() # Display message contents self.label_title.setText(message.title) @@ -74,6 +64,28 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form): self.link_callbacks() + def set_fonts(self): + font_title = QtGui.QFont() + font_date = QtGui.QFont() + font_content = QtGui.QFont() + + if s := settings.value("MessageWidget/font/title", type=str): + font_title.fromString(s) + else: + font_title.setBold(True) + + if s := settings.value("MessageWidget/font/date", type=str): + font_date.fromString(s) + else: + font_date.setItalic(True) + + if s := settings.value("MessageWidget/font/message", type=str): + font_content.fromString(s) + + self.label_title.setFont(font_title) + self.label_date.setFont(font_date) + self.label_message.setFont(font_content) + def link_callbacks(self): self.pb_delete.clicked.connect( lambda: self.deletion_requested.emit(self.message_item) From ffd0ff4ad79938fe8a98ae0ba2ae12710c2673f9 Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sun, 21 Aug 2022 10:30:30 +0200 Subject: [PATCH 4/5] notification duration: instead of showing a tooltip, just hide the elements on windows --- gotify_tray/gui/designs/widget_settings.py | 2 +- gotify_tray/gui/designs/widget_settings.ui | 2 +- gotify_tray/gui/widgets/SettingsDialog.py | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gotify_tray/gui/designs/widget_settings.py b/gotify_tray/gui/designs/widget_settings.py index abbc233..3a0f95c 100644 --- a/gotify_tray/gui/designs/widget_settings.py +++ b/gotify_tray/gui/designs/widget_settings.py @@ -155,7 +155,7 @@ class Ui_Dialog(object): self.groupBox_notifications.setTitle(_translate("Dialog", "Notifications")) self.label_notification_duration_ms.setText(_translate("Dialog", "ms")) self.label_notification_priority.setText(_translate("Dialog", "Minimum priority to show notifications:")) - self.label_notification_duration.setText(_translate("Dialog", "

Notification duration [?]:

")) + self.label_notification_duration.setText(_translate("Dialog", "Notification duration:")) self.cb_notify.setText(_translate("Dialog", "Show a notification for missed messages after reconnecting")) self.groupBox_server_info.setTitle(_translate("Dialog", "Server info")) self.pb_change_server_info.setText(_translate("Dialog", "Change server info")) diff --git a/gotify_tray/gui/designs/widget_settings.ui b/gotify_tray/gui/designs/widget_settings.ui index c385c02..3f3579b 100644 --- a/gotify_tray/gui/designs/widget_settings.ui +++ b/gotify_tray/gui/designs/widget_settings.ui @@ -70,7 +70,7 @@ - <html><head/><body><p>Notification duration <span style=" font-weight:600; color:#0000ff;">[?]</span>:</p></body></html> + Notification duration: diff --git a/gotify_tray/gui/widgets/SettingsDialog.py b/gotify_tray/gui/widgets/SettingsDialog.py index 2c13d5f..0c98358 100644 --- a/gotify_tray/gui/widgets/SettingsDialog.py +++ b/gotify_tray/gui/widgets/SettingsDialog.py @@ -1,4 +1,5 @@ import logging +import platform import os import webbrowser @@ -46,9 +47,11 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog): self.spin_duration.setValue( settings.value("tray/notifications/duration_ms", type=int) ) - self.label_notification_duration.setToolTip( - "This setting is ignored on Windows." - ) + if platform.system() == "Windows": + # The notification duration setting is ignored by windows + self.label_notification_duration.hide() + self.spin_duration.hide() + self.label_notification_duration_ms.hide() self.cb_notify.setChecked( settings.value("message/check_missed/notify", type=bool) From 7a7b23b8771e8d1072fa89514f8e7287cadf9fa7 Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sun, 21 Aug 2022 10:34:17 +0200 Subject: [PATCH 5/5] macos: prevent hang on quit (?) --- gotify_tray/gui/MainApplication.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gotify_tray/gui/MainApplication.py b/gotify_tray/gui/MainApplication.py index a05128d..a3107c9 100644 --- a/gotify_tray/gui/MainApplication.py +++ b/gotify_tray/gui/MainApplication.py @@ -386,6 +386,7 @@ class MainApplication(QtWidgets.QApplication): self.gotify_client.stop_final() super(MainApplication, self).quit() + sys.exit(0) def start_gui():