- Implement MessagesProxyModel for client-side filtering - Add priority filter buttons (LOW 0-3, NORMAL 4-8, HIGH 9, CRITICAL 10 always shown) - Add subject filter menu with checkable actions for message titles - Add Remove Filters button to reset all filters - Restore priority 10 persistent notification setting in options - Fix settings dialog errors and update UI layouts - Ensure CRITICAL priority messages cannot be filtered out but can toggle persistent pop-ups
75 lines
3.6 KiB
Python
75 lines
3.6 KiB
Python
# Form implementation generated from reading ui file 'gotify_tray/gui/designs/widget_server.ui'
|
|
#
|
|
# Created by: PyQt6 UI code generator 6.9.1
|
|
#
|
|
# 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.
|
|
|
|
|
|
from PyQt6 import QtCore, QtGui, QtWidgets
|
|
|
|
|
|
class Ui_Dialog(object):
|
|
def setupUi(self, Dialog):
|
|
Dialog.setObjectName("Dialog")
|
|
Dialog.resize(300, 130)
|
|
self.gridLayout = QtWidgets.QGridLayout(Dialog)
|
|
self.gridLayout.setObjectName("gridLayout")
|
|
self.label_server_info = QtWidgets.QLabel(parent=Dialog)
|
|
self.label_server_info.setText("")
|
|
self.label_server_info.setObjectName("label_server_info")
|
|
self.gridLayout.addWidget(self.label_server_info, 1, 1, 1, 2)
|
|
self.formLayout = QtWidgets.QFormLayout()
|
|
self.formLayout.setObjectName("formLayout")
|
|
self.label = QtWidgets.QLabel(parent=Dialog)
|
|
self.label.setObjectName("label")
|
|
self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label)
|
|
self.line_url = QtWidgets.QLineEdit(parent=Dialog)
|
|
self.line_url.setObjectName("line_url")
|
|
self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.line_url)
|
|
self.label_2 = QtWidgets.QLabel(parent=Dialog)
|
|
self.label_2.setObjectName("label_2")
|
|
self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)
|
|
self.line_token = QtWidgets.QLineEdit(parent=Dialog)
|
|
self.line_token.setObjectName("line_token")
|
|
self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.line_token)
|
|
self.gridLayout.addLayout(self.formLayout, 0, 1, 1, 5)
|
|
self.pb_test = QtWidgets.QPushButton(parent=Dialog)
|
|
self.pb_test.setObjectName("pb_test")
|
|
self.gridLayout.addWidget(self.pb_test, 1, 5, 1, 1)
|
|
self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog)
|
|
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
|
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
|
self.buttonBox.setObjectName("buttonBox")
|
|
self.gridLayout.addWidget(self.buttonBox, 2, 5, 1, 1)
|
|
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
|
self.gridLayout.addItem(spacerItem, 1, 3, 1, 1)
|
|
self.pb_import = QtWidgets.QPushButton(parent=Dialog)
|
|
self.pb_import.setMaximumSize(QtCore.QSize(30, 16777215))
|
|
self.pb_import.setObjectName("pb_import")
|
|
self.gridLayout.addWidget(self.pb_import, 1, 4, 1, 1)
|
|
|
|
self.retranslateUi(Dialog)
|
|
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
|
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
|
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
|
|
|
def retranslateUi(self, Dialog):
|
|
_translate = QtCore.QCoreApplication.translate
|
|
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
|
|
self.label.setText(_translate("Dialog", "Server url:"))
|
|
self.label_2.setText(_translate("Dialog", "Client token:"))
|
|
self.pb_test.setText(_translate("Dialog", "Test"))
|
|
self.pb_import.setToolTip(_translate("Dialog", "Import settings"))
|
|
self.pb_import.setText(_translate("Dialog", "..."))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import sys
|
|
app = QtWidgets.QApplication(sys.argv)
|
|
Dialog = QtWidgets.QDialog()
|
|
ui = Ui_Dialog()
|
|
ui.setupUi(Dialog)
|
|
Dialog.show()
|
|
sys.exit(app.exec())
|