dev #21

Merged
WorldTeacher merged 46 commits from dev into main 2025-11-24 12:59:41 +00:00
2 changed files with 184 additions and 217 deletions
Showing only changes of commit 373257864f - Show all commits

View File

@@ -7,9 +7,10 @@ from PySide6.QtCore import Signal
from src import LOG_DIR from src import LOG_DIR
from src.backend import Database, Semester from src.backend import Database, Semester
from src.logic import Prof, custom_sort, sort_semesters_list from src.logic import BookData, Prof, custom_sort, sort_semesters_list
from src.ui.dialogs import ApparatExtendDialog, Mail_Dialog, ReminderDialog from src.ui.dialogs import ApparatExtendDialog, Mail_Dialog, ReminderDialog
from src.ui.widgets import DataQtGraph, StatusWidget from src.ui.widgets import DataQtGraph, StatusWidget
from src.ui.widgets.signature_update import UpdaterThread
from .widget_sources.search_statistic_page_ui import Ui_Dialog from .widget_sources.search_statistic_page_ui import Ui_Dialog
@@ -19,7 +20,6 @@ log.add(sys.stdout, level="INFO")
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days") log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
class MyComboBox(QtWidgets.QComboBox): class MyComboBox(QtWidgets.QComboBox):
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
@@ -30,6 +30,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
reloadSignal = Signal() reloadSignal = Signal()
refreshSignal = Signal() refreshSignal = Signal()
updateCalendar = Signal(int, list) updateCalendar = Signal(int, list)
status_update = Signal(int, int)
def __init__(self): def __init__(self):
log.info("SearchStatisticPage started") log.info("SearchStatisticPage started")
@@ -72,8 +73,54 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
self.semester = Semester().value self.semester = Semester().value
self.search_by_signature.returnPressed.connect(self.search_book) self.search_by_signature.returnPressed.connect(self.search_book)
self.search_by_title.returnPressed.connect(self.search_book) self.search_by_title.returnPressed.connect(self.search_book)
# add context menu to the book_search_result
self.book_search_result.setContextMenuPolicy(
QtCore.Qt.ContextMenuPolicy.CustomContextMenu
)
self.book_search_result.customContextMenuRequested.connect(
self.book_search_result_context_menu
)
self.populate_tab() self.populate_tab()
def book_search_result_context_menu(self, position):
menu = QtWidgets.QMenu()
open_apparat_action = menu.addAction("Semesterapparat öffnen")
open_apparat_action.triggered.connect(self.open_selected_apparat)
update_books_action = menu.addAction("Bücher aktualisieren")
update_books_action.triggered.connect(self.update_books)
menu.exec(self.book_search_result.mapToGlobal(position))
def open_selected_apparat(self):
selected_rows = self.book_search_result.selectionModel().selectedRows()
if len(selected_rows) == 0:
return
row = selected_rows[0].row()
apparat_text = self.book_search_result.item(row, 2).text()
apparat_number = apparat_text.split(" (")[0]
self.apparat_open.emit(apparat_number)
def update_books(self):
# update all books in the book_search_result
self.updater = UpdaterThread()
books = []
for row in range(self.book_search_result.rowCount()):
signature = self.book_search_result.item(row, 1).text()
booksdata = self.db.query_db(
"SELECT id, bookdata from media WHERE bookdata LIKE ?",
(f'%"{signature}"%',),
one=True,
)
books.append(
{"id": booksdata[0], "bookdata": BookData().from_string(booksdata[1])}
)
self.updater.books = books # type: ignore
self.updater.currtot.connect(self.status_update_emit)
self.updater.finished.connect(self.updater.deleteLater)
self.updater.start()
def status_update_emit(self, current: int, total: int):
self.status_update.emit(current, total)
def mass_extend_apparats(self): def mass_extend_apparats(self):
extend = ApparatExtendDialog() extend = ApparatExtendDialog()
extend.exec() extend.exec()
@@ -84,13 +131,13 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
if self.tableWidget.cellWidget(i, 0).isChecked(): if self.tableWidget.cellWidget(i, 0).isChecked():
app_name = self.tableWidget.item(i, 1).text() app_name = self.tableWidget.item(i, 1).text()
app_id = self.db.getApparatId(app_name) app_id = self.db.getApparatId(app_name)
self.db.setNewSemesterDate(app_id, data["semester"], data["dauerapp"]) self.db.setNewSemesterDate(
app_id, data["semester"], data["dauerapp"]
)
# remove the row # remove the row
self.tableWidget.removeRow(i) self.tableWidget.removeRow(i)
self.refreshSignal.emit() self.refreshSignal.emit()
def restore_apparat(self): def restore_apparat(self):
selected_rows = self.tableWidget.selectionModel().selectedRows() selected_rows = self.tableWidget.selectionModel().selectedRows()
apparats = [] apparats = []
@@ -193,7 +240,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
2, 2,
QtWidgets.QTableWidgetItem( QtWidgets.QTableWidgetItem(
self.db.fetch_one( self.db.fetch_one(
"SELECT semesterapparat.appnr || ' (' || semesterapparat.name || ')' AS formatted_result from semesterapparat WHERE semesterapparat.appnr = ?", "SELECT semesterapparat.appnr || ' (' || semesterapparat.name || ')' AS formatted_result from semesterapparat WHERE semesterapparat.id = ?",
(book[1],), (book[1],),
)[0], )[0],
), ),
@@ -510,7 +557,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
QtWidgets.QMessageBox.information( QtWidgets.QMessageBox.information(
self, self,
"Information", "Information",
f"Der Semesterapparat wurde bereits gelöscht und kann nicht angezeigt werden.", "Der Semesterapparat wurde bereits gelöscht und kann nicht angezeigt werden.",
) )
if parent_depth == 1: if parent_depth == 1:
# person selected case - open all apparats from this person in the tableWidget # person selected case - open all apparats from this person in the tableWidget

View File

@@ -8,137 +8,126 @@
## WARNING! All changes made in this file will be lost when recompiling UI file! ## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################ ################################################################################
from PySide6.QtCore import QCoreApplication, Qt from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
from PySide6.QtWidgets import ( QMetaObject, QObject, QPoint, QRect,
QAbstractItemView, QSize, QTime, QUrl, Qt)
QCheckBox, from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QComboBox, QFont, QFontDatabase, QGradient, QIcon,
QFrame, QImage, QKeySequence, QLinearGradient, QPainter,
QGridLayout, QPalette, QPixmap, QRadialGradient, QTransform)
QHBoxLayout, from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QComboBox,
QLabel, QDialog, QFrame, QGridLayout, QHBoxLayout,
QLayout, QHeaderView, QLabel, QLayout, QLineEdit,
QLineEdit, QPushButton, QSizePolicy, QSpacerItem, QStackedWidget,
QPushButton, QTabWidget, QTableWidget, QTableWidgetItem, QVBoxLayout,
QSizePolicy, QWidget)
QSpacerItem,
QStackedWidget,
QTableWidget,
QTableWidgetItem,
QTabWidget,
QVBoxLayout,
QWidget,
)
class Ui_Dialog(object): class Ui_Dialog(object):
def setupUi(self, Dialog): def setupUi(self, Dialog):
if not Dialog.objectName(): if not Dialog.objectName():
Dialog.setObjectName("Dialog") Dialog.setObjectName(u"Dialog")
Dialog.resize(1244, 767) Dialog.resize(1244, 767)
self.verticalLayout = QVBoxLayout(Dialog) self.verticalLayout = QVBoxLayout(Dialog)
self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout.setObjectName(u"verticalLayout")
self.tabWidget_2 = QTabWidget(Dialog) self.tabWidget_2 = QTabWidget(Dialog)
self.tabWidget_2.setObjectName("tabWidget_2") self.tabWidget_2.setObjectName(u"tabWidget_2")
self.tabWidget_2.setMaximumSize(QSize(16777215, 250)) self.tabWidget_2.setMaximumSize(QSize(16777215, 250))
self.tabWidget_2.setFocusPolicy(Qt.ClickFocus) self.tabWidget_2.setFocusPolicy(Qt.ClickFocus)
self.tabWidget_2.setTabPosition(QTabWidget.North) self.tabWidget_2.setTabPosition(QTabWidget.North)
self.tabWidget_2.setTabShape(QTabWidget.Rounded) self.tabWidget_2.setTabShape(QTabWidget.Rounded)
self.tab_3 = QWidget() self.tab_3 = QWidget()
self.tab_3.setObjectName("tab_3") self.tab_3.setObjectName(u"tab_3")
self.horizontalLayout_2 = QHBoxLayout(self.tab_3) self.horizontalLayout_2 = QHBoxLayout(self.tab_3)
self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.gridLayout_3 = QGridLayout() self.gridLayout_3 = QGridLayout()
self.gridLayout_3.setObjectName("gridLayout_3") self.gridLayout_3.setObjectName(u"gridLayout_3")
self.box_semester = QComboBox(self.tab_3) self.box_semester = QComboBox(self.tab_3)
self.box_semester.setObjectName("box_semester") self.box_semester.setObjectName(u"box_semester")
self.box_semester.setEditable(True) self.box_semester.setEditable(True)
self.gridLayout_3.addWidget(self.box_semester, 0, 3, 1, 1) self.gridLayout_3.addWidget(self.box_semester, 0, 3, 1, 1)
self.label_18 = QLabel(self.tab_3) self.label_18 = QLabel(self.tab_3)
self.label_18.setObjectName("label_18") self.label_18.setObjectName(u"label_18")
self.gridLayout_3.addWidget(self.label_18, 2, 2, 1, 1) self.gridLayout_3.addWidget(self.label_18, 2, 2, 1, 1)
self.box_fach = QComboBox(self.tab_3) self.box_fach = QComboBox(self.tab_3)
self.box_fach.setObjectName("box_fach") self.box_fach.setObjectName(u"box_fach")
self.box_fach.setEditable(True) self.box_fach.setEditable(True)
self.gridLayout_3.addWidget(self.box_fach, 2, 1, 1, 1) self.gridLayout_3.addWidget(self.box_fach, 2, 1, 1, 1)
self.label_15 = QLabel(self.tab_3) self.label_15 = QLabel(self.tab_3)
self.label_15.setObjectName("label_15") self.label_15.setObjectName(u"label_15")
self.gridLayout_3.addWidget(self.label_15, 3, 0, 1, 1) self.gridLayout_3.addWidget(self.label_15, 3, 0, 1, 1)
self.label_11 = QLabel(self.tab_3) self.label_11 = QLabel(self.tab_3)
self.label_11.setObjectName("label_11") self.label_11.setObjectName(u"label_11")
self.gridLayout_3.addWidget(self.label_11, 1, 0, 1, 1) self.gridLayout_3.addWidget(self.label_11, 1, 0, 1, 1)
self.verticalSpacer_3 = QSpacerItem( self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
)
self.gridLayout_3.addItem(self.verticalSpacer_3, 4, 0, 1, 1) self.gridLayout_3.addItem(self.verticalSpacer_3, 4, 0, 1, 1)
self.label_7 = QLabel(self.tab_3) self.label_7 = QLabel(self.tab_3)
self.label_7.setObjectName("label_7") self.label_7.setObjectName(u"label_7")
self.gridLayout_3.addWidget(self.label_7, 0, 0, 1, 1) self.gridLayout_3.addWidget(self.label_7, 0, 0, 1, 1)
self.label_17 = QLabel(self.tab_3) self.label_17 = QLabel(self.tab_3)
self.label_17.setObjectName("label_17") self.label_17.setObjectName(u"label_17")
self.gridLayout_3.addWidget(self.label_17, 0, 2, 1, 1) self.gridLayout_3.addWidget(self.label_17, 0, 2, 1, 1)
self.box_appnrs = QComboBox(self.tab_3) self.box_appnrs = QComboBox(self.tab_3)
self.box_appnrs.setObjectName("box_appnrs") self.box_appnrs.setObjectName(u"box_appnrs")
self.box_appnrs.setEditable(True) self.box_appnrs.setEditable(True)
self.gridLayout_3.addWidget(self.box_appnrs, 0, 1, 1, 1) self.gridLayout_3.addWidget(self.box_appnrs, 0, 1, 1, 1)
self.box_dauerapp = QComboBox(self.tab_3) self.box_dauerapp = QComboBox(self.tab_3)
self.box_dauerapp.setObjectName("box_dauerapp") self.box_dauerapp.setObjectName(u"box_dauerapp")
self.gridLayout_3.addWidget(self.box_dauerapp, 2, 3, 1, 1) self.gridLayout_3.addWidget(self.box_dauerapp, 2, 3, 1, 1)
self.box_person = QComboBox(self.tab_3) self.box_person = QComboBox(self.tab_3)
self.box_person.setObjectName("box_person") self.box_person.setObjectName(u"box_person")
self.box_person.setEditable(True) self.box_person.setEditable(True)
self.gridLayout_3.addWidget(self.box_person, 1, 1, 1, 1) self.gridLayout_3.addWidget(self.box_person, 1, 1, 1, 1)
self.box_erstellsemester = QComboBox(self.tab_3) self.box_erstellsemester = QComboBox(self.tab_3)
self.box_erstellsemester.setObjectName("box_erstellsemester") self.box_erstellsemester.setObjectName(u"box_erstellsemester")
self.box_erstellsemester.setEditable(True) self.box_erstellsemester.setEditable(True)
self.gridLayout_3.addWidget(self.box_erstellsemester, 1, 3, 1, 1) self.gridLayout_3.addWidget(self.box_erstellsemester, 1, 3, 1, 1)
self.label_19 = QLabel(self.tab_3) self.label_19 = QLabel(self.tab_3)
self.label_19.setObjectName("label_19") self.label_19.setObjectName(u"label_19")
self.gridLayout_3.addWidget(self.label_19, 1, 2, 1, 1) self.gridLayout_3.addWidget(self.label_19, 1, 2, 1, 1)
self.label_16 = QLabel(self.tab_3) self.label_16 = QLabel(self.tab_3)
self.label_16.setObjectName("label_16") self.label_16.setObjectName(u"label_16")
self.gridLayout_3.addWidget(self.label_16, 2, 0, 1, 1) self.gridLayout_3.addWidget(self.label_16, 2, 0, 1, 1)
self.check_deletable = QCheckBox(self.tab_3) self.check_deletable = QCheckBox(self.tab_3)
self.check_deletable.setObjectName("check_deletable") self.check_deletable.setObjectName(u"check_deletable")
self.check_deletable.setFocusPolicy(Qt.StrongFocus) self.check_deletable.setFocusPolicy(Qt.StrongFocus)
self.gridLayout_3.addWidget(self.check_deletable, 3, 1, 1, 1) self.gridLayout_3.addWidget(self.check_deletable, 3, 1, 1, 1)
self.btn_search = QPushButton(self.tab_3) self.btn_search = QPushButton(self.tab_3)
self.btn_search.setObjectName("btn_search") self.btn_search.setObjectName(u"btn_search")
self.gridLayout_3.addWidget(self.btn_search, 5, 0, 1, 1) self.gridLayout_3.addWidget(self.btn_search, 5, 0, 1, 1)
self.db_err_message = QLabel(self.tab_3) self.db_err_message = QLabel(self.tab_3)
self.db_err_message.setObjectName("db_err_message") self.db_err_message.setObjectName(u"db_err_message")
self.gridLayout_3.addWidget(self.db_err_message, 5, 1, 1, 1) self.gridLayout_3.addWidget(self.db_err_message, 5, 1, 1, 1)
@@ -150,9 +139,7 @@ class Ui_Dialog(object):
self.horizontalLayout_2.addLayout(self.gridLayout_3) self.horizontalLayout_2.addLayout(self.gridLayout_3)
self.horizontalSpacer = QSpacerItem( self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalLayout_2.addItem(self.horizontalSpacer) self.horizontalLayout_2.addItem(self.horizontalSpacer)
@@ -160,60 +147,58 @@ class Ui_Dialog(object):
self.horizontalLayout_2.setStretch(1, 1) self.horizontalLayout_2.setStretch(1, 1)
self.tabWidget_2.addTab(self.tab_3, "") self.tabWidget_2.addTab(self.tab_3, "")
self.tab_4 = QWidget() self.tab_4 = QWidget()
self.tab_4.setObjectName("tab_4") self.tab_4.setObjectName(u"tab_4")
self.horizontalLayout_3 = QHBoxLayout(self.tab_4) self.horizontalLayout_3 = QHBoxLayout(self.tab_4)
self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.gridLayout = QGridLayout() self.gridLayout = QGridLayout()
self.gridLayout.setObjectName("gridLayout") self.gridLayout.setObjectName(u"gridLayout")
self.search_by_signature = QLineEdit(self.tab_4) self.search_by_signature = QLineEdit(self.tab_4)
self.search_by_signature.setObjectName("search_by_signature") self.search_by_signature.setObjectName(u"search_by_signature")
self.search_by_signature.setFocusPolicy(Qt.ClickFocus) self.search_by_signature.setFocusPolicy(Qt.ClickFocus)
self.search_by_signature.setClearButtonEnabled(True) self.search_by_signature.setClearButtonEnabled(True)
self.gridLayout.addWidget(self.search_by_signature, 0, 1, 1, 1) self.gridLayout.addWidget(self.search_by_signature, 0, 1, 1, 1)
self.label_25 = QLabel(self.tab_4) self.label_25 = QLabel(self.tab_4)
self.label_25.setObjectName("label_25") self.label_25.setObjectName(u"label_25")
self.gridLayout.addWidget(self.label_25, 0, 0, 1, 1) self.gridLayout.addWidget(self.label_25, 0, 0, 1, 1)
self.verticalSpacer = QSpacerItem( self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
)
self.gridLayout.addItem(self.verticalSpacer, 5, 0, 1, 1) self.gridLayout.addItem(self.verticalSpacer, 5, 0, 1, 1)
self.search_by_title = QLineEdit(self.tab_4) self.search_by_title = QLineEdit(self.tab_4)
self.search_by_title.setObjectName("search_by_title") self.search_by_title.setObjectName(u"search_by_title")
self.search_by_title.setFocusPolicy(Qt.ClickFocus) self.search_by_title.setFocusPolicy(Qt.ClickFocus)
self.search_by_title.setClearButtonEnabled(True) self.search_by_title.setClearButtonEnabled(True)
self.gridLayout.addWidget(self.search_by_title, 1, 1, 1, 1) self.gridLayout.addWidget(self.search_by_title, 1, 1, 1, 1)
self.label_26 = QLabel(self.tab_4) self.label_26 = QLabel(self.tab_4)
self.label_26.setObjectName("label_26") self.label_26.setObjectName(u"label_26")
self.gridLayout.addWidget(self.label_26, 1, 0, 1, 1) self.gridLayout.addWidget(self.label_26, 1, 0, 1, 1)
self.horizontalLayout_4 = QHBoxLayout() self.horizontalLayout_4 = QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.label = QLabel(self.tab_4) self.label = QLabel(self.tab_4)
self.label.setObjectName("label") self.label.setObjectName(u"label")
self.horizontalLayout_4.addWidget(self.label) self.horizontalLayout_4.addWidget(self.label)
self.no_result = QLabel(self.tab_4) self.no_result = QLabel(self.tab_4)
self.no_result.setObjectName("no_result") self.no_result.setObjectName(u"no_result")
self.horizontalLayout_4.addWidget(self.no_result) self.horizontalLayout_4.addWidget(self.no_result)
self.gridLayout.addLayout(self.horizontalLayout_4, 3, 1, 1, 1) self.gridLayout.addLayout(self.horizontalLayout_4, 3, 1, 1, 1)
self.horizontalLayout_3.addLayout(self.gridLayout) self.horizontalLayout_3.addLayout(self.gridLayout)
self.horizontalSpacer_2 = QSpacerItem( self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalLayout_3.addItem(self.horizontalSpacer_2) self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
@@ -224,64 +209,59 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.tabWidget_2) self.verticalLayout.addWidget(self.tabWidget_2)
self.verticalLayout_3 = QVBoxLayout() self.verticalLayout_3 = QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.verticalLayout_3.setSizeConstraint(QLayout.SetDefaultConstraint) self.verticalLayout_3.setSizeConstraint(QLayout.SetDefaultConstraint)
self.stackedWidget_4 = QStackedWidget(Dialog) self.stackedWidget_4 = QStackedWidget(Dialog)
self.stackedWidget_4.setObjectName("stackedWidget_4") self.stackedWidget_4.setObjectName(u"stackedWidget_4")
sizePolicy = QSizePolicy( sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding
)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth( sizePolicy.setHeightForWidth(self.stackedWidget_4.sizePolicy().hasHeightForWidth())
self.stackedWidget_4.sizePolicy().hasHeightForWidth()
)
self.stackedWidget_4.setSizePolicy(sizePolicy) self.stackedWidget_4.setSizePolicy(sizePolicy)
self.stackedWidget_4.setFrameShape(QFrame.StyledPanel) self.stackedWidget_4.setFrameShape(QFrame.StyledPanel)
self.stackedWidget_4.setFrameShadow(QFrame.Raised) self.stackedWidget_4.setFrameShadow(QFrame.Raised)
self.apparatResult = QWidget() self.apparatResult = QWidget()
self.apparatResult.setObjectName("apparatResult") self.apparatResult.setObjectName(u"apparatResult")
self.horizontalLayout = QHBoxLayout(self.apparatResult) self.horizontalLayout = QHBoxLayout(self.apparatResult)
self.horizontalLayout.setObjectName("horizontalLayout") self.horizontalLayout.setObjectName(u"horizontalLayout")
self.app_results = QWidget(self.apparatResult) self.app_results = QWidget(self.apparatResult)
self.app_results.setObjectName("app_results") self.app_results.setObjectName(u"app_results")
self.verticalLayout_6 = QVBoxLayout(self.app_results) self.verticalLayout_6 = QVBoxLayout(self.app_results)
self.verticalLayout_6.setObjectName("verticalLayout_6") self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.verticalLayout_4 = QVBoxLayout() self.verticalLayout_4 = QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4") self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.horizontalLayout_7 = QHBoxLayout() self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.verticalLayout_5 = QVBoxLayout() self.verticalLayout_5 = QVBoxLayout()
self.verticalLayout_5.setObjectName("verticalLayout_5") self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalLayout_7.addLayout(self.verticalLayout_5) self.horizontalLayout_7.addLayout(self.verticalLayout_5)
self.btn_del_select_apparats = QPushButton(self.app_results) self.btn_del_select_apparats = QPushButton(self.app_results)
self.btn_del_select_apparats.setObjectName("btn_del_select_apparats") self.btn_del_select_apparats.setObjectName(u"btn_del_select_apparats")
self.btn_del_select_apparats.setFocusPolicy(Qt.StrongFocus) self.btn_del_select_apparats.setFocusPolicy(Qt.StrongFocus)
self.horizontalLayout_7.addWidget(self.btn_del_select_apparats) self.horizontalLayout_7.addWidget(self.btn_del_select_apparats)
self.btn_notify_for_deletion = QPushButton(self.app_results) self.btn_notify_for_deletion = QPushButton(self.app_results)
self.btn_notify_for_deletion.setObjectName("btn_notify_for_deletion") self.btn_notify_for_deletion.setObjectName(u"btn_notify_for_deletion")
self.horizontalLayout_7.addWidget(self.btn_notify_for_deletion) self.horizontalLayout_7.addWidget(self.btn_notify_for_deletion)
self.btn_extendSelection = QPushButton(self.app_results) self.btn_extendSelection = QPushButton(self.app_results)
self.btn_extendSelection.setObjectName("btn_extendSelection") self.btn_extendSelection.setObjectName(u"btn_extendSelection")
self.horizontalLayout_7.addWidget(self.btn_extendSelection) self.horizontalLayout_7.addWidget(self.btn_extendSelection)
self.horizontalSpacer_5 = QSpacerItem( self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalLayout_7.addItem(self.horizontalSpacer_5) self.horizontalLayout_7.addItem(self.horizontalSpacer_5)
self.verticalLayout_4.addLayout(self.horizontalLayout_7) self.verticalLayout_4.addLayout(self.horizontalLayout_7)
self.tableWidget = QTableWidget(self.app_results) self.tableWidget = QTableWidget(self.app_results)
if self.tableWidget.columnCount() < 5: if (self.tableWidget.columnCount() < 5):
self.tableWidget.setColumnCount(5) self.tableWidget.setColumnCount(5)
__qtablewidgetitem = QTableWidgetItem() __qtablewidgetitem = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem) self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
@@ -293,33 +273,35 @@ class Ui_Dialog(object):
self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3) self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3)
__qtablewidgetitem4 = QTableWidgetItem() __qtablewidgetitem4 = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, __qtablewidgetitem4) self.tableWidget.setHorizontalHeaderItem(4, __qtablewidgetitem4)
self.tableWidget.setObjectName("tableWidget") self.tableWidget.setObjectName(u"tableWidget")
self.tableWidget.setFocusPolicy(Qt.NoFocus) self.tableWidget.setFocusPolicy(Qt.NoFocus)
self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu) self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.tableWidget.setGridStyle(Qt.NoPen) self.tableWidget.setGridStyle(Qt.NoPen)
self.tableWidget.setSortingEnabled(True) self.tableWidget.setSortingEnabled(True)
self.tableWidget.horizontalHeader().setStretchLastSection(True) self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setProperty("showSortIndicator", True) self.tableWidget.verticalHeader().setProperty(u"showSortIndicator", True)
self.verticalLayout_4.addWidget(self.tableWidget) self.verticalLayout_4.addWidget(self.tableWidget)
self.verticalLayout_6.addLayout(self.verticalLayout_4) self.verticalLayout_6.addLayout(self.verticalLayout_4)
self.horizontalLayout.addWidget(self.app_results) self.horizontalLayout.addWidget(self.app_results)
self.stats = QFrame(self.apparatResult) self.stats = QFrame(self.apparatResult)
self.stats.setObjectName("stats") self.stats.setObjectName(u"stats")
self.verticalLayout_8 = QVBoxLayout(self.stats) self.verticalLayout_8 = QVBoxLayout(self.stats)
self.verticalLayout_8.setObjectName("verticalLayout_8") self.verticalLayout_8.setObjectName(u"verticalLayout_8")
self.tabWidget_3 = QTabWidget(self.stats) self.tabWidget_3 = QTabWidget(self.stats)
self.tabWidget_3.setObjectName("tabWidget_3") self.tabWidget_3.setObjectName(u"tabWidget_3")
self.statistic_table = QWidget() self.statistic_table = QWidget()
self.statistic_table.setObjectName("statistic_table") self.statistic_table.setObjectName(u"statistic_table")
self.verticalLayout_7 = QVBoxLayout(self.statistic_table) self.verticalLayout_7 = QVBoxLayout(self.statistic_table)
self.verticalLayout_7.setObjectName("verticalLayout_7") self.verticalLayout_7.setObjectName(u"verticalLayout_7")
self.statistics_table = QTableWidget(self.statistic_table) self.statistics_table = QTableWidget(self.statistic_table)
if self.statistics_table.columnCount() < 3: if (self.statistics_table.columnCount() < 3):
self.statistics_table.setColumnCount(3) self.statistics_table.setColumnCount(3)
__qtablewidgetitem5 = QTableWidgetItem() __qtablewidgetitem5 = QTableWidgetItem()
self.statistics_table.setHorizontalHeaderItem(0, __qtablewidgetitem5) self.statistics_table.setHorizontalHeaderItem(0, __qtablewidgetitem5)
@@ -327,10 +309,8 @@ class Ui_Dialog(object):
self.statistics_table.setHorizontalHeaderItem(1, __qtablewidgetitem6) self.statistics_table.setHorizontalHeaderItem(1, __qtablewidgetitem6)
__qtablewidgetitem7 = QTableWidgetItem() __qtablewidgetitem7 = QTableWidgetItem()
self.statistics_table.setHorizontalHeaderItem(2, __qtablewidgetitem7) self.statistics_table.setHorizontalHeaderItem(2, __qtablewidgetitem7)
self.statistics_table.setObjectName("statistics_table") self.statistics_table.setObjectName(u"statistics_table")
sizePolicy.setHeightForWidth( sizePolicy.setHeightForWidth(self.statistics_table.sizePolicy().hasHeightForWidth())
self.statistics_table.sizePolicy().hasHeightForWidth()
)
self.statistics_table.setSizePolicy(sizePolicy) self.statistics_table.setSizePolicy(sizePolicy)
self.statistics_table.setMaximumSize(QSize(16777215, 16777215)) self.statistics_table.setMaximumSize(QSize(16777215, 16777215))
self.statistics_table.setFocusPolicy(Qt.NoFocus) self.statistics_table.setFocusPolicy(Qt.NoFocus)
@@ -340,35 +320,36 @@ class Ui_Dialog(object):
self.statistics_table.horizontalHeader().setCascadingSectionResizes(True) self.statistics_table.horizontalHeader().setCascadingSectionResizes(True)
self.statistics_table.horizontalHeader().setMinimumSectionSize(40) self.statistics_table.horizontalHeader().setMinimumSectionSize(40)
self.statistics_table.horizontalHeader().setDefaultSectionSize(80) self.statistics_table.horizontalHeader().setDefaultSectionSize(80)
self.statistics_table.horizontalHeader().setProperty("showSortIndicator", True) self.statistics_table.horizontalHeader().setProperty(u"showSortIndicator", True)
self.statistics_table.horizontalHeader().setStretchLastSection(False) self.statistics_table.horizontalHeader().setStretchLastSection(False)
self.statistics_table.verticalHeader().setStretchLastSection(True) self.statistics_table.verticalHeader().setStretchLastSection(True)
self.verticalLayout_7.addWidget(self.statistics_table) self.verticalLayout_7.addWidget(self.statistics_table)
self.dataLayout = QHBoxLayout() self.dataLayout = QHBoxLayout()
self.dataLayout.setObjectName("dataLayout") self.dataLayout.setObjectName(u"dataLayout")
self.verticalLayout_7.addLayout(self.dataLayout) self.verticalLayout_7.addLayout(self.dataLayout)
self.tabWidget_3.addTab(self.statistic_table, "") self.tabWidget_3.addTab(self.statistic_table, "")
self.graph_table = QWidget() self.graph_table = QWidget()
self.graph_table.setObjectName("graph_table") self.graph_table.setObjectName(u"graph_table")
self.tabWidget_3.addTab(self.graph_table, "") self.tabWidget_3.addTab(self.graph_table, "")
self.verticalLayout_8.addWidget(self.tabWidget_3) self.verticalLayout_8.addWidget(self.tabWidget_3)
self.horizontalLayout.addWidget(self.stats) self.horizontalLayout.addWidget(self.stats)
self.stackedWidget_4.addWidget(self.apparatResult) self.stackedWidget_4.addWidget(self.apparatResult)
self.bookresult = QWidget() self.bookresult = QWidget()
self.bookresult.setObjectName("bookresult") self.bookresult.setObjectName(u"bookresult")
sizePolicy.setHeightForWidth(self.bookresult.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.bookresult.sizePolicy().hasHeightForWidth())
self.bookresult.setSizePolicy(sizePolicy) self.bookresult.setSizePolicy(sizePolicy)
self.verticalLayout_2 = QVBoxLayout(self.bookresult) self.verticalLayout_2 = QVBoxLayout(self.bookresult)
self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.book_search_result = QTableWidget(self.bookresult) self.book_search_result = QTableWidget(self.bookresult)
if self.book_search_result.columnCount() < 3: if (self.book_search_result.columnCount() < 3):
self.book_search_result.setColumnCount(3) self.book_search_result.setColumnCount(3)
__qtablewidgetitem8 = QTableWidgetItem() __qtablewidgetitem8 = QTableWidgetItem()
self.book_search_result.setHorizontalHeaderItem(0, __qtablewidgetitem8) self.book_search_result.setHorizontalHeaderItem(0, __qtablewidgetitem8)
@@ -376,7 +357,7 @@ class Ui_Dialog(object):
self.book_search_result.setHorizontalHeaderItem(1, __qtablewidgetitem9) self.book_search_result.setHorizontalHeaderItem(1, __qtablewidgetitem9)
__qtablewidgetitem10 = QTableWidgetItem() __qtablewidgetitem10 = QTableWidgetItem()
self.book_search_result.setHorizontalHeaderItem(2, __qtablewidgetitem10) self.book_search_result.setHorizontalHeaderItem(2, __qtablewidgetitem10)
self.book_search_result.setObjectName("book_search_result") self.book_search_result.setObjectName(u"book_search_result")
self.book_search_result.setFrameShadow(QFrame.Plain) self.book_search_result.setFrameShadow(QFrame.Plain)
self.book_search_result.setEditTriggers(QAbstractItemView.NoEditTriggers) self.book_search_result.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.book_search_result.setAlternatingRowColors(True) self.book_search_result.setAlternatingRowColors(True)
@@ -384,11 +365,9 @@ class Ui_Dialog(object):
self.book_search_result.horizontalHeader().setCascadingSectionResizes(True) self.book_search_result.horizontalHeader().setCascadingSectionResizes(True)
self.book_search_result.horizontalHeader().setMinimumSectionSize(100) self.book_search_result.horizontalHeader().setMinimumSectionSize(100)
self.book_search_result.horizontalHeader().setDefaultSectionSize(200) self.book_search_result.horizontalHeader().setDefaultSectionSize(200)
self.book_search_result.horizontalHeader().setProperty( self.book_search_result.horizontalHeader().setProperty(u"showSortIndicator", True)
"showSortIndicator", True
)
self.book_search_result.horizontalHeader().setStretchLastSection(True) self.book_search_result.horizontalHeader().setStretchLastSection(True)
self.book_search_result.verticalHeader().setProperty("showSortIndicator", False) self.book_search_result.verticalHeader().setProperty(u"showSortIndicator", False)
self.verticalLayout_2.addWidget(self.book_search_result) self.verticalLayout_2.addWidget(self.book_search_result)
@@ -396,6 +375,7 @@ class Ui_Dialog(object):
self.verticalLayout_3.addWidget(self.stackedWidget_4) self.verticalLayout_3.addWidget(self.stackedWidget_4)
self.verticalLayout.addLayout(self.verticalLayout_3) self.verticalLayout.addLayout(self.verticalLayout_3)
#if QT_CONFIG(shortcut) #if QT_CONFIG(shortcut)
@@ -426,118 +406,58 @@ class Ui_Dialog(object):
self.stackedWidget_4.setCurrentIndex(0) self.stackedWidget_4.setCurrentIndex(0)
self.tabWidget_3.setCurrentIndex(0) self.tabWidget_3.setCurrentIndex(0)
QMetaObject.connectSlotsByName(Dialog)
QMetaObject.connectSlotsByName(Dialog)
# setupUi # setupUi
def retranslateUi(self, Dialog): def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None)) Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
self.label_18.setText(QCoreApplication.translate("Dialog", "Dauerapp:", None)) self.label_18.setText(QCoreApplication.translate("Dialog", u"Dauerapp:", None))
self.label_15.setText( self.label_15.setText(QCoreApplication.translate("Dialog", u"L\u00f6schbar", None))
QCoreApplication.translate("Dialog", "L\u00f6schbar", None) self.label_11.setText(QCoreApplication.translate("Dialog", u"Person:", None))
) self.label_7.setText(QCoreApplication.translate("Dialog", u"Appnr.:", None))
self.label_11.setText(QCoreApplication.translate("Dialog", "Person:", None)) self.label_17.setText(QCoreApplication.translate("Dialog", u"Endsemester:", None))
self.label_7.setText(QCoreApplication.translate("Dialog", "Appnr.:", None)) self.label_19.setText(QCoreApplication.translate("Dialog", u"Erstellsemester:", None))
self.label_17.setText( self.label_16.setText(QCoreApplication.translate("Dialog", u"Fach:", None))
QCoreApplication.translate("Dialog", "Endsemester:", None)
)
self.label_19.setText(
QCoreApplication.translate("Dialog", "Erstellsemester:", None)
)
self.label_16.setText(QCoreApplication.translate("Dialog", "Fach:", None))
self.check_deletable.setText("") self.check_deletable.setText("")
self.btn_search.setText(QCoreApplication.translate("Dialog", "Suchen", None)) self.btn_search.setText(QCoreApplication.translate("Dialog", u"Suchen", None))
self.db_err_message.setText("") self.db_err_message.setText("")
self.tabWidget_2.setTabText( self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), QCoreApplication.translate("Dialog", u"Statistik", None))
self.tabWidget_2.indexOf(self.tab_3),
QCoreApplication.translate("Dialog", "Statistik", None),
)
#if QT_CONFIG(statustip) #if QT_CONFIG(statustip)
self.search_by_signature.setStatusTip( self.search_by_signature.setStatusTip(QCoreApplication.translate("Dialog", u"Trunkierung mit * am Ende unterst\u00fctzt", None))
QCoreApplication.translate(
"Dialog", "Trunkierung mit * am Ende unterst\u00fctzt", None
)
)
#endif // QT_CONFIG(statustip) #endif // QT_CONFIG(statustip)
self.label_25.setText(QCoreApplication.translate("Dialog", "Signatur", None)) self.label_25.setText(QCoreApplication.translate("Dialog", u"Signatur", None))
self.label_26.setText(QCoreApplication.translate("Dialog", "Titel", None)) self.label_26.setText(QCoreApplication.translate("Dialog", u"Titel", None))
self.label.setText( self.label.setText(QCoreApplication.translate("Dialog", u"Suche mit Enter starten", None))
QCoreApplication.translate("Dialog", "Suche mit Enter starten", None)
)
self.no_result.setText("") self.no_result.setText("")
self.tabWidget_2.setTabText( self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), QCoreApplication.translate("Dialog", u"Suchen", None))
self.tabWidget_2.indexOf(self.tab_4), self.btn_del_select_apparats.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte L\u00f6schen", None))
QCoreApplication.translate("Dialog", "Suchen", None),
)
self.btn_del_select_apparats.setText(
QCoreApplication.translate("Dialog", "Ausgew\u00e4hlte L\u00f6schen", None)
)
#if QT_CONFIG(statustip) #if QT_CONFIG(statustip)
self.btn_notify_for_deletion.setStatusTip( self.btn_notify_for_deletion.setStatusTip(QCoreApplication.translate("Dialog", u"Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an", None))
QCoreApplication.translate(
"Dialog",
"Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an",
None,
)
)
#endif // QT_CONFIG(statustip) #endif // QT_CONFIG(statustip)
self.btn_notify_for_deletion.setText( self.btn_notify_for_deletion.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Benachrichtigen", None))
QCoreApplication.translate( self.btn_extendSelection.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Verl\u00e4ngern", None))
"Dialog", "Ausgew\u00e4hlte Benachrichtigen", None
)
)
self.btn_extendSelection.setText(
QCoreApplication.translate(
"Dialog", "Ausgew\u00e4hlte Verl\u00e4ngern", None
)
)
___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(1) ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(1)
___qtablewidgetitem.setText( ___qtablewidgetitem.setText(QCoreApplication.translate("Dialog", u"Apparatsname", None));
QCoreApplication.translate("Dialog", "Apparatsname", None)
)
___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(2) ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(2)
___qtablewidgetitem1.setText( ___qtablewidgetitem1.setText(QCoreApplication.translate("Dialog", u"Apparatsnummer", None));
QCoreApplication.translate("Dialog", "Apparatsnummer", None)
)
___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(3) ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(3)
___qtablewidgetitem2.setText( ___qtablewidgetitem2.setText(QCoreApplication.translate("Dialog", u"Person", None));
QCoreApplication.translate("Dialog", "Person", None)
)
___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(4) ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(4)
___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", "Fach", None)) ___qtablewidgetitem3.setText(QCoreApplication.translate("Dialog", u"Fach", None));
___qtablewidgetitem4 = self.statistics_table.horizontalHeaderItem(0) ___qtablewidgetitem4 = self.statistics_table.horizontalHeaderItem(0)
___qtablewidgetitem4.setText( ___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", u"Semester", None));
QCoreApplication.translate("Dialog", "Semester", None)
)
___qtablewidgetitem5 = self.statistics_table.horizontalHeaderItem(1) ___qtablewidgetitem5 = self.statistics_table.horizontalHeaderItem(1)
___qtablewidgetitem5.setText( ___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", u"Zugang", None));
QCoreApplication.translate("Dialog", "Zugang", None)
)
___qtablewidgetitem6 = self.statistics_table.horizontalHeaderItem(2) ___qtablewidgetitem6 = self.statistics_table.horizontalHeaderItem(2)
___qtablewidgetitem6.setText( ___qtablewidgetitem6.setText(QCoreApplication.translate("Dialog", u"Abgang", None));
QCoreApplication.translate("Dialog", "Abgang", None) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.statistic_table), QCoreApplication.translate("Dialog", u"Tabelle", None))
) self.tabWidget_3.setTabText(self.tabWidget_3.indexOf(self.graph_table), QCoreApplication.translate("Dialog", u"Erstellte und gel\u00f6schte Semesterapparate", None))
self.tabWidget_3.setTabText(
self.tabWidget_3.indexOf(self.statistic_table),
QCoreApplication.translate("Dialog", "Tabelle", None),
)
self.tabWidget_3.setTabText(
self.tabWidget_3.indexOf(self.graph_table),
QCoreApplication.translate(
"Dialog", "Erstellte und gel\u00f6schte Semesterapparate", None
),
)
___qtablewidgetitem7 = self.book_search_result.horizontalHeaderItem(0) ___qtablewidgetitem7 = self.book_search_result.horizontalHeaderItem(0)
___qtablewidgetitem7.setText( ___qtablewidgetitem7.setText(QCoreApplication.translate("Dialog", u"Titel", None));
QCoreApplication.translate("Dialog", "Titel", None)
)
___qtablewidgetitem8 = self.book_search_result.horizontalHeaderItem(1) ___qtablewidgetitem8 = self.book_search_result.horizontalHeaderItem(1)
___qtablewidgetitem8.setText( ___qtablewidgetitem8.setText(QCoreApplication.translate("Dialog", u"Signatur", None));
QCoreApplication.translate("Dialog", "Signatur", None)
)
___qtablewidgetitem9 = self.book_search_result.horizontalHeaderItem(2) ___qtablewidgetitem9 = self.book_search_result.horizontalHeaderItem(2)
___qtablewidgetitem9.setText( ___qtablewidgetitem9.setText(QCoreApplication.translate("Dialog", u"Apparat", None));
QCoreApplication.translate("Dialog", "Apparat", None)
)
# retranslateUi # retranslateUi