Merge branch 'develop'

This commit is contained in:
dries.k
2022-08-21 10:52:34 +02:00
9 changed files with 53 additions and 31 deletions

View File

@@ -123,7 +123,8 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: 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: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -145,4 +146,4 @@ jobs:
gotify-tray_amd64_debian_bullseye.deb gotify-tray_amd64_debian_bullseye.deb
gotify-tray_amd64_debian_bookworm.deb gotify-tray_amd64_debian_bookworm.deb
gotify-tray.dmg gotify-tray.dmg
gotify_tray-*.whl gotify_tray-${{ github.ref_name }}-py3-none-any.whl

View File

@@ -16,11 +16,6 @@ DEFAULT_SETTINGS = {
"tray/notifications/icon/show": True, "tray/notifications/icon/show": True,
"watchdog/interval/s": 60, "watchdog/interval/s": 60,
"MessageWidget/image/size": 33, "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/label/size": 25,
"MainWindow/button/size": 33, "MainWindow/button/size": 33,
"MainWindow/application/icon/size": 40, "MainWindow/application/icon/size": 40,

View File

@@ -1,6 +1,7 @@
import getpass import getpass
import logging import logging
import os import os
import platform
import sys import sys
import tempfile import tempfile
from typing import List, Union from typing import List, Union
@@ -337,7 +338,10 @@ class MainApplication(QtWidgets.QApplication):
def tray_activated_callback( def tray_activated_callback(
self, reason: QtWidgets.QSystemTrayIcon.ActivationReason 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() self.main_window.bring_to_front()
def link_callbacks(self): def link_callbacks(self):
@@ -382,6 +386,7 @@ class MainApplication(QtWidgets.QApplication):
self.gotify_client.stop_final() self.gotify_client.stop_final()
super(MainApplication, self).quit() super(MainApplication, self).quit()
sys.exit(0)
def start_gui(): def start_gui():

View File

@@ -155,7 +155,7 @@ class Ui_Dialog(object):
self.groupBox_notifications.setTitle(_translate("Dialog", "Notifications")) self.groupBox_notifications.setTitle(_translate("Dialog", "Notifications"))
self.label_notification_duration_ms.setText(_translate("Dialog", "ms")) self.label_notification_duration_ms.setText(_translate("Dialog", "ms"))
self.label_notification_priority.setText(_translate("Dialog", "Minimum priority to show notifications:")) self.label_notification_priority.setText(_translate("Dialog", "Minimum priority to show notifications:"))
self.label_notification_duration.setText(_translate("Dialog", "<html><head/><body><p>Notification duration <span style=\" font-weight:600; color:#0000ff;\">[?]</span>:</p></body></html>")) self.label_notification_duration.setText(_translate("Dialog", "Notification duration:"))
self.cb_notify.setText(_translate("Dialog", "Show a notification for missed messages after reconnecting")) self.cb_notify.setText(_translate("Dialog", "Show a notification for missed messages after reconnecting"))
self.groupBox_server_info.setTitle(_translate("Dialog", "Server info")) self.groupBox_server_info.setTitle(_translate("Dialog", "Server info"))
self.pb_change_server_info.setText(_translate("Dialog", "Change server info")) self.pb_change_server_info.setText(_translate("Dialog", "Change server info"))

View File

@@ -70,7 +70,7 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_notification_duration"> <widget class="QLabel" name="label_notification_duration">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Notification duration &lt;span style=&quot; font-weight:600; color:#0000ff;&quot;&gt;[?]&lt;/span&gt;:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>Notification duration:</string>
</property> </property>
</widget> </widget>
</item> </item>

View File

@@ -26,8 +26,10 @@ class ApplicationModelItem(QtGui.QStandardItem):
self.setDropEnabled(False) self.setDropEnabled(False)
self.setData(application, ApplicationItemDataRole.ApplicationRole) self.setData(application, ApplicationItemDataRole.ApplicationRole)
self.setData(icon, ApplicationItemDataRole.IconRole) self.setData(icon, ApplicationItemDataRole.IconRole)
if s := settings.value("ApplicationItem/font", type=str):
font = QtGui.QFont() font = QtGui.QFont()
font.fromString(settings.value("ApplicationItem/font", type=str)) font.fromString(s)
self.setFont(font) self.setFont(font)
if icon: if icon:
self.setIcon(icon) self.setIcon(icon)
@@ -44,8 +46,9 @@ class ApplicationAllMessagesItem(QtGui.QStandardItem):
super(ApplicationAllMessagesItem, self).__init__("ALL MESSAGES") super(ApplicationAllMessagesItem, self).__init__("ALL MESSAGES")
self.setDropEnabled(False) self.setDropEnabled(False)
self.setDragEnabled(False) self.setDragEnabled(False)
if s := settings.value("ApplicationItem/font", type=str):
font = QtGui.QFont() font = QtGui.QFont()
font.fromString(settings.value("ApplicationItem/font", type=str)) font.fromString(s)
self.setFont(font) self.setFont(font)

View File

@@ -68,7 +68,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.listView_applications.setIconSize(QtCore.QSize(size, size)) self.listView_applications.setIconSize(QtCore.QSize(size, size))
font_title = QtGui.QFont() 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) self.label_application.setFont(font_title)
# Set tooltips # Set tooltips

View File

@@ -21,17 +21,7 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form):
message = message_item.data(MessageItemDataRole.MessageRole) message = message_item.data(MessageItemDataRole.MessageRole)
# Fonts # Fonts
font_title = QtGui.QFont() self.set_fonts()
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)
# Display message contents # Display message contents
self.label_title.setText(message.title) self.label_title.setText(message.title)
@@ -74,6 +64,28 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form):
self.link_callbacks() 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): def link_callbacks(self):
self.pb_delete.clicked.connect( self.pb_delete.clicked.connect(
lambda: self.deletion_requested.emit(self.message_item) lambda: self.deletion_requested.emit(self.message_item)

View File

@@ -1,4 +1,5 @@
import logging import logging
import platform
import os import os
import webbrowser import webbrowser
@@ -46,9 +47,11 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog):
self.spin_duration.setValue( self.spin_duration.setValue(
settings.value("tray/notifications/duration_ms", type=int) settings.value("tray/notifications/duration_ms", type=int)
) )
self.label_notification_duration.setToolTip( if platform.system() == "Windows":
"This setting is ignored on 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( self.cb_notify.setChecked(
settings.value("message/check_missed/notify", type=bool) settings.value("message/check_missed/notify", type=bool)