rework logging, add more dataclasses, reworked config
This commit is contained in:
@@ -66,10 +66,10 @@ class Ui_MainWindow(object):
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.verticalLayout_2.addItem(spacerItem)
|
||||
self.load_app = QtWidgets.QPushButton(parent=self.horizontalLayoutWidget_2)
|
||||
self.load_app.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.load_app.setObjectName("load_app")
|
||||
self.verticalLayout_2.addWidget(self.load_app)
|
||||
self.create_document = QtWidgets.QPushButton(parent=self.horizontalLayoutWidget_2)
|
||||
self.create_document.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.create_document.setObjectName("create_document")
|
||||
self.verticalLayout_2.addWidget(self.create_document)
|
||||
self.create_new_app = QtWidgets.QPushButton(parent=self.horizontalLayoutWidget_2)
|
||||
self.create_new_app.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.create_new_app.setObjectName("create_new_app")
|
||||
@@ -795,8 +795,11 @@ class Ui_MainWindow(object):
|
||||
self.actionAbout = QtGui.QAction(parent=MainWindow)
|
||||
self.actionAbout.setMenuRole(QtGui.QAction.MenuRole.AboutRole)
|
||||
self.actionAbout.setObjectName("actionAbout")
|
||||
self.actionDokumentation_lokal = QtGui.QAction(parent=MainWindow)
|
||||
self.actionDokumentation_lokal.setObjectName("actionDokumentation_lokal")
|
||||
self.menuDatei.addAction(self.actionBeenden)
|
||||
self.menuEinstellungen.addAction(self.actionEinstellungen)
|
||||
self.menuHelp.addAction(self.actionDokumentation_lokal)
|
||||
self.menuHelp.addAction(self.actionDokumentation)
|
||||
self.menuHelp.addAction(self.actionAbout)
|
||||
self.menubar.addAction(self.menuDatei.menuAction())
|
||||
@@ -842,8 +845,8 @@ class Ui_MainWindow(object):
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Semesterapparatsmanagement"))
|
||||
self.load_app.setToolTip(_translate("MainWindow", "Load the Semesterapparate from the database"))
|
||||
self.load_app.setText(_translate("MainWindow", "App. aufrufen"))
|
||||
self.create_document.setToolTip(_translate("MainWindow", "Erstellt die Übersicht, welche am Regal ausgehängt werden kann"))
|
||||
self.create_document.setText(_translate("MainWindow", "Übersicht erstellen"))
|
||||
self.create_new_app.setText(_translate("MainWindow", "neu. App anlegen"))
|
||||
self.cancel_active_selection.setText(_translate("MainWindow", "Auswahl abbrechen"))
|
||||
self.tableWidget_apparate.setSortingEnabled(False)
|
||||
@@ -953,6 +956,7 @@ class Ui_MainWindow(object):
|
||||
self.actionBeenden.setShortcut(_translate("MainWindow", "Ctrl+Q"))
|
||||
self.actionEinstellungen.setText(_translate("MainWindow", "Einstellungen"))
|
||||
self.actionEinstellungen.setShortcut(_translate("MainWindow", "Alt+S"))
|
||||
self.actionDokumentation.setText(_translate("MainWindow", "Dokumentation"))
|
||||
self.actionDokumentation.setText(_translate("MainWindow", "Dokumentation (online)"))
|
||||
self.actionDokumentation.setShortcut(_translate("MainWindow", "F1"))
|
||||
self.actionAbout.setText(_translate("MainWindow", "About"))
|
||||
self.actionDokumentation_lokal.setText(_translate("MainWindow", "Dokumentation (lokal)"))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\dialog_sources\apparat_extend.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.6.1
|
||||
# Created by: PyQt6 UI code generator 6.7.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.
|
||||
@@ -56,7 +56,7 @@ class Ui_Dialog(object):
|
||||
self.sem_year.setGeometry(QtCore.QRect(10, 70, 121, 20))
|
||||
self.sem_year.setObjectName("sem_year")
|
||||
self.dauerapp = QtWidgets.QCheckBox(parent=Dialog)
|
||||
self.dauerapp.setGeometry(QtCore.QRect(150, 70, 91, 21))
|
||||
self.dauerapp.setGeometry(QtCore.QRect(150, 70, 111, 21))
|
||||
self.dauerapp.setObjectName("dauerapp")
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\dialog_sources\confirm_extend.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.6.1
|
||||
# Created by: PyQt6 UI code generator 6.7.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.
|
||||
@@ -13,14 +13,16 @@ class Ui_extend_confirm(object):
|
||||
def setupUi(self, extend_confirm):
|
||||
extend_confirm.setObjectName("extend_confirm")
|
||||
extend_confirm.resize(380, 97)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(extend_confirm)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.textEdit = QtWidgets.QTextEdit(parent=extend_confirm)
|
||||
self.textEdit.setObjectName("textEdit")
|
||||
self.horizontalLayout.addWidget(self.textEdit)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(parent=extend_confirm)
|
||||
self.buttonBox.setGeometry(QtCore.QRect(290, 20, 81, 241))
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Vertical)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.textEdit = QtWidgets.QTextEdit(parent=extend_confirm)
|
||||
self.textEdit.setGeometry(QtCore.QRect(10, 10, 271, 81))
|
||||
self.textEdit.setObjectName("textEdit")
|
||||
self.horizontalLayout.addWidget(self.buttonBox)
|
||||
|
||||
self.retranslateUi(extend_confirm)
|
||||
self.buttonBox.accepted.connect(extend_confirm.accept) # type: ignore
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\dialog_sources\elsa_add_table_entry.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.6.1
|
||||
# Created by: PyQt6 UI code generator 6.7.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.
|
||||
@@ -337,17 +337,19 @@ class Ui_Dialog(object):
|
||||
self.gridLayout_5.addLayout(self.verticalLayout_4, 6, 1, 1, 1)
|
||||
self.stackedWidget.addWidget(self.page)
|
||||
self.verticalLayout.addWidget(self.stackedWidget)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog)
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Discard|QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||
self.buttonBox.setCenterButtons(False)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.verticalLayout.addWidget(self.buttonBox)
|
||||
self.horizontalLayout.addWidget(self.buttonBox)
|
||||
self.retryButton = QtWidgets.QPushButton(parent=Dialog)
|
||||
self.retryButton.setObjectName("retryButton")
|
||||
self.horizontalLayout.addWidget(self.retryButton)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
self.stackedWidget.setCurrentIndex(3)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
@@ -406,3 +408,4 @@ class Ui_Dialog(object):
|
||||
self.copy_filename.setText(_translate("Dialog", "Kopieren"))
|
||||
self.copy_ilias_filename.setText(_translate("Dialog", "Kopieren"))
|
||||
self.copy_qoute.setText(_translate("Dialog", "Kopieren"))
|
||||
self.retryButton.setText(_translate("Dialog", "Wiederholen"))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\dialog_sources\mail_preview.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.6.1
|
||||
# Created by: PyQt6 UI code generator 6.7.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.
|
||||
@@ -102,7 +102,7 @@ class Ui_eMailPreview(object):
|
||||
def retranslateUi(self, eMailPreview):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
eMailPreview.setWindowTitle(_translate("eMailPreview", "eMail Voransicht"))
|
||||
self.label_6.setText(_translate("eMailPreview", "Geschlecht"))
|
||||
self.label_6.setText(_translate("eMailPreview", "Anrede"))
|
||||
self.label_2.setText(_translate("eMailPreview", "Prof"))
|
||||
self.label_5.setText(_translate("eMailPreview", "Art"))
|
||||
self.label_4.setText(_translate("eMailPreview", "Betreff"))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\SemesterapparatsManager\src\ui\dialogs\dialog_sources\settings.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.6.1
|
||||
# Created by: PyQt6 UI code generator 6.7.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.
|
||||
@@ -12,149 +12,188 @@ from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
class Ui_Dialog(object):
|
||||
def setupUi(self, Dialog):
|
||||
Dialog.setObjectName("Dialog")
|
||||
Dialog.resize(750, 580)
|
||||
self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog)
|
||||
self.buttonBox.setGeometry(QtCore.QRect(120, 540, 621, 32))
|
||||
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
|
||||
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
|
||||
self.buttonBox.setObjectName("buttonBox")
|
||||
self.frame = QtWidgets.QFrame(parent=Dialog)
|
||||
self.frame.setGeometry(QtCore.QRect(0, 0, 751, 541))
|
||||
self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame.setObjectName("frame")
|
||||
self.label_2 = QtWidgets.QLabel(parent=self.frame)
|
||||
self.label_2.setGeometry(QtCore.QRect(10, 20, 161, 21))
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.formLayoutWidget = QtWidgets.QWidget(parent=self.frame)
|
||||
self.formLayoutWidget.setGeometry(QtCore.QRect(10, 40, 361, 491))
|
||||
self.formLayoutWidget.setObjectName("formLayoutWidget")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.formLayoutWidget)
|
||||
self.gridLayout.setContentsMargins(0, 0, 0, 0)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.tb_select_db = QtWidgets.QToolButton(parent=self.formLayoutWidget)
|
||||
self.tb_select_db.setObjectName("tb_select_db")
|
||||
self.gridLayout.addWidget(self.tb_select_db, 0, 2, 1, 1)
|
||||
self.db_path = QtWidgets.QLineEdit(parent=self.formLayoutWidget)
|
||||
Dialog.setWindowModality(QtCore.Qt.WindowModality.NonModal)
|
||||
Dialog.resize(651, 679)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(Dialog.sizePolicy().hasHeightForWidth())
|
||||
Dialog.setSizePolicy(sizePolicy)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.toolBox = QtWidgets.QToolBox(parent=Dialog)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.toolBox.sizePolicy().hasHeightForWidth())
|
||||
self.toolBox.setSizePolicy(sizePolicy)
|
||||
self.toolBox.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhNone)
|
||||
self.toolBox.setObjectName("toolBox")
|
||||
self.page_1 = QtWidgets.QWidget()
|
||||
self.page_1.setGeometry(QtCore.QRect(0, 0, 633, 511))
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.MinimumExpanding, QtWidgets.QSizePolicy.Policy.MinimumExpanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.page_1.sizePolicy().hasHeightForWidth())
|
||||
self.page_1.setSizePolicy(sizePolicy)
|
||||
self.page_1.setObjectName("page_1")
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout(self.page_1)
|
||||
self.gridLayout_3.setObjectName("gridLayout_3")
|
||||
self.db_name = QtWidgets.QLineEdit(parent=self.page_1)
|
||||
self.db_name.setObjectName("db_name")
|
||||
self.gridLayout_3.addWidget(self.db_name, 0, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.page_1)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout_3.addWidget(self.label_5, 0, 0, 1, 1)
|
||||
self.db_path = QtWidgets.QLineEdit(parent=self.page_1)
|
||||
self.db_path.setEnabled(False)
|
||||
self.db_path.setObjectName("db_path")
|
||||
self.gridLayout.addWidget(self.db_path, 1, 1, 1, 1)
|
||||
self.label_3 = QtWidgets.QLabel(parent=self.formLayoutWidget)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
|
||||
self.db_name = QtWidgets.QLineEdit(parent=self.formLayoutWidget)
|
||||
self.db_name.setObjectName("db_name")
|
||||
self.gridLayout.addWidget(self.db_name, 0, 1, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.formLayoutWidget)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1)
|
||||
self.save_path = QtWidgets.QLineEdit(parent=self.formLayoutWidget)
|
||||
self.save_path.setObjectName("save_path")
|
||||
self.gridLayout.addWidget(self.save_path, 2, 1, 1, 1)
|
||||
self.tb_set_save_path = QtWidgets.QToolButton(parent=self.formLayoutWidget)
|
||||
self.gridLayout_3.addWidget(self.db_path, 1, 1, 1, 1)
|
||||
self.label_12 = QtWidgets.QLabel(parent=self.page_1)
|
||||
self.label_12.setObjectName("label_12")
|
||||
self.gridLayout_3.addWidget(self.label_12, 2, 0, 1, 1)
|
||||
self.label_11 = QtWidgets.QLabel(parent=self.page_1)
|
||||
self.label_11.setObjectName("label_11")
|
||||
self.gridLayout_3.addWidget(self.label_11, 1, 0, 1, 1)
|
||||
self.tb_set_save_path = QtWidgets.QToolButton(parent=self.page_1)
|
||||
self.tb_set_save_path.setObjectName("tb_set_save_path")
|
||||
self.gridLayout.addWidget(self.tb_set_save_path, 2, 2, 1, 1)
|
||||
self.gridLayout_3.addWidget(self.tb_set_save_path, 2, 2, 1, 1)
|
||||
self.tb_select_db = QtWidgets.QToolButton(parent=self.page_1)
|
||||
self.tb_select_db.setObjectName("tb_select_db")
|
||||
self.gridLayout_3.addWidget(self.tb_select_db, 0, 2, 1, 1)
|
||||
self.save_path = QtWidgets.QLineEdit(parent=self.page_1)
|
||||
self.save_path.setObjectName("save_path")
|
||||
self.gridLayout_3.addWidget(self.save_path, 2, 1, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem, 3, 1, 1, 1)
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.formLayoutWidget)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.gridLayout.addWidget(self.label_5, 2, 0, 1, 1)
|
||||
self.email_settings = QtWidgets.QTabWidget(parent=self.frame)
|
||||
self.email_settings.setGeometry(QtCore.QRect(390, 40, 341, 491))
|
||||
self.gridLayout_3.addItem(spacerItem, 3, 1, 1, 1)
|
||||
self.toolBox.addItem(self.page_1, "")
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.page_2)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.zotero_library_type = QtWidgets.QLineEdit(parent=self.page_2)
|
||||
self.zotero_library_type.setObjectName("zotero_library_type")
|
||||
self.gridLayout.addWidget(self.zotero_library_type, 2, 2, 1, 1)
|
||||
self.zotero_library_id = QtWidgets.QLineEdit(parent=self.page_2)
|
||||
self.zotero_library_id.setObjectName("zotero_library_id")
|
||||
self.gridLayout.addWidget(self.zotero_library_id, 1, 2, 1, 1)
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.page_2)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1)
|
||||
self.label_3 = QtWidgets.QLabel(parent=self.page_2)
|
||||
self.label_3.setObjectName("label_3")
|
||||
self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
|
||||
self.zotero_api_key = QtWidgets.QLineEdit(parent=self.page_2)
|
||||
self.zotero_api_key.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData)
|
||||
self.zotero_api_key.setObjectName("zotero_api_key")
|
||||
self.gridLayout.addWidget(self.zotero_api_key, 0, 2, 1, 1)
|
||||
self.label_2 = QtWidgets.QLabel(parent=self.page_2)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
|
||||
self.toggle_api_visibility = QtWidgets.QToolButton(parent=self.page_2)
|
||||
self.toggle_api_visibility.setText("")
|
||||
self.toggle_api_visibility.setObjectName("toggle_api_visibility")
|
||||
self.gridLayout.addWidget(self.toggle_api_visibility, 0, 3, 1, 1)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.gridLayout.addItem(spacerItem1, 3, 2, 1, 1)
|
||||
self.toolBox.addItem(self.page_2, "")
|
||||
self.page_3 = QtWidgets.QWidget()
|
||||
self.page_3.setGeometry(QtCore.QRect(0, 0, 633, 511))
|
||||
self.page_3.setObjectName("page_3")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.page_3)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.email_settings = QtWidgets.QTabWidget(parent=self.page_3)
|
||||
self.email_settings.setObjectName("email_settings")
|
||||
self.email_settingsPage1_2 = QtWidgets.QWidget()
|
||||
self.email_settingsPage1_2.setObjectName("email_settingsPage1_2")
|
||||
self.formLayoutWidget_2 = QtWidgets.QWidget(parent=self.email_settingsPage1_2)
|
||||
self.formLayoutWidget_2.setGeometry(QtCore.QRect(10, 30, 321, 381))
|
||||
self.formLayoutWidget_2.setObjectName("formLayoutWidget_2")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.formLayoutWidget_2)
|
||||
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.email_settingsPage1_2)
|
||||
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.smtp_address = QtWidgets.QLineEdit(parent=self.formLayoutWidget_2)
|
||||
self.smtp_address = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
|
||||
self.smtp_address.setClearButtonEnabled(True)
|
||||
self.smtp_address.setObjectName("smtp_address")
|
||||
self.gridLayout_2.addWidget(self.smtp_address, 0, 1, 1, 1)
|
||||
self.label_8 = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label_8 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.gridLayout_2.addWidget(self.label_8, 3, 0, 1, 1)
|
||||
self.use_username_smtp_login = QtWidgets.QCheckBox(parent=self.formLayoutWidget_2)
|
||||
self.use_username_smtp_login = QtWidgets.QCheckBox(parent=self.email_settingsPage1_2)
|
||||
self.use_username_smtp_login.setTristate(False)
|
||||
self.use_username_smtp_login.setObjectName("use_username_smtp_login")
|
||||
self.gridLayout_2.addWidget(self.use_username_smtp_login, 4, 1, 1, 1)
|
||||
self.mail_username = QtWidgets.QLineEdit(parent=self.formLayoutWidget_2)
|
||||
self.mail_username = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
|
||||
self.mail_username.setClearButtonEnabled(True)
|
||||
self.mail_username.setObjectName("mail_username")
|
||||
self.gridLayout_2.addWidget(self.mail_username, 3, 1, 1, 1)
|
||||
self.smtp_port = QtWidgets.QLineEdit(parent=self.formLayoutWidget_2)
|
||||
self.smtp_port = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
|
||||
self.smtp_port.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhDigitsOnly|QtCore.Qt.InputMethodHint.ImhPreferNumbers)
|
||||
self.smtp_port.setClearButtonEnabled(True)
|
||||
self.smtp_port.setObjectName("smtp_port")
|
||||
self.gridLayout_2.addWidget(self.smtp_port, 1, 1, 1, 1)
|
||||
self.label_10 = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label_10 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label_10.setObjectName("label_10")
|
||||
self.gridLayout_2.addWidget(self.label_10, 5, 0, 1, 1)
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.gridLayout_2.addWidget(self.label_7, 2, 0, 1, 1)
|
||||
self.label_9 = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label_9 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label_9.setText("")
|
||||
self.label_9.setObjectName("label_9")
|
||||
self.gridLayout_2.addWidget(self.label_9, 6, 0, 1, 1)
|
||||
self.sender_email = QtWidgets.QLineEdit(parent=self.formLayoutWidget_2)
|
||||
self.sender_email = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
|
||||
self.sender_email.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhEmailCharactersOnly)
|
||||
self.sender_email.setClearButtonEnabled(True)
|
||||
self.sender_email.setObjectName("sender_email")
|
||||
self.gridLayout_2.addWidget(self.sender_email, 2, 1, 1, 1)
|
||||
self.label = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label.setObjectName("label")
|
||||
self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
|
||||
self.password = QtWidgets.QLineEdit(parent=self.formLayoutWidget_2)
|
||||
self.password = QtWidgets.QLineEdit(parent=self.email_settingsPage1_2)
|
||||
self.password.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhHiddenText|QtCore.Qt.InputMethodHint.ImhSensitiveData)
|
||||
self.password.setClearButtonEnabled(True)
|
||||
self.password.setObjectName("password")
|
||||
self.gridLayout_2.addWidget(self.password, 5, 1, 1, 1)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.formLayoutWidget_2)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.email_settingsPage1_2)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1)
|
||||
self.togglePassword = QtWidgets.QPushButton(parent=self.formLayoutWidget_2)
|
||||
self.togglePassword = QtWidgets.QPushButton(parent=self.email_settingsPage1_2)
|
||||
self.togglePassword.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.togglePassword.setText("")
|
||||
self.togglePassword.setObjectName("togglePassword")
|
||||
self.gridLayout_2.addWidget(self.togglePassword, 5, 2, 1, 1)
|
||||
self.horizontalLayout_4.addLayout(self.gridLayout_2)
|
||||
self.email_settings.addTab(self.email_settingsPage1_2, "")
|
||||
self.email_settingsPage2_2 = QtWidgets.QWidget()
|
||||
self.email_settingsPage2_2.setObjectName("email_settingsPage2_2")
|
||||
self.verticalLayoutWidget = QtWidgets.QWidget(parent=self.email_settingsPage2_2)
|
||||
self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 0, 321, 71))
|
||||
self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
|
||||
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.email_settingsPage2_2)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem1)
|
||||
self.bold = QtWidgets.QPushButton(parent=self.verticalLayoutWidget)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem2)
|
||||
self.bold = QtWidgets.QPushButton(parent=self.email_settingsPage2_2)
|
||||
self.bold.setCheckable(True)
|
||||
self.bold.setObjectName("bold")
|
||||
self.horizontalLayout_3.addWidget(self.bold)
|
||||
self.italic = QtWidgets.QPushButton(parent=self.verticalLayoutWidget)
|
||||
self.italic = QtWidgets.QPushButton(parent=self.email_settingsPage2_2)
|
||||
self.italic.setCheckable(True)
|
||||
self.italic.setObjectName("italic")
|
||||
self.horizontalLayout_3.addWidget(self.italic)
|
||||
self.underscore = QtWidgets.QPushButton(parent=self.verticalLayoutWidget)
|
||||
self.underscore = QtWidgets.QPushButton(parent=self.email_settingsPage2_2)
|
||||
self.underscore.setCheckable(True)
|
||||
self.underscore.setObjectName("underscore")
|
||||
self.horizontalLayout_3.addWidget(self.underscore)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem2)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_3)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_3.addItem(spacerItem3)
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.fontComboBox = QtWidgets.QFontComboBox(parent=self.verticalLayoutWidget)
|
||||
self.fontComboBox = QtWidgets.QFontComboBox(parent=self.email_settingsPage2_2)
|
||||
self.fontComboBox.setObjectName("fontComboBox")
|
||||
self.horizontalLayout.addWidget(self.fontComboBox)
|
||||
self.font_size = QtWidgets.QComboBox(parent=self.verticalLayoutWidget)
|
||||
self.font_size = QtWidgets.QComboBox(parent=self.email_settingsPage2_2)
|
||||
self.font_size.setObjectName("font_size")
|
||||
self.font_size.addItem("")
|
||||
self.font_size.addItem("")
|
||||
@@ -172,40 +211,92 @@ class Ui_Dialog(object):
|
||||
self.font_size.addItem("")
|
||||
self.font_size.addItem("")
|
||||
self.horizontalLayout.addWidget(self.font_size)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem3)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem4)
|
||||
self.verticalLayout_2.addLayout(self.horizontalLayout)
|
||||
self.verticalLayout_3.addLayout(self.verticalLayout_2)
|
||||
self.editSignature = QtWidgets.QTextEdit(parent=self.email_settingsPage2_2)
|
||||
self.editSignature.setGeometry(QtCore.QRect(10, 80, 321, 301))
|
||||
self.editSignature.setObjectName("editSignature")
|
||||
self.verticalLayout_3.addWidget(self.editSignature)
|
||||
self.debug = QtWidgets.QPushButton(parent=self.email_settingsPage2_2)
|
||||
self.debug.setGeometry(QtCore.QRect(30, 430, 75, 24))
|
||||
self.debug.setObjectName("debug")
|
||||
self.verticalLayout_3.addWidget(self.debug)
|
||||
self.email_settings.addTab(self.email_settingsPage2_2, "")
|
||||
self.label_3.setBuddy(self.db_name)
|
||||
self.label_4.setBuddy(self.db_path)
|
||||
self.label_5.setBuddy(self.save_path)
|
||||
self.horizontalLayout_2.addWidget(self.email_settings)
|
||||
self.toolBox.addItem(self.page_3, "")
|
||||
self.page_4 = QtWidgets.QWidget()
|
||||
self.page_4.setObjectName("page_4")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_4)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.groupBox = QtWidgets.QGroupBox(parent=self.page_4)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(12)
|
||||
font.setBold(True)
|
||||
self.groupBox.setFont(font)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.scrollArea_3 = QtWidgets.QScrollArea(parent=self.groupBox)
|
||||
self.scrollArea_3.setWidgetResizable(True)
|
||||
self.scrollArea_3.setObjectName("scrollArea_3")
|
||||
self.scrollAreaWidgetContents_3 = QtWidgets.QWidget()
|
||||
self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(0, 0, 593, 201))
|
||||
self.scrollAreaWidgetContents_3.setObjectName("scrollAreaWidgetContents_3")
|
||||
self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_3)
|
||||
self.verticalLayout_7.setObjectName("verticalLayout_7")
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.verticalLayout_7.addLayout(self.gridLayout_4)
|
||||
self.scrollArea_3.setWidget(self.scrollAreaWidgetContents_3)
|
||||
self.verticalLayout_5.addWidget(self.scrollArea_3)
|
||||
self.verticalLayout_4.addWidget(self.groupBox)
|
||||
self.scrollArea_2 = QtWidgets.QScrollArea(parent=self.page_4)
|
||||
self.scrollArea_2.setWidgetResizable(True)
|
||||
self.scrollArea_2.setObjectName("scrollArea_2")
|
||||
self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
|
||||
self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 613, 241))
|
||||
self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.formLayout = QtWidgets.QFormLayout()
|
||||
self.formLayout.setObjectName("formLayout")
|
||||
self.verticalLayout_6.addLayout(self.formLayout)
|
||||
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
|
||||
self.verticalLayout_4.addWidget(self.scrollArea_2)
|
||||
self.toolBox.addItem(self.page_4, "")
|
||||
self.verticalLayout.addWidget(self.toolBox)
|
||||
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.verticalLayout.addWidget(self.buttonBox)
|
||||
self.label_5.setBuddy(self.db_name)
|
||||
self.label_12.setBuddy(self.save_path)
|
||||
self.label_11.setBuddy(self.db_path)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.toolBox.setCurrentIndex(3)
|
||||
self.email_settings.setCurrentIndex(0)
|
||||
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
|
||||
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.db_name, self.db_path)
|
||||
Dialog.setTabOrder(self.db_path, self.save_path)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Einstellungen"))
|
||||
self.label_2.setText(_translate("Dialog", "Allgemeine Einstellungen"))
|
||||
self.tb_select_db.setText(_translate("Dialog", "..."))
|
||||
self.label_3.setToolTip(_translate("Dialog", "<html><head/><body><p>Name der Datenbank, welche verwendet werden soll. <span style=\" font-weight:600;\">Muss</span> auf .db enden</p></body></html>"))
|
||||
self.label_3.setText(_translate("Dialog", "Datenbankname"))
|
||||
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
|
||||
self.db_name.setText(_translate("Dialog", "sap.db"))
|
||||
self.label_4.setText(_translate("Dialog", "Datenbankpfad"))
|
||||
self.label_5.setToolTip(_translate("Dialog", "<html><head/><body><p>Name der Datenbank, welche verwendet werden soll. <span style=\" font-weight:600;\">Muss</span> auf .db enden</p></body></html>"))
|
||||
self.label_5.setText(_translate("Dialog", "Datenbankname"))
|
||||
self.label_12.setToolTip(_translate("Dialog", "Pfad, an dem heruntergeladene Dateien gespeichert werden sollen"))
|
||||
self.label_12.setText(_translate("Dialog", "Temporäre Dateien"))
|
||||
self.label_11.setText(_translate("Dialog", "Datenbankpfad"))
|
||||
self.tb_set_save_path.setText(_translate("Dialog", "..."))
|
||||
self.label_5.setToolTip(_translate("Dialog", "Pfad, an dem heruntergeladene Dateien gespeichert werden sollen"))
|
||||
self.label_5.setText(_translate("Dialog", "Temporäre Dateien"))
|
||||
self.tb_select_db.setText(_translate("Dialog", "..."))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page_1), _translate("Dialog", "Datenbank"))
|
||||
self.label_4.setText(_translate("Dialog", "Bibliothekstyp"))
|
||||
self.label_3.setText(_translate("Dialog", "Bibliotheks-ID"))
|
||||
self.label_2.setText(_translate("Dialog", "API Key"))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("Dialog", "Zotero"))
|
||||
self.label_8.setText(_translate("Dialog", "Nutzername"))
|
||||
self.use_username_smtp_login.setStatusTip(_translate("Dialog", "Anklicken, wenn Nutzername benötigt wird, um sich beim Server anzumelden"))
|
||||
self.use_username_smtp_login.setText(_translate("Dialog", "Nutzername zum\n"
|
||||
@@ -236,3 +327,6 @@ class Ui_Dialog(object):
|
||||
self.font_size.setItemText(14, _translate("Dialog", "72"))
|
||||
self.debug.setText(_translate("Dialog", "Debug"))
|
||||
self.email_settings.setTabText(self.email_settings.indexOf(self.email_settingsPage2_2), _translate("Dialog", "Signatur"))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page_3), _translate("Dialog", "e-Mail"))
|
||||
self.groupBox.setTitle(_translate("Dialog", "Farben"))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page_4), _translate("Dialog", "Icons"))
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
<rect>
|
||||
<x>150</x>
|
||||
<y>70</y>
|
||||
<width>91</width>
|
||||
<width>111</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
||||
@@ -13,32 +13,21 @@
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>290</x>
|
||||
<y>20</y>
|
||||
<width>81</width>
|
||||
<height>241</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>271</width>
|
||||
<height>81</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
<item>
|
||||
<widget class="QStackedWidget" name="stackedWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="mono">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
@@ -684,53 +684,25 @@ Nachname, Vorname</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
<property name="centerButtons">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="retryButton">
|
||||
<property name="text">
|
||||
<string>Wiederholen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>Dialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>266</x>
|
||||
<y>472</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>Dialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>334</x>
|
||||
<y>472</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -54,7 +54,8 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.book_pages.textChanged.connect(self.check_pages)
|
||||
self.hg_pages.textChanged.connect(self.check_pages)
|
||||
self.zs_pages.textChanged.connect(self.check_pages)
|
||||
|
||||
self.retryButton.clicked.connect(self.retry)
|
||||
|
||||
def check_pages(self):
|
||||
if self.source_pages:
|
||||
if self.book_pages.text() !=self.source_pages:
|
||||
@@ -73,6 +74,15 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
for line in self.findChildren(QtWidgets.QTextEdit):
|
||||
line.clear()
|
||||
|
||||
def retry(self):
|
||||
match self.mode:
|
||||
case "book":
|
||||
self.stackedWidget.setCurrentIndex(0)
|
||||
case "hg":
|
||||
self.stackedWidget.setCurrentIndex(1)
|
||||
case "zs":
|
||||
self.stackedWidget.setCurrentIndex(2)
|
||||
|
||||
def stack(self):
|
||||
self.stackedWidget.setEnabled(True)
|
||||
if self.btn_mono.isChecked():
|
||||
@@ -162,7 +172,8 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.ilias_filename.setText(ilias_name)
|
||||
self.stackedWidget.setCurrentIndex(3)
|
||||
|
||||
def search(self):
|
||||
def search(self, pages=None):
|
||||
print("searching")
|
||||
param = self.searchIdent.text()
|
||||
web = WebRequest()
|
||||
web.get_ppn(param)
|
||||
@@ -172,9 +183,9 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
bib = BibTextTransformer("ARRAY")
|
||||
bib.get_data(data)
|
||||
data = bib.return_data()
|
||||
self.setdata(data)
|
||||
self.setdata(data, pages)
|
||||
|
||||
def setdata(self, data):
|
||||
def setdata(self, data, pages=None):
|
||||
# use field to set data in the correct fields
|
||||
fields = self.findChildren(QtWidgets.QLineEdit)
|
||||
self.source_pages = data.pages
|
||||
@@ -201,6 +212,10 @@ class ElsaAddEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
c_field.setText(c_data)
|
||||
if "Seiten" in c_field.text():
|
||||
self.source_pages = c_field.text()
|
||||
|
||||
if pages:
|
||||
self.source_pages = pages
|
||||
eval(f"self.{self.mode}_pages").setText(pages)
|
||||
def launch():
|
||||
app = QtWidgets.QApplication([])
|
||||
dialog = ElsaAddEntry()
|
||||
|
||||
@@ -51,6 +51,7 @@ class Mail_Dialog(QtWidgets.QDialog, MailPreviewDialog):
|
||||
# app_subject,
|
||||
# prof_name,
|
||||
)
|
||||
|
||||
logger.log_info("Setting up mail dialog")
|
||||
self.appid = app_id
|
||||
self.appname = app_name
|
||||
|
||||
@@ -28,7 +28,7 @@ class ParsedTitles(QtWidgets.QWidget, Ui_Form):
|
||||
self.progressBar.setValue(value)
|
||||
|
||||
def worker_quit(self):
|
||||
print("Terminating worker")
|
||||
# print("Terminating worker")
|
||||
self.worker.terminate()
|
||||
self.worker.quit()
|
||||
self.worker.deleteLater()
|
||||
@@ -62,7 +62,7 @@ class ParsedTitles(QtWidgets.QWidget, Ui_Form):
|
||||
def determine_progress(self, signal):
|
||||
# check length of listWidget
|
||||
length = self.listWidget.count()
|
||||
print(f"Length of listWidget: {length}")
|
||||
# print(f"Length of listWidget: {length}")
|
||||
if length == 0:
|
||||
logger.log_info("AutoAdder finished")
|
||||
self.buttonBox.accepted.emit()
|
||||
|
||||
@@ -2,13 +2,14 @@ from PyQt6 import QtWidgets
|
||||
|
||||
from .dialog_sources.Ui_reminder import Ui_Erinnerung as Ui_Dialog
|
||||
from src import Icon
|
||||
|
||||
import datetime as date
|
||||
class ReminderDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setupUi(self)
|
||||
self.setWindowIcon(Icon("notification").icon)
|
||||
self.setWindowTitle("Erinnerung")
|
||||
self.dateEdit.setDate(date.datetime.now())
|
||||
def return_message(self) -> dict:
|
||||
return {
|
||||
"message": self.message_box.toPlainText(),
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
from src import Icon, settings
|
||||
|
||||
from .dialog_sources.Ui_settings import Ui_Dialog as _settings
|
||||
|
||||
base = """'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
@@ -25,10 +23,11 @@ base = """'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/T
|
||||
|
||||
|
||||
class Settings(QtWidgets.QDialog, _settings):
|
||||
def __init__(self, user):
|
||||
def __init__(self, user=None):
|
||||
super().__init__()
|
||||
self.setupUi(self)
|
||||
self.password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
|
||||
self.password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal)
|
||||
self.zotero_api_key.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal)
|
||||
self.editSignature.setAcceptRichText(True)
|
||||
self.editSignature.setFocusPolicy(QtCore.Qt.FocusPolicy.StrongFocus)
|
||||
self.bold.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
@@ -36,7 +35,8 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
self.underscore.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.font_size.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.fontComboBox.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.setWindowIcon(Icon("settings").icon)
|
||||
# self.setWindowIcon(Icon("settings").icon)
|
||||
Icon("settings", self)
|
||||
self.setWindowTitle("Einstellungen")
|
||||
self.font_size.setCurrentText("9")
|
||||
# add button to toggle password visibility
|
||||
@@ -46,6 +46,7 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
self.debug.hide()
|
||||
self.showPassword = True
|
||||
self.togglePassword.clicked.connect(self.toggle_password)
|
||||
self.toggle_api_visibility.clicked.connect(self.toggle_api)
|
||||
self.tb_select_db.clicked.connect(self.select_db)
|
||||
self.tb_set_save_path.clicked.connect(self.set_save_path)
|
||||
self.bold.clicked.connect(self.setFontBold)
|
||||
@@ -55,8 +56,15 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
self.fontComboBox.currentFontChanged.connect(self.setCurrentFont)
|
||||
self.debug.clicked.connect(self.debug_mode)
|
||||
self.toggle_password()
|
||||
self.toggle_api()
|
||||
self.load_config()
|
||||
self.buttonBox.accepted.connect(self.save)
|
||||
# set text in gridlayout_4 to be not bold
|
||||
|
||||
self.toolBox.setItemIcon(0, Icon("database").icon)
|
||||
self.toolBox.setItemIcon(1, Icon("api").icon)
|
||||
self.toolBox.setItemIcon(2, Icon("mail").icon)
|
||||
self.toolBox.setItemIcon(3, Icon("icons").icon)
|
||||
|
||||
def load_config(self):
|
||||
self.db_name.setText(settings.database.name)
|
||||
@@ -71,6 +79,36 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
settings.mail.use_user_name if settings.mail.use_user_name else False
|
||||
)
|
||||
self.editSignature.setHtml(settings.mail.signature)
|
||||
self.zotero_api_key.setText(settings.zotero.api_key)
|
||||
self.zotero_library_id.setText(settings.zotero.library_id)
|
||||
self.zotero_library_type.setText(settings.zotero.library_type)
|
||||
for row, color in enumerate(settings.icons.colors):
|
||||
# add a label with the color name, a lineedit with the color value and a button to change the color
|
||||
label = QtWidgets.QLabel(color)
|
||||
lineedit = QtWidgets.QLineEdit(settings.icons.colors[color])
|
||||
button = QtWidgets.QPushButton("Farbe ändern")
|
||||
button.clicked.connect(lambda: self.change_color(lineedit))
|
||||
self.gridLayout_4.addWidget(label, row, 0)
|
||||
self.gridLayout_4.addWidget(lineedit, row, 1)
|
||||
self.gridLayout_4.addWidget(button, row, 2)
|
||||
for i in range(self.gridLayout_4.count()):
|
||||
self.gridLayout_4.itemAt(i).widget().setFont(QtGui.QFont("Segoe UI", 9))
|
||||
# set scrollarea layout to be a form layout
|
||||
# label = QtWidgets.QLabel("Icon Name")
|
||||
# filename = QtWidgets.QLabel("Dateiname")
|
||||
# self.formLayout.addRow(label, filename)
|
||||
|
||||
for row, icon in enumerate(settings.icons.icons):
|
||||
label = QtWidgets.QLabel(icon)
|
||||
lineedit = QtWidgets.QLineEdit(settings.icons.icons[icon])
|
||||
self.formLayout.addRow(label, lineedit)
|
||||
|
||||
def change_color(self, lineedit):
|
||||
colorDialog = QtWidgets.QColorDialog()
|
||||
colorDialog.setSizePolicy()
|
||||
color = colorDialog.getColor()
|
||||
if color.isValid():
|
||||
lineedit.setText(color.name())
|
||||
|
||||
def setCurrentFont(self):
|
||||
font = self.fontComboBox.currentFont()
|
||||
@@ -82,17 +120,23 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
self.editSignature.setFontPointSize(int(size))
|
||||
|
||||
def toggle_password(self):
|
||||
self.togglePassword.setIconSize(QtCore.QSize(16, 16))
|
||||
# self.togglePassword.setIconSize(QtCore.QSize(16, 16))
|
||||
|
||||
if self.showPassword is False:
|
||||
if self.password.echoMode() == QtWidgets.QLineEdit.EchoMode.Password:
|
||||
self.password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal)
|
||||
|
||||
Icon("show_password", self.togglePassword)
|
||||
self.showPassword = True
|
||||
else:
|
||||
self.password.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
|
||||
Icon("hide_password", self.togglePassword)
|
||||
self.showPassword = False
|
||||
|
||||
def toggle_api(self):
|
||||
if self.zotero_api_key.echoMode() == QtWidgets.QLineEdit.EchoMode.Normal:
|
||||
self.zotero_api_key.setEchoMode(QtWidgets.QLineEdit.EchoMode.Password)
|
||||
Icon("hide_password", self.toggle_api_visibility)
|
||||
else:
|
||||
self.zotero_api_key.setEchoMode(QtWidgets.QLineEdit.EchoMode.Normal)
|
||||
Icon("show_password", widget=self.toggle_api_visibility)
|
||||
|
||||
def setFontBold(self):
|
||||
if self.bold.isChecked():
|
||||
@@ -158,15 +202,38 @@ class Settings(QtWidgets.QDialog, _settings):
|
||||
"use_user_name", self.use_username_smtp_login.isChecked()
|
||||
)
|
||||
settings.set_mail_attr("signature", signature)
|
||||
print("Settings:")
|
||||
print(settings)
|
||||
settings.set_zotero_attr("api_key", self.zotero_api_key.text())
|
||||
settings.set_zotero_attr("library_id", self.zotero_library_id.text())
|
||||
settings.set_zotero_attr("library_type", self.zotero_library_type.text())
|
||||
|
||||
for color in self.get_colors():
|
||||
settings.icons.colors[color] = self.get_colors()[color]
|
||||
print(color)
|
||||
for icon in self.get_icons():
|
||||
settings.icons.icons[icon] = self.get_icons()[icon]
|
||||
settings.icons.save()
|
||||
return settings
|
||||
|
||||
def get_colors(self) -> dict:
|
||||
colors = {}
|
||||
for i in range(self.gridLayout_4.count()):
|
||||
widget = self.gridLayout_4.itemAt(i).widget()
|
||||
if isinstance(widget, QtWidgets.QLineEdit):
|
||||
colors[self.gridLayout_4.itemAt(i - 1).widget().text()] = widget.text()
|
||||
return colors
|
||||
|
||||
def get_icons(self):
|
||||
icons = {}
|
||||
for row in range(self.formLayout.count()):
|
||||
widget = self.formLayout.itemAt(row).widget()
|
||||
if isinstance(widget, QtWidgets.QLineEdit):
|
||||
icons[self.formLayout.itemAt(row - 1).widget().text()] = widget.text()
|
||||
return icons
|
||||
|
||||
def save(self):
|
||||
config = self.return_data()
|
||||
print(config.mail)
|
||||
print("Saving config")
|
||||
print(config)
|
||||
# print(config)
|
||||
|
||||
config.save()
|
||||
self.accept()
|
||||
|
||||
@@ -175,6 +242,6 @@ def launch_settings():
|
||||
import sys
|
||||
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
window = Settings("admin")
|
||||
window = Settings()
|
||||
window.show()
|
||||
sys.exit(app.exec())
|
||||
|
||||
16
src/ui/extensions/ValidatorButton.py
Normal file
16
src/ui/extensions/ValidatorButton.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from PyQt6 import QtWidgets
|
||||
|
||||
|
||||
class ValidatorButton(QtWidgets.QToolButton):
|
||||
def __init__(self, status_tip="", *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.setToolTip(status_tip)
|
||||
|
||||
def setActiveIcon(self, icon):
|
||||
super().setIcon(icon)
|
||||
|
||||
def showStatusTip(self, event):
|
||||
if self.isEnabled():
|
||||
self.showStatusTip(event)
|
||||
else:
|
||||
self.showStatusTip(event)
|
||||
@@ -114,15 +114,15 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="load_app">
|
||||
<widget class="QPushButton" name="create_document">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Load the Semesterapparate from the database</string>
|
||||
<string>Erstellt die Übersicht, welche am Regal ausgehängt werden kann</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>App. aufrufen</string>
|
||||
<string>Übersicht erstellen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1897,6 +1897,7 @@
|
||||
<property name="title">
|
||||
<string>Help</string>
|
||||
</property>
|
||||
<addaction name="actionDokumentation_lokal"/>
|
||||
<addaction name="actionDokumentation"/>
|
||||
<addaction name="actionAbout"/>
|
||||
</widget>
|
||||
@@ -1932,7 +1933,7 @@
|
||||
</action>
|
||||
<action name="actionDokumentation">
|
||||
<property name="text">
|
||||
<string>Dokumentation</string>
|
||||
<string>Dokumentation (online)</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>F1</string>
|
||||
@@ -1949,6 +1950,11 @@
|
||||
<enum>QAction::AboutRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDokumentation_lokal">
|
||||
<property name="text">
|
||||
<string>Dokumentation (lokal)</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>drpdwn_app_nr</tabstop>
|
||||
|
||||
@@ -52,6 +52,7 @@ from src.ui import (
|
||||
EditUser,
|
||||
EditProf
|
||||
)
|
||||
from src.utils import SemesterDocument
|
||||
|
||||
valid_input = (0, 0, 0, 0, 0, 0)
|
||||
|
||||
@@ -139,7 +140,7 @@ class Ui(Ui_Semesterapparat):
|
||||
QtWidgets.QScrollBar(), QtCore.Qt.AlignmentFlag.AlignRight
|
||||
)
|
||||
self.tableWidget_apparate.doubleClicked.connect(self.load_app_data)
|
||||
self.load_app.hide()
|
||||
|
||||
# print(f"user:{self.active_user}")
|
||||
userrole = self.db.getRole(self.active_user)
|
||||
# hide admin interface when non-admin is logged in
|
||||
@@ -163,7 +164,6 @@ class Ui(Ui_Semesterapparat):
|
||||
self.sem_year.textChanged.connect(self.validate_semester)
|
||||
self.check_eternal_app.stateChanged.connect(self.validate_semester)
|
||||
self.chkbx_show_del_media.stateChanged.connect(self.update_app_media_list)
|
||||
|
||||
self.progress_label.setText("Bitte warten...")
|
||||
|
||||
# Set visibility/enabled state of certain entries
|
||||
@@ -188,6 +188,9 @@ class Ui(Ui_Semesterapparat):
|
||||
self.validate_thread.started.connect(self.thread_check)
|
||||
self.validate_thread.start()
|
||||
self.add_medium.setEnabled(False)
|
||||
self.docuthread = QThread()
|
||||
self.docuthread.started.connect(self.create_doc)
|
||||
self.create_document.clicked.connect(self.docuthread.start)
|
||||
|
||||
# get all current apparats and cache them in a list
|
||||
self.apparats = self.get_apparats()
|
||||
@@ -229,6 +232,32 @@ class Ui(Ui_Semesterapparat):
|
||||
|
||||
self.steps.hide()
|
||||
|
||||
def create_doc(self):
|
||||
result = self.confirm_popup(
|
||||
"Mit dem Klick auf Okay wird eine Übersicht aller aktiven Semesterapparate erstellt und an den FollowME Drucker gesendet. Es kann bis zu 10 Minuten dauern, bis das Dokument im Drucker angezeigt wird",
|
||||
"Dokument erstellen?",
|
||||
)
|
||||
if result == QtWidgets.QDialog.DialogCode.Accepted:
|
||||
print("Creating document")
|
||||
apparats = self.apparats
|
||||
apps = []
|
||||
for apparat in apparats:
|
||||
prof = self.db.getProf(apparat[2])
|
||||
data = (apparat[4], f"{prof.lastname} ({apparat[1]})")
|
||||
apps.append(data)
|
||||
print(apps)
|
||||
doc = SemesterDocument(
|
||||
semester=self.generateSemester(today=True),
|
||||
filename="Semesterapparate",
|
||||
apparats=apps,
|
||||
)
|
||||
doc.make_document()
|
||||
doc.create_pdf()
|
||||
doc.print_document()
|
||||
doc.cleanup()
|
||||
|
||||
# kill thread after execution done
|
||||
|
||||
def checkValidInput(self):
|
||||
if valid_input == (1, 1, 1, 1, 1, 1):
|
||||
self.check_file.setEnabled(True)
|
||||
@@ -475,11 +504,11 @@ class Ui(Ui_Semesterapparat):
|
||||
# Validators
|
||||
def __setValidState(self, widget, state, mand, index):
|
||||
if state:
|
||||
Icon("valid_true", widget)
|
||||
Icon("valid_true", widget, True, color="success")
|
||||
mand.setText("")
|
||||
self.change_state(index, 1)
|
||||
else:
|
||||
Icon("valid_false", widget)
|
||||
Icon("valid_false", widget, recolor=True, color="warning")
|
||||
mand.setText("*")
|
||||
self.change_state(index, 0)
|
||||
|
||||
@@ -1191,9 +1220,7 @@ class Ui(Ui_Semesterapparat):
|
||||
return False
|
||||
appd = ApparatData()
|
||||
appd.appnr = self.active_apparat
|
||||
appd.prof_title = (
|
||||
None if self.prof_title.text() == "" else self.prof_title.text()
|
||||
)
|
||||
appd.prof_title = self.prof_title.text()
|
||||
appd.profname = self.drpdwn_prof_name.currentText()
|
||||
appd.appname = self.app_name.text()
|
||||
appd.semester = self.generateSemester()
|
||||
@@ -1344,13 +1371,15 @@ class Ui(Ui_Semesterapparat):
|
||||
self.logger.log_info("Opening reminder dialog")
|
||||
reminder = reminder_ui()
|
||||
reminder.exec()
|
||||
tableposition = self.tableWidget_apparate.currentRow()
|
||||
appnr = self.tableWidget_apparate.item(tableposition, 0).text()
|
||||
if reminder.result() == QtWidgets.QDialog.DialogCode.Accepted:
|
||||
data = reminder.return_message()
|
||||
# print(data)
|
||||
self.db.addMessage(
|
||||
data,
|
||||
self.active_user,
|
||||
self.active_apparat if self.active_apparat != "" else None,
|
||||
self.active_apparat if self.active_apparat != "" else appnr,
|
||||
)
|
||||
self.calendarWidget.setMessages([data])
|
||||
self.calendarWidget.updateCells()
|
||||
@@ -1366,6 +1395,8 @@ class Ui(Ui_Semesterapparat):
|
||||
self.calendarWidget.updateCells()
|
||||
|
||||
def open_reminder(self):
|
||||
if settings.mail.use_user_name == False:
|
||||
print("False")
|
||||
selected_date = self.calendarWidget.selectedDate().toString("yyyy-MM-dd")
|
||||
# # print(selected_date)
|
||||
messages = self.db.getMessages(selected_date)
|
||||
@@ -1685,7 +1716,7 @@ class Ui(Ui_Semesterapparat):
|
||||
# print(state)
|
||||
pid = self.__get_table_data_field(self.tableWidget_apparate, position[0], 2)
|
||||
if state == 1:
|
||||
self.db.deleteApparat(selected_apparat_id, generateSemesterByDate())
|
||||
self.db.deleteApparat(selected_apparat_id)
|
||||
# delete the corresponding entry from self.apparats
|
||||
for apparat in self.apparats:
|
||||
if apparat[4] == int(selected_apparat_id):
|
||||
|
||||
@@ -7,11 +7,16 @@ class UserCreate(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
super(UserCreate, self).__init__()
|
||||
self.setupUi(self)
|
||||
|
||||
self.user_frame_addUser.clicked.connect(self.add_user)
|
||||
|
||||
#Variables
|
||||
self.user_frame_addUser.clicked.connect(self.add_user)
|
||||
self.db = Database()
|
||||
self.roles = self.db.getRoles()
|
||||
|
||||
self.user_frame_userrole.addItems(self.roles)
|
||||
self.user_frame_userrole.addItem("")
|
||||
self.user_frame_userrole.setCurrentText("")
|
||||
|
||||
# Variables
|
||||
|
||||
def add_user(self):
|
||||
username = self.user_create_frame_username.text()
|
||||
@@ -26,9 +31,11 @@ class UserCreate(QtWidgets.QDialog, Ui_Dialog):
|
||||
salt=userdata[1],
|
||||
role=role,
|
||||
)
|
||||
if role not in self.roles:
|
||||
self.roles.append(role)
|
||||
self.user_frame_userrole.addItem(role)
|
||||
self.user_create_frame_username.clear()
|
||||
self.user_create_frame_password.clear()
|
||||
self.user_frame_userrole.setCurrentText("")
|
||||
self.admin_action_changed.emit()
|
||||
|
||||
def launch():
|
||||
|
||||
@@ -3,7 +3,7 @@ from PyQt6 import QtWidgets, QtCore
|
||||
from PyQt6.QtCore import pyqtSignal
|
||||
from icecream import ic
|
||||
from src.backend import Database
|
||||
|
||||
from src.logic import Prof
|
||||
class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
super(EditProf, self).__init__()
|
||||
@@ -19,7 +19,21 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
def gather_data(self):
|
||||
self.add_faculty_member_data()
|
||||
|
||||
apparats = self.db.getApparatsByProf(
|
||||
self.db.getProfId(
|
||||
Prof(fullname=self.edit_faculty_member_select_member.currentText())
|
||||
)
|
||||
)
|
||||
if len(apparats) == 0:
|
||||
self.delete_faculty_member.setEnabled(True)
|
||||
for apparat in apparats:
|
||||
if apparat.deleted == 0:
|
||||
self.delete_faculty_member.setEnabled(False)
|
||||
self.delete_faculty_member.setToolTip(
|
||||
"Professoren mit Apparaten können nicht gelöscht werden"
|
||||
)
|
||||
break
|
||||
|
||||
def add_faculty_member_data(self):
|
||||
faculty_members = self.db.getFacultyMembers()
|
||||
names = [f"{member[5]}" for member in faculty_members]
|
||||
@@ -43,22 +57,19 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.faculty_member_oldmail.setText("")
|
||||
self.edit_faculty_member_title.setText("")
|
||||
else:
|
||||
# title = data[1]
|
||||
# if title is None:
|
||||
# title = ""
|
||||
# self.edit_faculty_member_title.setText(title)
|
||||
self.faculty_member_old_telnr.setText(data[6])
|
||||
self.faculty_member_oldmail.setText(data[5])
|
||||
self.faculty_member_old_telnr.setText(data.telnr)
|
||||
self.faculty_member_oldmail.setText(data.mail)
|
||||
ic(data)
|
||||
(
|
||||
self.edit_faculty_member_title.setText(data[1])
|
||||
if data[1] is not None
|
||||
self.edit_faculty_member_title.setText(data.title)
|
||||
if data.title is not None
|
||||
else self.edit_faculty_member_title.setText("")
|
||||
)
|
||||
|
||||
def edit_faculty_member_action(self):
|
||||
def __gen_fullname(fname, lname, data):
|
||||
if fname == "" and lname == "":
|
||||
return data[3]
|
||||
return data[0]
|
||||
if fname == "" and lname != "":
|
||||
return f"{lname} {data[1]}"
|
||||
if fname != "" and lname == "":
|
||||
@@ -69,13 +80,13 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
# get the data and use new value if it is not none and does not mach the old value
|
||||
if self.edit_faculty_member_select_member.currentText() == "":
|
||||
return
|
||||
olddata = self.db.getFacultyMember(
|
||||
olddata = self.db.getProfByName(
|
||||
self.edit_faculty_member_select_member.currentText()
|
||||
)
|
||||
ic(olddata)
|
||||
data = olddata
|
||||
oldlname = data[2]
|
||||
oldfname = data[1]
|
||||
oldlname = data.lastname
|
||||
oldfname = data.firstname
|
||||
# take data except first and last entry
|
||||
|
||||
titel = (
|
||||
@@ -86,16 +97,12 @@ class EditProf(QtWidgets.QDialog, Ui_Dialog):
|
||||
fname = (
|
||||
self.edit_faculty_member_new_surname.text()
|
||||
if self.edit_faculty_member_new_surname.text() != ""
|
||||
else self.edit_faculty_member_select_member.currentText()
|
||||
.split(" ")[1]
|
||||
.strip()
|
||||
else self.edit_faculty_member_select_member.currentText().strip()
|
||||
)
|
||||
lname = (
|
||||
self.user_faculty_member_new_name.text()
|
||||
if self.user_faculty_member_new_name.text() != ""
|
||||
else self.edit_faculty_member_select_member.currentText()
|
||||
.split(" ")[0]
|
||||
.strip()
|
||||
else self.edit_faculty_member_select_member.currentText().strip()
|
||||
)
|
||||
fullname = __gen_fullname(fname, lname, data)
|
||||
telnr = self.user_faculty_member_new_telnr.text()
|
||||
|
||||
@@ -4,16 +4,32 @@ from PyQt6.QtCore import pyqtSignal
|
||||
from icecream import ic
|
||||
from src.backend import Database
|
||||
from src.backend import AdminCommands
|
||||
admin = AdminCommands()
|
||||
class EditUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
super(EditUser, self).__init__()
|
||||
self.setupUi(self)
|
||||
self.btn_delete_user.clicked.connect(self.delete_user)
|
||||
self.update_user.clicked.connect(self.update_user_data)
|
||||
|
||||
self.user_delete_frame_user_select.currentIndexChanged.connect(self.updateData)
|
||||
#Variables
|
||||
self.db = Database()
|
||||
|
||||
self.users = self.db.getUsers()
|
||||
for user in self.users:
|
||||
self.user_delete_frame_user_select.addItem(user[2])
|
||||
self.user_edit_frame_role_select.addItem(user[5])
|
||||
|
||||
def updateData(self):
|
||||
role = self.users[self.user_delete_frame_user_select.currentIndex()][5]
|
||||
self.user_edit_frame_role_select.setCurrentText(role)
|
||||
if role == "admin":
|
||||
self.user_edit_frame_role_select.setEnabled(False)
|
||||
self.btn_delete_user.setEnabled(False)
|
||||
self.btn_delete_user.setToolTip("Admins cannot be deleted")
|
||||
else:
|
||||
self.user_edit_frame_role_select.setEnabled(True)
|
||||
self.btn_delete_user.setEnabled(True)
|
||||
|
||||
def update_user_data(self):
|
||||
username = self.user_delete_frame_user_select.currentText()
|
||||
password = (
|
||||
@@ -27,7 +43,7 @@ class EditUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
else None
|
||||
)
|
||||
|
||||
userdata = AdminCommands().create_password(password)
|
||||
userdata = admin.create_password(password)
|
||||
data = {
|
||||
"password": f"{userdata[1]}{userdata[0]}",
|
||||
"salt": userdata[1],
|
||||
|
||||
@@ -30,7 +30,7 @@ class StatusWidget(QWidget):
|
||||
while parent:
|
||||
parent_depth += 1
|
||||
parent = parent.parent()
|
||||
print(parent_depth)
|
||||
# print(parent_depth)
|
||||
# Emit the person_double_clicked signal with the name of the person and the parent depth
|
||||
self.person_double_clicked.emit(self.header, item.text(column), parent_depth)
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ from PyQt6.QtCore import QDate
|
||||
from src import Icon
|
||||
from src.backend import recreateElsaFile, generateSemesterByDate, Database
|
||||
from src.logic import elsa_word_to_csv, MyLogger, Prof
|
||||
from src.logic.log import log
|
||||
from src.ui import popus_confirm
|
||||
from src.ui.dialogs import ElsaAddEntry
|
||||
from src.ui.widgets import FilePicker
|
||||
@@ -69,6 +70,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.newProf_title.textChanged.connect(self.checkProfData)
|
||||
|
||||
self.loadFrame()
|
||||
log.info("Elsa Dialog loaded")
|
||||
# self.show()
|
||||
|
||||
def checkProfData(self):
|
||||
@@ -118,32 +120,26 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
selected_row = self.table_elsa_list.currentRow()
|
||||
signature = self.table_elsa_list.item(selected_row, 10).text()
|
||||
mediatype = self.table_elsa_list.item(selected_row, 11).text()
|
||||
pages = self.table_elsa_list.item(selected_row, 7).text().strip()
|
||||
data.searchIdent.setText(signature)
|
||||
if mediatype == "Zeitschriftenaufsätze":
|
||||
data.btn_zs.click()
|
||||
elif mediatype == "Herausgeberwerke":
|
||||
data.btn_hg.click()
|
||||
elif mediatype == "Monografien":
|
||||
data.btn_mono.click()
|
||||
|
||||
data.search()
|
||||
match mediatype:
|
||||
case "Monografien":
|
||||
data.btn_mono.click()
|
||||
case "Herausgeberwerke":
|
||||
data.btn_hg.click()
|
||||
case "Zeitschriftenaufsätze":
|
||||
data.btn_zs.click()
|
||||
if ";" in pages:
|
||||
data.search()
|
||||
else:
|
||||
data.search(pages=pages)
|
||||
data.exec()
|
||||
|
||||
def add_new_elsa(self):
|
||||
self.create_frame_elsa.setEnabled(True)
|
||||
self.elsa_cancel_create.setEnabled(True)
|
||||
self.dokument_list_elsa.setRowCount(0)
|
||||
profs = self.db.getProfs()
|
||||
profs = [f"{prof.lastname}, {prof.firstname}" for prof in profs]
|
||||
elsa_profs = self.db.getElsaProfs()
|
||||
profs.extend(elsa_profs)
|
||||
profs = list(set(profs))
|
||||
profs.sort()
|
||||
for prof in profs:
|
||||
self.elsa_prof.addItem(prof)
|
||||
self.elsa_prof.setCurrentText("")
|
||||
self.elsa_date.setText("")
|
||||
self.elsa_semester.setText("")
|
||||
|
||||
self.elsa_save.setEnabled(True)
|
||||
self.elsa_update.setEnabled(False)
|
||||
self.elsa_prof.setFocus()
|
||||
@@ -159,6 +155,8 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.quote_entry.setEnabled(False)
|
||||
self.elsa_save.setEnabled(False)
|
||||
self.elsa_update.setEnabled(False)
|
||||
self.seperateEntries.setChecked(False)
|
||||
|
||||
def generateTodayDateElsa(self):
|
||||
self.elsa_date.setText(QDate.currentDate().toString("dd.MM.yyyy"))
|
||||
|
||||
@@ -230,13 +228,12 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
files,
|
||||
elsa_id,
|
||||
)
|
||||
log.info("Stored {} files in the database", len(files))
|
||||
self.cancel_elsa_creation()
|
||||
self.refresh_elsa_table()
|
||||
self.elsa_prof.clear()
|
||||
self.elsa_prof.addItems(self.getProfs())
|
||||
self.elsa_prof.addItem("")
|
||||
self.elsa_prof.setCurrentText("")
|
||||
self.quote_entry.setEnabled(False)
|
||||
log.info("Saved apparat to database, id {}", elsa_id)
|
||||
|
||||
def refresh_elsa_table(self):
|
||||
self.elsa_table.setRowCount(0)
|
||||
@@ -272,7 +269,12 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
elsa_apparats = self.db.getElsaApparats()
|
||||
elsa_id = None
|
||||
for apparat in elsa_apparats:
|
||||
if apparat[1] == date and apparat[2] == semester and apparat[3] == prof:
|
||||
print(apparat)
|
||||
if (
|
||||
apparat[1] == date
|
||||
and apparat[2] == semester
|
||||
and apparat[3] == self.db.getProfId({"profname": prof})
|
||||
):
|
||||
elsa_id = apparat[0]
|
||||
# print(elsa_id)
|
||||
break
|
||||
@@ -281,7 +283,6 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.elsa_prof.setCurrentText(prof)
|
||||
ic(elsa_id)
|
||||
if elsa_id is None:
|
||||
log.
|
||||
return
|
||||
documents = self.db.getElsaFiles(elsa_id)
|
||||
for document in documents:
|
||||
@@ -397,24 +398,31 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
filename=filename, filetype=filetype, open=False
|
||||
)
|
||||
# print(file)
|
||||
data, doctype = elsa_word_to_csv(file)
|
||||
data, _ = elsa_word_to_csv(file)
|
||||
elsa_id = self.db.getElsaId(
|
||||
self.db.getProfId(Prof(fullname=self.elsa_prof.currentText())),
|
||||
self.elsa_semester.text(),
|
||||
self.elsa_date.text(),
|
||||
)
|
||||
ic(
|
||||
elsa_id,
|
||||
self.elsa_prof.currentText(),
|
||||
self.elsa_semester.text(),
|
||||
self.elsa_date.text(),
|
||||
)
|
||||
for row in data:
|
||||
if ";" in row["pages"]:
|
||||
count = row["pages"].split(";")
|
||||
for i in range(len(count)):
|
||||
row["pages"] = count[i]
|
||||
self.setElsaRow(
|
||||
row,
|
||||
)
|
||||
if self.seperateEntries.isChecked():
|
||||
if ";" in row["pages"]:
|
||||
count = row["pages"].split(";")
|
||||
for i in range(len(count)):
|
||||
row["pages"] = count[i]
|
||||
self.setElsaRow(
|
||||
row,
|
||||
)
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
else:
|
||||
self.setElsaRow(row)
|
||||
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
self.db.addElsaMedia(row, elsa_id)
|
||||
self.quote_entry.setEnabled(True)
|
||||
|
||||
def openDocumentElsa(self):
|
||||
@@ -471,6 +479,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.elsa_statistics.addTab(graph, "Graph")
|
||||
|
||||
def launch():
|
||||
log.debug("Launching Elsa Dialog")
|
||||
app = QtWidgets.QApplication([])
|
||||
window = ElsaDialog()
|
||||
window.show()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from .widget_sources.Ui_search_statistic_page import Ui_Dialog
|
||||
from PyQt6 import QtWidgets, QtGui
|
||||
from PyQt6 import QtWidgets, QtGui, QtCore
|
||||
from PyQt6.QtCore import pyqtSignal
|
||||
from src.backend import Database, generateSemesterByDate
|
||||
from src.logic import custom_sort, Prof
|
||||
@@ -55,13 +55,25 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.populate_tab()
|
||||
|
||||
def restore_apparat(self):
|
||||
row = self.tableWidget.currentRow()
|
||||
apparat = self.tableWidget.item(row, 1).text()
|
||||
ic(apparat)
|
||||
apparat_id = self.db.getApparatId(apparat)
|
||||
# restore the apparat
|
||||
self.db.restoreApparat(apparat_id)
|
||||
# update the table
|
||||
selected_rows = self.tableWidget.selectionModel().selectedRows()
|
||||
apparats = []
|
||||
if len(selected_rows) == 0:
|
||||
# get position of right click
|
||||
row = self.tableWidget.currentRow()
|
||||
apparats.append(self.tableWidget.item(row, 1).text())
|
||||
else:
|
||||
for row in selected_rows:
|
||||
apparats.append(self.tableWidget.item(row.row(), 1).text())
|
||||
for apparat in apparats:
|
||||
apparat_id = self.db.getApparatId(apparat)
|
||||
self.db.restoreApparat(apparat_id)
|
||||
# remove the red color from the row
|
||||
# get row where the apparat is
|
||||
row = self.tableWidget.findItems(apparat, QtCore.Qt.MatchFlag.MatchExactly)[
|
||||
0
|
||||
].row()
|
||||
for j in range(5):
|
||||
self.tableWidget.item(row, j).setBackground(QtGui.QColor(255, 255, 255))
|
||||
self.reloadSignal.emit()
|
||||
|
||||
def statistics_table_context_menu(self, position):
|
||||
@@ -140,7 +152,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
||||
app_id = i["app_id"]
|
||||
app_name = i["app_name"]
|
||||
prof_name = i["prof_name"]
|
||||
prof_mail = self.db.getProfData(prof_name)[0]
|
||||
prof_mail = self.db.getProfData(prof_name).mail
|
||||
self.mail_thread = Mail_Dialog(
|
||||
app_id=app_id,
|
||||
app_name=app_name,
|
||||
|
||||
@@ -31,6 +31,7 @@ class Ui_Dialog(object):
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.edit_faculty_member_title.sizePolicy().hasHeightForWidth())
|
||||
self.edit_faculty_member_title.setSizePolicy(sizePolicy)
|
||||
self.edit_faculty_member_title.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.edit_faculty_member_title.setReadOnly(True)
|
||||
self.edit_faculty_member_title.setObjectName("edit_faculty_member_title")
|
||||
self.gridLayout_2.addWidget(self.edit_faculty_member_title, 0, 0, 1, 1)
|
||||
@@ -122,6 +123,14 @@ class Ui_Dialog(object):
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_select_member, self.faculty_member_old_telnr)
|
||||
Dialog.setTabOrder(self.faculty_member_old_telnr, self.faculty_member_oldmail)
|
||||
Dialog.setTabOrder(self.faculty_member_oldmail, self.edit_faculty_member_new_title)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_new_title, self.edit_faculty_member_new_surname)
|
||||
Dialog.setTabOrder(self.edit_faculty_member_new_surname, self.user_faculty_member_new_name)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_name, self.user_faculty_member_new_telnr)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_telnr, self.user_faculty_member_new_mail)
|
||||
Dialog.setTabOrder(self.user_faculty_member_new_mail, self.edit_faculty_member_title)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
|
||||
@@ -32,7 +32,9 @@ class Ui_Dialog(object):
|
||||
self.verticalLayout_2.addItem(spacerItem1)
|
||||
self.horizontalLayout.addLayout(self.verticalLayout_2)
|
||||
self.elsa_table = QtWidgets.QTableWidget(parent=Dialog)
|
||||
self.elsa_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.elsa_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.elsa_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.elsa_table.setObjectName("elsa_table")
|
||||
self.elsa_table.setColumnCount(3)
|
||||
self.elsa_table.setRowCount(0)
|
||||
@@ -97,10 +99,58 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_4.addWidget(self.elsa_update)
|
||||
self.gridLayout_2.addLayout(self.horizontalLayout_4, 4, 1, 1, 1)
|
||||
self.horizontalLayout_2.addLayout(self.gridLayout_2)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem3)
|
||||
self.newProf = QtWidgets.QFrame(parent=self.create_frame_elsa)
|
||||
self.newProf.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.newProf.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.newProf.setObjectName("newProf")
|
||||
self.formLayout_2 = QtWidgets.QFormLayout(self.newProf)
|
||||
self.formLayout_2.setObjectName("formLayout_2")
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_5)
|
||||
self.label_6 = QtWidgets.QLabel(parent=self.newProf)
|
||||
self.label_6.setObjectName("label_6")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_6)
|
||||
self.newProf_title = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_title.setObjectName("newProf_title")
|
||||
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_title)
|
||||
self.newProf_mail = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_mail.setObjectName("newProf_mail")
|
||||
self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_mail)
|
||||
self.newProf_telnr = QtWidgets.QLineEdit(parent=self.newProf)
|
||||
self.newProf_telnr.setObjectName("newProf_telnr")
|
||||
self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.newProf_telnr)
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.newProf)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
|
||||
self.label_7.setSizePolicy(sizePolicy)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.label_7)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.formLayout_2.setItem(4, QtWidgets.QFormLayout.ItemRole.FieldRole, spacerItem3)
|
||||
self.prof_icon = QtWidgets.QToolButton(parent=self.newProf)
|
||||
self.prof_icon.setText("")
|
||||
self.prof_icon.setIconSize(QtCore.QSize(24, 24))
|
||||
self.prof_icon.setAutoRaise(True)
|
||||
self.prof_icon.setObjectName("prof_icon")
|
||||
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.prof_icon)
|
||||
self.horizontalLayout_2.addWidget(self.newProf)
|
||||
self.dokument_list_elsa = QtWidgets.QTableWidget(parent=self.create_frame_elsa)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.dokument_list_elsa.sizePolicy().hasHeightForWidth())
|
||||
self.dokument_list_elsa.setSizePolicy(sizePolicy)
|
||||
self.dokument_list_elsa.setMinimumSize(QtCore.QSize(350, 0))
|
||||
self.dokument_list_elsa.setBaseSize(QtCore.QSize(350, 0))
|
||||
self.dokument_list_elsa.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.dokument_list_elsa.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.dokument_list_elsa.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.NoDragDrop)
|
||||
self.dokument_list_elsa.setObjectName("dokument_list_elsa")
|
||||
self.dokument_list_elsa.setColumnCount(4)
|
||||
self.dokument_list_elsa.setRowCount(0)
|
||||
@@ -128,6 +178,9 @@ class Ui_Dialog(object):
|
||||
self.check_file_elsa = QtWidgets.QPushButton(parent=self.create_frame_elsa)
|
||||
self.check_file_elsa.setObjectName("check_file_elsa")
|
||||
self.verticalLayout_3.addWidget(self.check_file_elsa)
|
||||
self.seperateEntries = QtWidgets.QCheckBox(parent=self.create_frame_elsa)
|
||||
self.seperateEntries.setObjectName("seperateEntries")
|
||||
self.verticalLayout_3.addWidget(self.seperateEntries)
|
||||
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||
self.verticalLayout_3.addItem(spacerItem4)
|
||||
self.horizontalLayout_2.addLayout(self.verticalLayout_3)
|
||||
@@ -143,12 +196,17 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
|
||||
self.table_elsa_list = QtWidgets.QTableWidget(parent=Dialog)
|
||||
self.table_elsa_list.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.table_elsa_list.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.table_elsa_list.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectItems)
|
||||
self.table_elsa_list.setObjectName("table_elsa_list")
|
||||
self.table_elsa_list.setColumnCount(12)
|
||||
self.table_elsa_list.setRowCount(0)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter)
|
||||
self.table_elsa_list.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignVCenter)
|
||||
self.table_elsa_list.setHorizontalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.table_elsa_list.setHorizontalHeaderItem(2, item)
|
||||
@@ -180,7 +238,9 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.tab)
|
||||
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
|
||||
self.elsa_statistics_table = QtWidgets.QTableWidget(parent=self.tab)
|
||||
self.elsa_statistics_table.setFocusPolicy(QtCore.Qt.FocusPolicy.NoFocus)
|
||||
self.elsa_statistics_table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
|
||||
self.elsa_statistics_table.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||
self.elsa_statistics_table.setTextElideMode(QtCore.Qt.TextElideMode.ElideMiddle)
|
||||
self.elsa_statistics_table.setObjectName("elsa_statistics_table")
|
||||
self.elsa_statistics_table.setColumnCount(2)
|
||||
@@ -196,12 +256,33 @@ class Ui_Dialog(object):
|
||||
self.horizontalLayout_5.setStretch(0, 7)
|
||||
self.horizontalLayout_5.setStretch(1, 3)
|
||||
self.verticalLayout.addLayout(self.horizontalLayout_5)
|
||||
self.verticalLayout.setStretch(1, 1)
|
||||
self.verticalLayout.setStretch(0, 1)
|
||||
self.verticalLayout.setStretch(3, 2)
|
||||
|
||||
self.retranslateUi(Dialog)
|
||||
self.elsa_statistics.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
Dialog.setTabOrder(self.elsa_add_new, self.elsa_cancel_create)
|
||||
Dialog.setTabOrder(self.elsa_cancel_create, self.elsa_prof)
|
||||
Dialog.setTabOrder(self.elsa_prof, self.newProf_title)
|
||||
Dialog.setTabOrder(self.newProf_title, self.newProf_mail)
|
||||
Dialog.setTabOrder(self.newProf_mail, self.newProf_telnr)
|
||||
Dialog.setTabOrder(self.newProf_telnr, self.elsa_date)
|
||||
Dialog.setTabOrder(self.elsa_date, self.elsa_date_today)
|
||||
Dialog.setTabOrder(self.elsa_date_today, self.elsa_semester)
|
||||
Dialog.setTabOrder(self.elsa_semester, self.active_semester)
|
||||
Dialog.setTabOrder(self.active_semester, self.btn_add_document_elsa)
|
||||
Dialog.setTabOrder(self.btn_add_document_elsa, self.btn_open_document_elsa)
|
||||
Dialog.setTabOrder(self.btn_open_document_elsa, self.seperateEntries)
|
||||
Dialog.setTabOrder(self.seperateEntries, self.check_file_elsa)
|
||||
Dialog.setTabOrder(self.check_file_elsa, self.elsa_save)
|
||||
Dialog.setTabOrder(self.elsa_save, self.elsa_update)
|
||||
Dialog.setTabOrder(self.elsa_update, self.quote_entry)
|
||||
Dialog.setTabOrder(self.quote_entry, self.elsa_statistics)
|
||||
Dialog.setTabOrder(self.elsa_statistics, self.table_elsa_list)
|
||||
Dialog.setTabOrder(self.table_elsa_list, self.elsa_table)
|
||||
Dialog.setTabOrder(self.elsa_table, self.elsa_statistics_table)
|
||||
Dialog.setTabOrder(self.elsa_statistics_table, self.dokument_list_elsa)
|
||||
|
||||
def retranslateUi(self, Dialog):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
@@ -215,11 +296,15 @@ class Ui_Dialog(object):
|
||||
item = self.elsa_table.horizontalHeaderItem(2)
|
||||
item.setText(_translate("Dialog", "Semester"))
|
||||
self.create_frame_elsa.setTitle(_translate("Dialog", "Auftragsdaten"))
|
||||
self.label.setText(_translate("Dialog", "Professor"))
|
||||
self.label.setText(_translate("Dialog", "Prof."))
|
||||
self.label_3.setText(_translate("Dialog", "Semester"))
|
||||
self.label_2.setText(_translate("Dialog", "Auftragsdatum"))
|
||||
self.elsa_save.setText(_translate("Dialog", "Speichern"))
|
||||
self.elsa_update.setText(_translate("Dialog", "Aktualisieren"))
|
||||
self.label_4.setText(_translate("Dialog", "Titel"))
|
||||
self.label_5.setText(_translate("Dialog", "Mail"))
|
||||
self.label_6.setText(_translate("Dialog", "TelNr"))
|
||||
self.label_7.setText(_translate("Dialog", "Kontaktdaten eingeben:"))
|
||||
item = self.dokument_list_elsa.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "Dokumentname"))
|
||||
item = self.dokument_list_elsa.horizontalHeaderItem(1)
|
||||
@@ -232,6 +317,7 @@ class Ui_Dialog(object):
|
||||
self.btn_open_document_elsa.setText(_translate("Dialog", "Dokument öffnen"))
|
||||
self.check_file_elsa.setText(_translate("Dialog", "Medien aus Dokument\n"
|
||||
"hinzufügen"))
|
||||
self.seperateEntries.setText(_translate("Dialog", "Abschnitte trennen"))
|
||||
self.quote_entry.setText(_translate("Dialog", " Eintrag zitieren "))
|
||||
item = self.table_elsa_list.horizontalHeaderItem(0)
|
||||
item.setText(_translate("Dialog", "Autor(en) des Werks"))
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -206,6 +209,17 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>edit_faculty_member_select_member</tabstop>
|
||||
<tabstop>faculty_member_old_telnr</tabstop>
|
||||
<tabstop>faculty_member_oldmail</tabstop>
|
||||
<tabstop>edit_faculty_member_new_title</tabstop>
|
||||
<tabstop>edit_faculty_member_new_surname</tabstop>
|
||||
<tabstop>user_faculty_member_new_name</tabstop>
|
||||
<tabstop>user_faculty_member_new_telnr</tabstop>
|
||||
<tabstop>user_faculty_member_new_mail</tabstop>
|
||||
<tabstop>edit_faculty_member_title</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,0,0,2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
@@ -65,9 +65,15 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="elsa_table">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||
<number>374</number>
|
||||
</attribute>
|
||||
@@ -104,7 +110,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Professor</string>
|
||||
<string>Prof.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -201,23 +207,118 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<widget class="QFrame" name="newProf">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
</spacer>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Titel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Mail</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>TelNr</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="newProf_title"/>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="newProf_mail"/>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="newProf_telnr"/>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Kontaktdaten eingeben:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QToolButton" name="prof_icon">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoRaise">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="dokument_list_elsa">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::NoDragDrop</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>43</number>
|
||||
</attribute>
|
||||
@@ -276,6 +377,13 @@ hinzufügen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="seperateEntries">
|
||||
<property name="text">
|
||||
<string>Abschnitte trennen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
@@ -322,6 +430,15 @@ hinzufügen</string>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5" stretch="7,3">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="table_elsa_list">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectItems</enum>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>31</number>
|
||||
</attribute>
|
||||
@@ -332,11 +449,17 @@ hinzufügen</string>
|
||||
<property name="text">
|
||||
<string>Autor(en) des Werks</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignLeading|AlignVCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Autor(en) des Beitrags</string>
|
||||
</property>
|
||||
<property name="textAlignment">
|
||||
<set>AlignLeading|AlignVCenter</set>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
@@ -402,9 +525,15 @@ hinzufügen</string>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="elsa_statistics_table">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideMiddle</enum>
|
||||
</property>
|
||||
@@ -431,6 +560,30 @@ hinzufügen</string>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>elsa_add_new</tabstop>
|
||||
<tabstop>elsa_cancel_create</tabstop>
|
||||
<tabstop>elsa_prof</tabstop>
|
||||
<tabstop>newProf_title</tabstop>
|
||||
<tabstop>newProf_mail</tabstop>
|
||||
<tabstop>newProf_telnr</tabstop>
|
||||
<tabstop>elsa_date</tabstop>
|
||||
<tabstop>elsa_date_today</tabstop>
|
||||
<tabstop>elsa_semester</tabstop>
|
||||
<tabstop>active_semester</tabstop>
|
||||
<tabstop>btn_add_document_elsa</tabstop>
|
||||
<tabstop>btn_open_document_elsa</tabstop>
|
||||
<tabstop>seperateEntries</tabstop>
|
||||
<tabstop>check_file_elsa</tabstop>
|
||||
<tabstop>elsa_save</tabstop>
|
||||
<tabstop>elsa_update</tabstop>
|
||||
<tabstop>quote_entry</tabstop>
|
||||
<tabstop>elsa_statistics</tabstop>
|
||||
<tabstop>table_elsa_list</tabstop>
|
||||
<tabstop>elsa_table</tabstop>
|
||||
<tabstop>elsa_statistics_table</tabstop>
|
||||
<tabstop>dokument_list_elsa</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Reference in New Issue
Block a user