diff --git a/config/config.py b/config/config.py index dbecbf7..a3c62bb 100644 --- a/config/config.py +++ b/config/config.py @@ -54,6 +54,30 @@ class Config: if self._config is None: raise RuntimeError("Configuration not loaded") self._config.catalogue = value + + @property + def shortcuts(self)->omegaconf.DictConfig: + if self._config is None: + raise RuntimeError("Configuration not loaded") + return self._config.shortcuts + @shortcuts.setter + def shortcuts(self, value: omegaconf.DictConfig): + if self._config is None: + raise RuntimeError("Configuration not loaded") + self._config.shortcuts = value + + @property + def advanced_refresh(self)->omegaconf.DictConfig: + if self._config is None: + raise RuntimeError("Configuration not loaded") + return self._config.advanced_refresh + + @advanced_refresh.setter + def advanced_refresh(self, value: omegaconf.DictConfig): + if self._config is None: + raise RuntimeError("Configuration not loaded") + self._config.advanced_refresh = value + @property def database(self)->omegaconf.DictConfig: if self._config is None: diff --git a/src/ui/settings.py b/src/ui/settings.py index 9590287..c3b77a6 100644 --- a/src/ui/settings.py +++ b/src/ui/settings.py @@ -6,26 +6,23 @@ from omegaconf import OmegaConf import os + + + + + class Settings(QtWidgets.QDialog, Ui_Dialog): def __init__(self): super(Settings, self).__init__() self.setupUi(self) self.setWindowTitle("Einstellungen") self.setWindowIcon(Icon("settings").icon) + #variables self.originalSettings = config + self.shortcuts = config.shortcuts + self.settingschanged = False - # lineedits - self.institution_name.textChanged.connect(self.enableButtonBox) - self.default_loan_duration.textChanged.connect(self.enableButtonBox) - self.database_backupLocation.textChanged.connect(self.enableButtonBox) - self.database_path.textChanged.connect(self.enableButtonBox) - self.database_name.textChanged.connect(self.enableButtonBox) - self.database_name.textChanged.connect(self.enableButtonBox) - self.delete_inactive_user_duration.textChanged.connect(self.enableButtonBox) - self.report_path.textChanged.connect(self.enableButtonBox) - self.report_day.currentIndexChanged.connect(self.enableButtonBox) - self.check_generate_report.stateChanged.connect(self.enableButtonBox) - + self.populateShortcuts() # buttonbox self.buttonBox.accepted.connect(self.saveSettings) @@ -48,10 +45,42 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.btn_select_database_path.clicked.connect(self.selectDatabasePath) self.btn_select_database_name.clicked.connect(self.selectDatabaseName) self.btn_select_report_path.clicked.connect(self.selectReportPath) - #variables + self.returnMode.clicked.connect(self.returnModeSetting) + + + #other + #stretch columns + self.shortcutchanger.horizontalHeader().setSectionResizeMode(0, QtWidgets.QHeaderView.ResizeMode.Stretch) + def returnModeSetting(self): + currentstate = self.returnMode.isChecked() + if self.originalSettings.advanced_refresh != currentstate: + self.enableButtonBox() + + def populateShortcuts(self): + for shortcut in self.shortcuts: + name = shortcut["name"] + default = shortcut["default"] + current = shortcut["current"] + self.addShortcut(name, default, current) + #assume the shortcuts will be changed + self.settingschanged = True + self.enableButtonBox() + + def addShortcut(self, name, default, current): + #remove all pages from shortcutchanger + #add new page with name, default and current + + self.shortcutchanger.insertRow(0) + self.shortcutchanger.setItem(0, 0, QtWidgets.QTableWidgetItem(name)) + self.shortcutchanger.setItem(0, 1, QtWidgets.QTableWidgetItem(default)) + #add keysequenceedit + keysequenceedit = QtWidgets.QKeySequenceEdit() + keysequenceedit.setKeySequence(current) + self.shortcutchanger.setCellWidget(0, 2, keysequenceedit) + + + - self.settingschanged = False - def enableButtonBox(self): self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled( True @@ -73,7 +102,8 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled( True ) - + self.settingschanged = False + def selectReportPath(self): reportPath = QtWidgets.QFileDialog.getExistingDirectory( self, "Select Report Path", self.originalSettings.report.path @@ -85,6 +115,9 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled( True ) + self.settingschanged = False + + def selectDatabasePath(self): databasePath = QtWidgets.QFileDialog.getExistingDirectory( @@ -97,6 +130,8 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled( True ) + self.settingschanged = False + def selectDatabaseName(self): # filepicker with filter to select only .db files if a file is selected, set name to the lineedit and set database_path @@ -114,6 +149,22 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled( True ) + self.settingschanged = False + + def getShortcuts(self): + shortcuts = [] + for row in range(self.shortcutchanger.rowCount()): + name = self.shortcutchanger.item(row, 0).text() + default = self.shortcutchanger.item(row, 1).text() + current = self.shortcutchanger.cellWidget(row, 2).keySequence().toString() + shortcuts.append( + { + "name": name, + "default": default, + "current": current, + } + ) + return shortcuts def saveSettings(self): # save settings to config file @@ -126,6 +177,12 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): report_day = self.report_day.currentIndex() report_generate = self.check_generate_report.isChecked() report_path = self.report_path.text() + refresh_state = self.returnMode.isChecked() + shortcuts = self.getShortcuts() + #shortcuts to omegaconf.DictConfig + shortcuts = OmegaConf.create(shortcuts) + + if database_path != self.originalSettings.database.path : os.makedirs(database_path, exist_ok=True) self.restart() @@ -136,9 +193,11 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.originalSettings.database.path = database_path self.originalSettings.database.name = database_name self.originalSettings.delete_inactive_user_duration = delete_inactive_users - self.originalSettings.report.report_day = report_day + self.originalSettings.report.report_day = report_day -1 self.originalSettings.report.path = report_path self.originalSettings.report.generate_report = report_generate + self.originalSettings.advanced_refresh = refresh_state + self.originalSettings.shortcuts = shortcuts # save the new settings config.save() self.settingschanged = True @@ -176,6 +235,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog): self.report_day.setCurrentIndex(self.originalSettings.report.report_day -1) self.check_generate_report.setChecked(self.originalSettings.report.generate_report) self.report_path.setText(self.originalSettings.report.path) + self.returnMode.setChecked(self.originalSettings.advanced_refresh) pass diff --git a/src/ui/sources/Ui_dialog_settings.py b/src/ui/sources/Ui_dialog_settings.py index e57fe1a..ff5f87e 100644 --- a/src/ui/sources/Ui_dialog_settings.py +++ b/src/ui/sources/Ui_dialog_settings.py @@ -12,7 +12,7 @@ from PyQt6 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") - Dialog.resize(492, 306) + Dialog.resize(492, 445) self.formLayout = QtWidgets.QFormLayout(Dialog) self.formLayout.setObjectName("formLayout") self.label = QtWidgets.QLabel(parent=Dialog) @@ -21,6 +21,39 @@ class Ui_Dialog(object): self.institution_name = QtWidgets.QLineEdit(parent=Dialog) self.institution_name.setObjectName("institution_name") self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.institution_name) + self.label_2 = QtWidgets.QLabel(parent=Dialog) + self.label_2.setObjectName("label_2") + self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2) + self.horizontalLayout_2 = QtWidgets.QHBoxLayout() + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.default_loan_duration = QtWidgets.QSpinBox(parent=Dialog) + self.default_loan_duration.setProperty("value", 7) + self.default_loan_duration.setObjectName("default_loan_duration") + self.horizontalLayout_2.addWidget(self.default_loan_duration) + self.label_13 = QtWidgets.QLabel(parent=Dialog) + self.label_13.setMaximumSize(QtCore.QSize(43, 16777215)) + self.label_13.setObjectName("label_13") + self.horizontalLayout_2.addWidget(self.label_13) + self.formLayout.setLayout(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.horizontalLayout_2) + self.label_7 = QtWidgets.QLabel(parent=Dialog) + self.label_7.setObjectName("label_7") + self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_7) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.delete_inactive_user_duration = QtWidgets.QSpinBox(parent=Dialog) + self.delete_inactive_user_duration.setMaximum(9999) + self.delete_inactive_user_duration.setProperty("value", 365) + self.delete_inactive_user_duration.setObjectName("delete_inactive_user_duration") + self.horizontalLayout.addWidget(self.delete_inactive_user_duration) + self.label_12 = QtWidgets.QLabel(parent=Dialog) + self.label_12.setMaximumSize(QtCore.QSize(43, 16777215)) + self.label_12.setObjectName("label_12") + self.horizontalLayout.addWidget(self.label_12) + self.formLayout.setLayout(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.horizontalLayout) + self.returnMode = QtWidgets.QCheckBox(parent=Dialog) + self.returnMode.setTristate(False) + self.returnMode.setObjectName("returnMode") + self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.FieldRole, self.returnMode) self.label_3 = QtWidgets.QLabel(parent=Dialog) self.label_3.setObjectName("label_3") self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3) @@ -54,11 +87,6 @@ class Ui_Dialog(object): self.btn_select_database_backupLocation.setObjectName("btn_select_database_backupLocation") self.databasesettings.addWidget(self.btn_select_database_backupLocation, 2, 2, 1, 1) self.formLayout.setLayout(5, QtWidgets.QFormLayout.ItemRole.FieldRole, self.databasesettings) - 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.setObjectName("buttonBox") - self.formLayout.setWidget(7, QtWidgets.QFormLayout.ItemRole.FieldRole, self.buttonBox) self.label_9 = QtWidgets.QLabel(parent=Dialog) self.label_9.setObjectName("label_9") self.formLayout.setWidget(6, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_9) @@ -92,35 +120,31 @@ class Ui_Dialog(object): self.report_day.addItem("") self.gridLayout.addWidget(self.report_day, 0, 1, 1, 1) self.formLayout.setLayout(6, QtWidgets.QFormLayout.ItemRole.FieldRole, self.gridLayout) - self.horizontalLayout = QtWidgets.QHBoxLayout() - self.horizontalLayout.setObjectName("horizontalLayout") - self.delete_inactive_user_duration = QtWidgets.QSpinBox(parent=Dialog) - self.delete_inactive_user_duration.setMaximum(9999) - self.delete_inactive_user_duration.setProperty("value", 365) - self.delete_inactive_user_duration.setObjectName("delete_inactive_user_duration") - self.horizontalLayout.addWidget(self.delete_inactive_user_duration) - self.label_12 = QtWidgets.QLabel(parent=Dialog) - self.label_12.setMaximumSize(QtCore.QSize(43, 16777215)) - self.label_12.setObjectName("label_12") - self.horizontalLayout.addWidget(self.label_12) - self.formLayout.setLayout(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.horizontalLayout) - self.label_7 = QtWidgets.QLabel(parent=Dialog) - self.label_7.setObjectName("label_7") - self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_7) - self.horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.default_loan_duration = QtWidgets.QSpinBox(parent=Dialog) - self.default_loan_duration.setProperty("value", 7) - self.default_loan_duration.setObjectName("default_loan_duration") - self.horizontalLayout_2.addWidget(self.default_loan_duration) - self.label_13 = QtWidgets.QLabel(parent=Dialog) - self.label_13.setMaximumSize(QtCore.QSize(43, 16777215)) - self.label_13.setObjectName("label_13") - self.horizontalLayout_2.addWidget(self.label_13) - self.formLayout.setLayout(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.horizontalLayout_2) - self.label_2 = QtWidgets.QLabel(parent=Dialog) - self.label_2.setObjectName("label_2") - self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2) + self.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.setObjectName("buttonBox") + self.formLayout.setWidget(9, QtWidgets.QFormLayout.ItemRole.FieldRole, self.buttonBox) + self.shortcutchanger = QtWidgets.QTableWidget(parent=Dialog) + self.shortcutchanger.setObjectName("shortcutchanger") + self.shortcutchanger.setColumnCount(3) + self.shortcutchanger.setRowCount(0) + item = QtWidgets.QTableWidgetItem() + self.shortcutchanger.setHorizontalHeaderItem(0, item) + item = QtWidgets.QTableWidgetItem() + self.shortcutchanger.setHorizontalHeaderItem(1, item) + item = QtWidgets.QTableWidgetItem() + self.shortcutchanger.setHorizontalHeaderItem(2, item) + self.formLayout.setWidget(8, QtWidgets.QFormLayout.ItemRole.FieldRole, self.shortcutchanger) + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.label_14 = QtWidgets.QLabel(parent=Dialog) + self.label_14.setObjectName("label_14") + self.verticalLayout.addWidget(self.label_14) + self.label_15 = QtWidgets.QLabel(parent=Dialog) + self.label_15.setObjectName("label_15") + self.verticalLayout.addWidget(self.label_15) + self.formLayout.setLayout(8, QtWidgets.QFormLayout.ItemRole.LabelRole, self.verticalLayout) self.retranslateUi(Dialog) self.buttonBox.accepted.connect(Dialog.accept) # type: ignore @@ -137,6 +161,13 @@ class Ui_Dialog(object): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.label.setText(_translate("Dialog", "Name der Einrichtung")) + self.label_2.setText(_translate("Dialog", "Leihdauer")) + self.label_13.setText(_translate("Dialog", "Tage(n)")) + self.label_7.setText(_translate("Dialog", "Inaktive Nutzer\n" +"Löschen nach")) + self.label_12.setText(_translate("Dialog", "Tage(n)")) + self.returnMode.setToolTip(_translate("Dialog", "Wenn aktiv: Wenn ein Medium zurückgegeben wird, wird die nächste Aktion des Moduswechsels zum normalen Rückgabemodus führen")) + self.returnMode.setText(_translate("Dialog", "Erweiterter Rückgabemodus")) self.label_3.setText(_translate("Dialog", "Datenbank")) self.label_4.setText(_translate("Dialog", "Speicherort")) self.label_6.setText(_translate("Dialog", "Sicherungspfad")) @@ -154,8 +185,12 @@ class Ui_Dialog(object): self.report_day.setItemText(2, _translate("Dialog", "Mittwoch")) self.report_day.setItemText(3, _translate("Dialog", "Donnerstag")) self.report_day.setItemText(4, _translate("Dialog", "Freitag")) - self.label_12.setText(_translate("Dialog", "Tage(n)")) - self.label_7.setText(_translate("Dialog", "Inaktive Nutzer\n" -"Löschen nach")) - self.label_13.setText(_translate("Dialog", "Tage(n)")) - self.label_2.setText(_translate("Dialog", "Leihdauer")) + item = self.shortcutchanger.horizontalHeaderItem(0) + item.setText(_translate("Dialog", "Name")) + item = self.shortcutchanger.horizontalHeaderItem(1) + item.setText(_translate("Dialog", "Standard")) + item = self.shortcutchanger.horizontalHeaderItem(2) + item.setText(_translate("Dialog", "Aktuell")) + self.label_14.setText(_translate("Dialog", "Shortcuts")) + self.label_15.setText(_translate("Dialog", "(Erst nach Neustart\n" +"wirksam)")) diff --git a/src/ui/sources/Ui_dialog_settings.ui.py b/src/ui/sources/Ui_dialog_settings.ui.py index 4425410..42e0582 100644 --- a/src/ui/sources/Ui_dialog_settings.ui.py +++ b/src/ui/sources/Ui_dialog_settings.ui.py @@ -1,4 +1,4 @@ -# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\LibrarySystem\src\ui\sources\dialog_settings.ui.iRVFlN' +# Form implementation generated from reading ui file 'c:\Users\aky547\GitHub\LibrarySystem\src\ui\sources\dialog_settings.ui.vqAAbY' # # Created by: PyQt6 UI code generator 6.6.1 # diff --git a/src/ui/sources/Ui_main_UserInterface.py b/src/ui/sources/Ui_main_UserInterface.py index aeb26e0..c5577ac 100644 --- a/src/ui/sources/Ui_main_UserInterface.py +++ b/src/ui/sources/Ui_main_UserInterface.py @@ -51,20 +51,7 @@ class Ui_MainWindow(object): self.label_5.setFont(font) self.label_5.setObjectName("label_5") self.horizontalLayout.addWidget(self.label_5) - self.mode = QtWidgets.QLabel(parent=self.centralwidget) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.mode.sizePolicy().hasHeightForWidth()) - self.mode.setSizePolicy(sizePolicy) - self.mode.setMinimumSize(QtCore.QSize(62, 0)) - self.mode.setMaximumSize(QtCore.QSize(62, 16777215)) - self.mode.setBaseSize(QtCore.QSize(62, 0)) - self.mode.setAutoFillBackground(False) - self.mode.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) - self.mode.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - self.mode.setLineWidth(2) - self.mode.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter) + self.mode = QtWidgets.QPushButton(parent=self.centralwidget) self.mode.setObjectName("mode") self.horizontalLayout.addWidget(self.mode) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) @@ -167,19 +154,15 @@ class Ui_MainWindow(object): self.actionRueckgabemodus.setObjectName("actionRueckgabemodus") self.actionNutzer = QtGui.QAction(parent=MainWindow) self.actionNutzer.setObjectName("actionNutzer") - self.actionNutzer_2 = QtGui.QAction(parent=MainWindow) - self.actionNutzer_2.setObjectName("actionNutzer_2") - self.actionAusleihistorie = QtGui.QAction(parent=MainWindow) - self.actionAusleihistorie.setObjectName("actionAusleihistorie") + self.actionAusleihhistorie = QtGui.QAction(parent=MainWindow) + self.actionAusleihhistorie.setObjectName("actionAusleihhistorie") self.actionBericht_erstellen = QtGui.QAction(parent=MainWindow) self.actionBericht_erstellen.setObjectName("actionBericht_erstellen") - self.actionNutzer_3 = QtGui.QAction(parent=MainWindow) - self.actionNutzer_3.setObjectName("actionNutzer_3") self.menuDatei.addAction(self.actionEinstellungen) self.menuDatei.addAction(self.actionBeenden) self.menuHotkeys.addAction(self.actionRueckgabemodus) self.menuFenster.addAction(self.actionNutzer) - self.menuFenster.addAction(self.actionAusleihistorie) + self.menuFenster.addAction(self.actionAusleihhistorie) self.menuFenster.addAction(self.actionBericht_erstellen) self.menubar.addAction(self.menuDatei.menuAction()) self.menubar.addAction(self.menuHotkeys.menuAction()) @@ -221,9 +204,7 @@ class Ui_MainWindow(object): self.actionRueckgabemodus.setShortcut(_translate("MainWindow", "F5")) self.actionNutzer.setText(_translate("MainWindow", "Nutzer")) self.actionNutzer.setShortcut(_translate("MainWindow", "F6")) - self.actionNutzer_2.setText(_translate("MainWindow", "Nutzer")) - self.actionAusleihistorie.setText(_translate("MainWindow", "Ausleihhistorie")) - self.actionAusleihistorie.setShortcut(_translate("MainWindow", "F8")) + self.actionAusleihhistorie.setText(_translate("MainWindow", "Ausleihhistorie")) + self.actionAusleihhistorie.setShortcut(_translate("MainWindow", "F8")) self.actionBericht_erstellen.setText(_translate("MainWindow", "Bericht erstellen")) self.actionBericht_erstellen.setShortcut(_translate("MainWindow", "F7")) - self.actionNutzer_3.setText(_translate("MainWindow", "Nutzer")) diff --git a/src/ui/sources/dialog_settings.ui b/src/ui/sources/dialog_settings.ui index 70430d4..d94cce4 100644 --- a/src/ui/sources/dialog_settings.ui +++ b/src/ui/sources/dialog_settings.ui @@ -7,7 +7,7 @@ 0 0 492 - 306 + 445 @@ -24,6 +24,85 @@ + + + + Leihdauer + + + + + + + + + 7 + + + + + + + + 43 + 16777215 + + + + Tage(n) + + + + + + + + + Inaktive Nutzer +Löschen nach + + + + + + + + + 9999 + + + 365 + + + + + + + + 43 + 16777215 + + + + Tage(n) + + + + + + + + + Wenn aktiv: Wenn ein Medium zurückgegeben wird, wird die nächste Aktion des Moduswechsels zum normalen Rückgabemodus führen + + + Erweiterter Rückgabemodus + + + false + + + @@ -86,16 +165,6 @@ - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Ok - - - @@ -174,72 +243,54 @@ - - + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Ok + + + + + + + + Name + + + + + Standard + + + + + Aktuell + + + + + + - - - 9999 - - - 365 + + + Shortcuts - - - - 43 - 16777215 - - + - Tage(n) + (Erst nach Neustart +wirksam) - - - - Inaktive Nutzer -Löschen nach - - - - - - - - - 7 - - - - - - - - 43 - 16777215 - - - - Tage(n) - - - - - - - - - Leihdauer - - - diff --git a/src/ui/sources/main_UserInterface.ui b/src/ui/sources/main_UserInterface.ui index 7baf478..e7e7621 100644 --- a/src/ui/sources/main_UserInterface.ui +++ b/src/ui/sources/main_UserInterface.ui @@ -95,49 +95,10 @@ - - - - 0 - 0 - - - - - 62 - 0 - - - - - 62 - 16777215 - - - - - 62 - 0 - - - - false - - - QFrame::StyledPanel - - - QFrame::Sunken - - - 2 - + Rückgabe - - Qt::AlignCenter - @@ -314,7 +275,7 @@ Fenster - + @@ -353,7 +314,7 @@ Nutzer - + Ausleihhistorie