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
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

View File

@@ -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,

View File

@@ -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):
@@ -382,6 +386,7 @@ class MainApplication(QtWidgets.QApplication):
self.gotify_client.stop_final()
super(MainApplication, self).quit()
sys.exit(0)
def start_gui():

View File

@@ -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", "<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.groupBox_server_info.setTitle(_translate("Dialog", "Server info"))
self.pb_change_server_info.setText(_translate("Dialog", "Change server info"))

View File

@@ -70,7 +70,7 @@
<item row="1" column="0">
<widget class="QLabel" name="label_notification_duration">
<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>
</widget>
</item>

View File

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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)