diff --git a/gotify_tray/database/default_settings.py b/gotify_tray/database/default_settings.py index e79c6c6..823f8f6 100644 --- a/gotify_tray/database/default_settings.py +++ b/gotify_tray/database/default_settings.py @@ -24,6 +24,7 @@ DEFAULT_SETTINGS = { "MessageWidget/content_image/W_percentage": 1.0, "MessageWidget/content_image/H_percentage": 0.5, "MessageWidget/priority_color": True, + "MessageWidget/image_urls": True, "MainWindow/label/size": 25, "MainWindow/button/size": 33, "MainWindow/application/icon/size": 40, diff --git a/gotify_tray/gui/designs/widget_settings.py b/gotify_tray/gui/designs/widget_settings.py index 36f8568..5e71530 100644 --- a/gotify_tray/gui/designs/widget_settings.py +++ b/gotify_tray/gui/designs/widget_settings.py @@ -1,6 +1,6 @@ -# Form implementation generated from reading ui file 'gotify_tray/gui/designs\widget_settings.ui' +# Form implementation generated from reading ui file 'gotify_tray/gui/designs/widget_settings.ui' # -# Created by: PyQt6 UI code generator 6.5.2 +# Created by: PyQt6 UI code generator 6.4.2 # # WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. @@ -12,7 +12,7 @@ from PyQt6 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") - Dialog.resize(415, 446) + Dialog.resize(442, 530) self.gridLayout = QtWidgets.QGridLayout(Dialog) self.gridLayout.setObjectName("gridLayout") self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) @@ -70,6 +70,9 @@ class Ui_Dialog(object): self.cb_priority_colors = QtWidgets.QCheckBox(parent=self.groupBox_2) self.cb_priority_colors.setObjectName("cb_priority_colors") self.verticalLayout_2.addWidget(self.cb_priority_colors) + self.cb_image_urls = QtWidgets.QCheckBox(parent=self.groupBox_2) + self.cb_image_urls.setObjectName("cb_image_urls") + self.verticalLayout_2.addWidget(self.cb_image_urls) self.cb_locale = QtWidgets.QCheckBox(parent=self.groupBox_2) self.cb_locale.setObjectName("cb_locale") self.verticalLayout_2.addWidget(self.cb_locale) @@ -253,10 +256,29 @@ class Ui_Dialog(object): Dialog.setTabOrder(self.tabWidget, self.spin_priority) Dialog.setTabOrder(self.spin_priority, self.spin_duration) Dialog.setTabOrder(self.spin_duration, self.cb_notify) - Dialog.setTabOrder(self.cb_notify, self.pb_change_server_info) - Dialog.setTabOrder(self.pb_change_server_info, self.pb_font_message_title) + Dialog.setTabOrder(self.cb_notify, self.cb_notification_click) + Dialog.setTabOrder(self.cb_notification_click, self.cb_tray_icon_unread) + Dialog.setTabOrder(self.cb_tray_icon_unread, self.cb_priority_colors) + Dialog.setTabOrder(self.cb_priority_colors, self.cb_image_urls) + Dialog.setTabOrder(self.cb_image_urls, self.cb_locale) + Dialog.setTabOrder(self.cb_locale, self.cb_sort_applications) + Dialog.setTabOrder(self.cb_sort_applications, self.pb_change_server_info) + Dialog.setTabOrder(self.pb_change_server_info, self.pb_reset_fonts) + Dialog.setTabOrder(self.pb_reset_fonts, self.pb_font_message_title) Dialog.setTabOrder(self.pb_font_message_title, self.pb_font_message_date) Dialog.setTabOrder(self.pb_font_message_date, self.pb_font_message_content) + Dialog.setTabOrder(self.pb_font_message_content, self.pb_reset) + Dialog.setTabOrder(self.pb_reset, self.pb_import) + Dialog.setTabOrder(self.pb_import, self.pb_export) + Dialog.setTabOrder(self.pb_export, self.groupbox_image_popup) + Dialog.setTabOrder(self.groupbox_image_popup, self.spin_popup_w) + Dialog.setTabOrder(self.spin_popup_w, self.spin_popup_h) + Dialog.setTabOrder(self.spin_popup_h, self.groupbox_watchdog) + Dialog.setTabOrder(self.groupbox_watchdog, self.spin_watchdog_interval) + Dialog.setTabOrder(self.spin_watchdog_interval, self.pb_clear_cache) + Dialog.setTabOrder(self.pb_clear_cache, self.pb_open_cache_dir) + Dialog.setTabOrder(self.pb_open_cache_dir, self.combo_logging) + Dialog.setTabOrder(self.combo_logging, self.pb_open_log) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate @@ -272,6 +294,7 @@ class Ui_Dialog(object): self.cb_priority_colors.setToolTip(_translate("Dialog", "4..7 -> medium\n" "8..10 -> high")) self.cb_priority_colors.setText(_translate("Dialog", "Show message priority colors")) + self.cb_image_urls.setText(_translate("Dialog", "Show image urls as images")) self.cb_locale.setText(_translate("Dialog", "Display date in the system locale format")) self.cb_sort_applications.setText(_translate("Dialog", "Sort the application list alphabetically (requires restart)")) self.groupBox_server_info.setTitle(_translate("Dialog", "Server info")) diff --git a/gotify_tray/gui/designs/widget_settings.ui b/gotify_tray/gui/designs/widget_settings.ui index 2850ce7..0e80c51 100644 --- a/gotify_tray/gui/designs/widget_settings.ui +++ b/gotify_tray/gui/designs/widget_settings.ui @@ -6,8 +6,8 @@ 0 0 - 415 - 446 + 442 + 530 @@ -141,6 +141,13 @@ + + + + Show image urls as images + + + @@ -594,10 +601,29 @@ spin_priority spin_duration cb_notify + cb_notification_click + cb_tray_icon_unread + cb_priority_colors + cb_image_urls + cb_locale + cb_sort_applications pb_change_server_info + pb_reset_fonts pb_font_message_title pb_font_message_date pb_font_message_content + pb_reset + pb_import + pb_export + groupbox_image_popup + spin_popup_w + spin_popup_h + groupbox_watchdog + spin_watchdog_interval + pb_clear_cache + pb_open_cache_dir + combo_logging + pb_open_log diff --git a/gotify_tray/gui/widgets/MessageWidget.py b/gotify_tray/gui/widgets/MessageWidget.py index ee550ff..30846aa 100644 --- a/gotify_tray/gui/widgets/MessageWidget.py +++ b/gotify_tray/gui/widgets/MessageWidget.py @@ -50,7 +50,8 @@ class MessageWidget(QtWidgets.QWidget, Ui_Form): # If the message is only an image URL, then instead of showing the message, # download the image and show it in the message label - if image_url := extract_image(message.message): + image_url = extract_image(message.message) if settings.value("MessageWidget/image_urls", type=bool) else "" + if image_url: downloader = Downloader() filename = downloader.get_filename(image_url) self.set_message_image(filename) diff --git a/gotify_tray/gui/widgets/SettingsDialog.py b/gotify_tray/gui/widgets/SettingsDialog.py index 1c0555d..91705af 100644 --- a/gotify_tray/gui/widgets/SettingsDialog.py +++ b/gotify_tray/gui/widgets/SettingsDialog.py @@ -61,6 +61,7 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog): # Interface self.cb_priority_colors.setChecked(settings.value("MessageWidget/priority_color", type=bool)) + self.cb_image_urls.setChecked(settings.value("MessageWidget/image_urls", type=bool)) self.cb_locale.setChecked(settings.value("locale", type=bool)) self.cb_sort_applications.setChecked(settings.value("ApplicationModel/sort", type=bool)) @@ -212,6 +213,7 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog): # Interface self.connect_signal(self.cb_priority_colors.stateChanged, self.cb_priority_colors) + self.connect_signal(self.cb_image_urls.stateChanged, self.cb_image_urls) self.connect_signal(self.cb_locale.stateChanged, self.cb_locale) self.connect_signal(self.cb_sort_applications.stateChanged, self.cb_sort_applications) @@ -251,6 +253,7 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog): # Interface self.set_value("MessageWidget/priority_color", self.cb_priority_colors.isChecked(), self.cb_priority_colors) + self.set_value("MessageWidget/image_urls", self.cb_image_urls.isChecked(), self.cb_image_urls) self.set_value("locale", self.cb_locale.isChecked(), self.cb_locale) self.set_value("ApplicationModel/sort", self.cb_sort_applications.isChecked(), self.cb_sort_applications)