ui changes

This commit is contained in:
2024-12-04 15:37:19 +01:00
parent c5f5489211
commit c1c4257321
6 changed files with 112 additions and 30 deletions

View File

@@ -1366,23 +1366,6 @@ class Ui(Ui_Semesterapparat):
self.calendarWidget.updateCells()
def open_reminder(self):
# def __update_message():
# message_select = self.spin_select_message.value()
# try:
# message = messages[message_select - 1]
# except IndexError:
# self.message_frame.hide()
# return
# self.message_box.setText(message["message"])
# appnr = message["appnr"]
# appnr = "/" if appnr is None else str(appnr)
# self.line_app_info.setText(appnr)
def __delete_message(id):
# print("trying to delete message", id)
self.db.deleteMessage(id)
#
selected_date = self.calendarWidget.selectedDate().toString("yyyy-MM-dd")
# # print(selected_date)
messages = self.db.getMessages(selected_date)
@@ -1417,17 +1400,106 @@ class Ui(Ui_Semesterapparat):
def media_context_menu(self, position):
menu = QtWidgets.QMenu()
delete_action = menu.addAction("Löschen")
edit_action = menu.addAction("Bearbeiten")
apparat_add_action = menu.addAction("Zum Apparat hinzufügen")
menu.addAction(delete_action)
menu.addAction(edit_action)
menu.addAction(apparat_add_action)
delete_action = QtGui.QAction("Löschen")
edit_action = QtGui.QAction("Bearbeiten")
apparat_add_action = QtGui.QAction("Zum Apparat hinzufügen")
apparat_move_action = QtGui.QAction("In Apparat verschieben")
apparat_copy_action = QtGui.QAction("In Apparat kopieren")
apparatmenu = menu.addMenu("Apparate")
generalmenu = menu.addMenu("Allgemeines")
apparatmenu.addActions(
[apparat_add_action, apparat_copy_action, apparat_move_action]
)
generalmenu.addActions([edit_action, delete_action])
# disable apparat_add_action
apparat_add_action.setEnabled(False)
delete_action.triggered.connect(self.delete_medium)
edit_action.triggered.connect(self.edit_medium)
apparat_add_action.triggered.connect(self.add_to_apparat)
apparat_copy_action.triggered.connect(self.copy_to_apparat)
apparat_move_action.triggered.connect(self.move_to_apparat)
menu.exec(self.tableWidget_apparat_media.mapToGlobal(position))
def copy_to_apparat(self):
selected_rows = self.tableWidget_apparat_media.selectionModel().selectedRows()
signatures = []
for row in selected_rows:
signature = self.tableWidget_apparat_media.item(row.row(), 1).text()
book_id = self.db.getBookIdBasedOnSignature(
self.active_apparat,
self.db.getProfId(self.profdata),
signature,
)
signatures.append(book_id)
result, apparat = self.confirm_action_dialog(
"In welchen Apparat sollen die Medien kopiert werden?"
)
if result == 1:
for book_id in signatures:
self.db.copyBookToApparat(book_id, apparat)
else:
return
def move_to_apparat(self):
selected_rows = self.tableWidget_apparat_media.selectionModel().selectedRows()
signatures = []
for row in selected_rows:
signature = self.tableWidget_apparat_media.item(row.row(), 1).text()
book_id = self.db.getBookIdBasedOnSignature(
self.active_apparat,
self.db.getProfId(self.profdata),
signature,
)
signatures.append(book_id)
result, apparat = self.confirm_action_dialog(
"In welchen Apparat sollen die Medien verschoben werden?"
)
if result == 1:
for book_id in signatures:
self.db.moveBookToApparat(book_id, apparat)
self.update_app_media_list()
else:
return
def confirm_action_dialog(self, message, title="Bestätigung"):
appnrs = self.db.getUnavailableApparatNumbers()
appnrs = [str(i) for i in appnrs]
appnrs.remove(self.active_apparat)
if len(appnrs) == 0:
# create a warning dialog, saying no apparats present
self.confirm_popup("Keine weiteren Apparate vorhanden", title="Fehler")
return (None, None)
dialog = QtWidgets.QDialog()
dialog.setWindowTitle(title)
# add a label to the dialog
label = QtWidgets.QLabel()
label.setText(message)
# add a combobox to the dialog
drpdwn = QtWidgets.QComboBox()
drpdwn.addItems(appnrs)
drpdwn.addItem("")
# set layout of dialog
layout = QtWidgets.QVBoxLayout()
layout.addWidget(label)
layout.addWidget(drpdwn)
# add buttons
okay_button = QtWidgets.QPushButton("Okay")
cancel_button = QtWidgets.QPushButton("Abbrechen")
layout.addWidget(okay_button)
layout.addWidget(cancel_button)
okay_button.clicked.connect(dialog.accept)
cancel_button.clicked.connect(dialog.reject)
dialog.setLayout(layout)
return dialog.exec(), self.db.getApparatId(
self.db.getApparatNameByAppNr(drpdwn.currentText())
)
def add_to_apparat(self):
"""use playwright in background to add medium to apparat"""
signature = self.tableWidget_apparat_media.item(
@@ -1457,6 +1529,7 @@ class Ui(Ui_Semesterapparat):
widget = QtWidgets.QDialog()
bookedit = edit_bookdata_ui()
bookedit.setupUi(widget)
widget.setWindowIcon(Icon("settings").icon)
# change title of dialog
widget.setWindowTitle("Metadaten")
bookedit.populate_fields(data)