update searchpage, add updater thread and emit signal for progress bar

add context menu and related actions
This commit is contained in:
2025-09-03 12:33:52 +02:00
parent b577a69dad
commit 373257864f
2 changed files with 184 additions and 217 deletions

View File

@@ -7,9 +7,10 @@ from PySide6.QtCore import Signal
from src import LOG_DIR
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.widgets import DataQtGraph, StatusWidget
from src.ui.widgets.signature_update import UpdaterThread
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")
class MyComboBox(QtWidgets.QComboBox):
def __init__(self, parent=None):
super().__init__(parent)
@@ -30,6 +30,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
reloadSignal = Signal()
refreshSignal = Signal()
updateCalendar = Signal(int, list)
status_update = Signal(int, int)
def __init__(self):
log.info("SearchStatisticPage started")
@@ -72,8 +73,54 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
self.semester = Semester().value
self.search_by_signature.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()
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):
extend = ApparatExtendDialog()
extend.exec()
@@ -84,13 +131,13 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
if self.tableWidget.cellWidget(i, 0).isChecked():
app_name = self.tableWidget.item(i, 1).text()
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
self.tableWidget.removeRow(i)
self.refreshSignal.emit()
def restore_apparat(self):
selected_rows = self.tableWidget.selectionModel().selectedRows()
apparats = []
@@ -193,7 +240,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
2,
QtWidgets.QTableWidgetItem(
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],),
)[0],
),
@@ -510,7 +557,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
QtWidgets.QMessageBox.information(
self,
"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:
# 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!
################################################################################
from PySide6.QtCore import QCoreApplication, Qt
from PySide6.QtWidgets import (
QAbstractItemView,
QCheckBox,
QComboBox,
QFrame,
QGridLayout,
QHBoxLayout,
QLabel,
QLayout,
QLineEdit,
QPushButton,
QSizePolicy,
QSpacerItem,
QStackedWidget,
QTableWidget,
QTableWidgetItem,
QTabWidget,
QVBoxLayout,
QWidget,
)
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QComboBox,
QDialog, QFrame, QGridLayout, QHBoxLayout,
QHeaderView, QLabel, QLayout, QLineEdit,
QPushButton, QSizePolicy, QSpacerItem, QStackedWidget,
QTabWidget, QTableWidget, QTableWidgetItem, QVBoxLayout,
QWidget)
class Ui_Dialog(object):
def setupUi(self, Dialog):
if not Dialog.objectName():
Dialog.setObjectName("Dialog")
Dialog.setObjectName(u"Dialog")
Dialog.resize(1244, 767)
self.verticalLayout = QVBoxLayout(Dialog)
self.verticalLayout.setObjectName("verticalLayout")
self.verticalLayout.setObjectName(u"verticalLayout")
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.setFocusPolicy(Qt.ClickFocus)
self.tabWidget_2.setTabPosition(QTabWidget.North)
self.tabWidget_2.setTabShape(QTabWidget.Rounded)
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.setObjectName("horizontalLayout_2")
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
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.setObjectName("box_semester")
self.box_semester.setObjectName(u"box_semester")
self.box_semester.setEditable(True)
self.gridLayout_3.addWidget(self.box_semester, 0, 3, 1, 1)
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.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.gridLayout_3.addWidget(self.box_fach, 2, 1, 1, 1)
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.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.verticalSpacer_3 = QSpacerItem(
20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
)
self.verticalSpacer_3 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.gridLayout_3.addItem(self.verticalSpacer_3, 4, 0, 1, 1)
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.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.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.gridLayout_3.addWidget(self.box_appnrs, 0, 1, 1, 1)
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.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.gridLayout_3.addWidget(self.box_person, 1, 1, 1, 1)
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.gridLayout_3.addWidget(self.box_erstellsemester, 1, 3, 1, 1)
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.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.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.gridLayout_3.addWidget(self.check_deletable, 3, 1, 1, 1)
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.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)
@@ -150,9 +139,7 @@ class Ui_Dialog(object):
self.horizontalLayout_2.addLayout(self.gridLayout_3)
self.horizontalSpacer = QSpacerItem(
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_2.addItem(self.horizontalSpacer)
@@ -160,60 +147,58 @@ class Ui_Dialog(object):
self.horizontalLayout_2.setStretch(1, 1)
self.tabWidget_2.addTab(self.tab_3, "")
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.setObjectName("horizontalLayout_3")
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.gridLayout = QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.gridLayout.setObjectName(u"gridLayout")
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.setClearButtonEnabled(True)
self.gridLayout.addWidget(self.search_by_signature, 0, 1, 1, 1)
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.verticalSpacer = QSpacerItem(
20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
)
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.gridLayout.addItem(self.verticalSpacer, 5, 0, 1, 1)
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.setClearButtonEnabled(True)
self.gridLayout.addWidget(self.search_by_title, 1, 1, 1, 1)
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.horizontalLayout_4 = QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.label = QLabel(self.tab_4)
self.label.setObjectName("label")
self.label.setObjectName(u"label")
self.horizontalLayout_4.addWidget(self.label)
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.gridLayout.addLayout(self.horizontalLayout_4, 3, 1, 1, 1)
self.horizontalLayout_3.addLayout(self.gridLayout)
self.horizontalSpacer_2 = QSpacerItem(
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(self.horizontalSpacer_2)
@@ -224,64 +209,59 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.tabWidget_2)
self.verticalLayout_3 = QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.verticalLayout_3.setSizeConstraint(QLayout.SetDefaultConstraint)
self.stackedWidget_4 = QStackedWidget(Dialog)
self.stackedWidget_4.setObjectName("stackedWidget_4")
sizePolicy = QSizePolicy(
QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding
)
self.stackedWidget_4.setObjectName(u"stackedWidget_4")
sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(
self.stackedWidget_4.sizePolicy().hasHeightForWidth()
)
sizePolicy.setHeightForWidth(self.stackedWidget_4.sizePolicy().hasHeightForWidth())
self.stackedWidget_4.setSizePolicy(sizePolicy)
self.stackedWidget_4.setFrameShape(QFrame.StyledPanel)
self.stackedWidget_4.setFrameShadow(QFrame.Raised)
self.apparatResult = QWidget()
self.apparatResult.setObjectName("apparatResult")
self.apparatResult.setObjectName(u"apparatResult")
self.horizontalLayout = QHBoxLayout(self.apparatResult)
self.horizontalLayout.setObjectName("horizontalLayout")
self.horizontalLayout.setObjectName(u"horizontalLayout")
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.setObjectName("verticalLayout_6")
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.verticalLayout_4 = QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName("horizontalLayout_7")
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
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.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.horizontalLayout_7.addWidget(self.btn_del_select_apparats)
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.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.horizontalSpacer_5 = QSpacerItem(
40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
)
self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_7.addItem(self.horizontalSpacer_5)
self.verticalLayout_4.addLayout(self.horizontalLayout_7)
self.tableWidget = QTableWidget(self.app_results)
if self.tableWidget.columnCount() < 5:
if (self.tableWidget.columnCount() < 5):
self.tableWidget.setColumnCount(5)
__qtablewidgetitem = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
@@ -293,33 +273,35 @@ class Ui_Dialog(object):
self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3)
__qtablewidgetitem4 = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, __qtablewidgetitem4)
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setObjectName(u"tableWidget")
self.tableWidget.setFocusPolicy(Qt.NoFocus)
self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.tableWidget.setGridStyle(Qt.NoPen)
self.tableWidget.setSortingEnabled(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_6.addLayout(self.verticalLayout_4)
self.horizontalLayout.addWidget(self.app_results)
self.stats = QFrame(self.apparatResult)
self.stats.setObjectName("stats")
self.stats.setObjectName(u"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.setObjectName("tabWidget_3")
self.tabWidget_3.setObjectName(u"tabWidget_3")
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.setObjectName("verticalLayout_7")
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
self.statistics_table = QTableWidget(self.statistic_table)
if self.statistics_table.columnCount() < 3:
if (self.statistics_table.columnCount() < 3):
self.statistics_table.setColumnCount(3)
__qtablewidgetitem5 = QTableWidgetItem()
self.statistics_table.setHorizontalHeaderItem(0, __qtablewidgetitem5)
@@ -327,10 +309,8 @@ class Ui_Dialog(object):
self.statistics_table.setHorizontalHeaderItem(1, __qtablewidgetitem6)
__qtablewidgetitem7 = QTableWidgetItem()
self.statistics_table.setHorizontalHeaderItem(2, __qtablewidgetitem7)
self.statistics_table.setObjectName("statistics_table")
sizePolicy.setHeightForWidth(
self.statistics_table.sizePolicy().hasHeightForWidth()
)
self.statistics_table.setObjectName(u"statistics_table")
sizePolicy.setHeightForWidth(self.statistics_table.sizePolicy().hasHeightForWidth())
self.statistics_table.setSizePolicy(sizePolicy)
self.statistics_table.setMaximumSize(QSize(16777215, 16777215))
self.statistics_table.setFocusPolicy(Qt.NoFocus)
@@ -340,35 +320,36 @@ class Ui_Dialog(object):
self.statistics_table.horizontalHeader().setCascadingSectionResizes(True)
self.statistics_table.horizontalHeader().setMinimumSectionSize(40)
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.verticalHeader().setStretchLastSection(True)
self.verticalLayout_7.addWidget(self.statistics_table)
self.dataLayout = QHBoxLayout()
self.dataLayout.setObjectName("dataLayout")
self.dataLayout.setObjectName(u"dataLayout")
self.verticalLayout_7.addLayout(self.dataLayout)
self.tabWidget_3.addTab(self.statistic_table, "")
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.verticalLayout_8.addWidget(self.tabWidget_3)
self.horizontalLayout.addWidget(self.stats)
self.stackedWidget_4.addWidget(self.apparatResult)
self.bookresult = QWidget()
self.bookresult.setObjectName("bookresult")
self.bookresult.setObjectName(u"bookresult")
sizePolicy.setHeightForWidth(self.bookresult.sizePolicy().hasHeightForWidth())
self.bookresult.setSizePolicy(sizePolicy)
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)
if self.book_search_result.columnCount() < 3:
if (self.book_search_result.columnCount() < 3):
self.book_search_result.setColumnCount(3)
__qtablewidgetitem8 = QTableWidgetItem()
self.book_search_result.setHorizontalHeaderItem(0, __qtablewidgetitem8)
@@ -376,7 +357,7 @@ class Ui_Dialog(object):
self.book_search_result.setHorizontalHeaderItem(1, __qtablewidgetitem9)
__qtablewidgetitem10 = QTableWidgetItem()
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.setEditTriggers(QAbstractItemView.NoEditTriggers)
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().setMinimumSectionSize(100)
self.book_search_result.horizontalHeader().setDefaultSectionSize(200)
self.book_search_result.horizontalHeader().setProperty(
"showSortIndicator", True
)
self.book_search_result.horizontalHeader().setProperty(u"showSortIndicator", 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)
@@ -396,9 +375,10 @@ class Ui_Dialog(object):
self.verticalLayout_3.addWidget(self.stackedWidget_4)
self.verticalLayout.addLayout(self.verticalLayout_3)
# if QT_CONFIG(shortcut)
#if QT_CONFIG(shortcut)
self.label_18.setBuddy(self.box_dauerapp)
self.label_15.setBuddy(self.check_deletable)
self.label_11.setBuddy(self.box_person)
@@ -408,7 +388,7 @@ class Ui_Dialog(object):
self.label_16.setBuddy(self.box_fach)
self.label_25.setBuddy(self.search_by_signature)
self.label_26.setBuddy(self.search_by_title)
# endif // QT_CONFIG(shortcut)
#endif // QT_CONFIG(shortcut)
QWidget.setTabOrder(self.box_appnrs, self.box_person)
QWidget.setTabOrder(self.box_person, self.box_fach)
QWidget.setTabOrder(self.box_fach, self.check_deletable)
@@ -426,118 +406,58 @@ class Ui_Dialog(object):
self.stackedWidget_4.setCurrentIndex(0)
self.tabWidget_3.setCurrentIndex(0)
QMetaObject.connectSlotsByName(Dialog)
QMetaObject.connectSlotsByName(Dialog)
# setupUi
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(QCoreApplication.translate("Dialog", "Dialog", None))
self.label_18.setText(QCoreApplication.translate("Dialog", "Dauerapp:", None))
self.label_15.setText(
QCoreApplication.translate("Dialog", "L\u00f6schbar", None)
)
self.label_11.setText(QCoreApplication.translate("Dialog", "Person:", None))
self.label_7.setText(QCoreApplication.translate("Dialog", "Appnr.:", None))
self.label_17.setText(
QCoreApplication.translate("Dialog", "Endsemester:", None)
)
self.label_19.setText(
QCoreApplication.translate("Dialog", "Erstellsemester:", None)
)
self.label_16.setText(QCoreApplication.translate("Dialog", "Fach:", None))
Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
self.label_18.setText(QCoreApplication.translate("Dialog", u"Dauerapp:", None))
self.label_15.setText(QCoreApplication.translate("Dialog", u"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_17.setText(QCoreApplication.translate("Dialog", u"Endsemester:", None))
self.label_19.setText(QCoreApplication.translate("Dialog", u"Erstellsemester:", None))
self.label_16.setText(QCoreApplication.translate("Dialog", u"Fach:", None))
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.tabWidget_2.setTabText(
self.tabWidget_2.indexOf(self.tab_3),
QCoreApplication.translate("Dialog", "Statistik", None),
)
# if QT_CONFIG(statustip)
self.search_by_signature.setStatusTip(
QCoreApplication.translate(
"Dialog", "Trunkierung mit * am Ende unterst\u00fctzt", None
)
)
# endif // QT_CONFIG(statustip)
self.label_25.setText(QCoreApplication.translate("Dialog", "Signatur", None))
self.label_26.setText(QCoreApplication.translate("Dialog", "Titel", None))
self.label.setText(
QCoreApplication.translate("Dialog", "Suche mit Enter starten", None)
)
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), QCoreApplication.translate("Dialog", u"Statistik", None))
#if QT_CONFIG(statustip)
self.search_by_signature.setStatusTip(QCoreApplication.translate("Dialog", u"Trunkierung mit * am Ende unterst\u00fctzt", None))
#endif // QT_CONFIG(statustip)
self.label_25.setText(QCoreApplication.translate("Dialog", u"Signatur", None))
self.label_26.setText(QCoreApplication.translate("Dialog", u"Titel", None))
self.label.setText(QCoreApplication.translate("Dialog", u"Suche mit Enter starten", None))
self.no_result.setText("")
self.tabWidget_2.setTabText(
self.tabWidget_2.indexOf(self.tab_4),
QCoreApplication.translate("Dialog", "Suchen", None),
)
self.btn_del_select_apparats.setText(
QCoreApplication.translate("Dialog", "Ausgew\u00e4hlte L\u00f6schen", None)
)
# if QT_CONFIG(statustip)
self.btn_notify_for_deletion.setStatusTip(
QCoreApplication.translate(
"Dialog",
"Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an",
None,
)
)
# endif // QT_CONFIG(statustip)
self.btn_notify_for_deletion.setText(
QCoreApplication.translate(
"Dialog", "Ausgew\u00e4hlte Benachrichtigen", None
)
)
self.btn_extendSelection.setText(
QCoreApplication.translate(
"Dialog", "Ausgew\u00e4hlte Verl\u00e4ngern", None
)
)
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), QCoreApplication.translate("Dialog", u"Suchen", None))
self.btn_del_select_apparats.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte L\u00f6schen", None))
#if QT_CONFIG(statustip)
self.btn_notify_for_deletion.setStatusTip(QCoreApplication.translate("Dialog", u"Zeigt f\u00fcr jeden ausgew\u00e4hlten Apparat eine eMail-Vorlage an", None))
#endif // QT_CONFIG(statustip)
self.btn_notify_for_deletion.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Benachrichtigen", None))
self.btn_extendSelection.setText(QCoreApplication.translate("Dialog", u"Ausgew\u00e4hlte Verl\u00e4ngern", None))
___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(1)
___qtablewidgetitem.setText(
QCoreApplication.translate("Dialog", "Apparatsname", None)
)
___qtablewidgetitem.setText(QCoreApplication.translate("Dialog", u"Apparatsname", None));
___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(2)
___qtablewidgetitem1.setText(
QCoreApplication.translate("Dialog", "Apparatsnummer", None)
)
___qtablewidgetitem1.setText(QCoreApplication.translate("Dialog", u"Apparatsnummer", None));
___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(3)
___qtablewidgetitem2.setText(
QCoreApplication.translate("Dialog", "Person", None)
)
___qtablewidgetitem2.setText(QCoreApplication.translate("Dialog", u"Person", None));
___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.setText(
QCoreApplication.translate("Dialog", "Semester", None)
)
___qtablewidgetitem4.setText(QCoreApplication.translate("Dialog", u"Semester", None));
___qtablewidgetitem5 = self.statistics_table.horizontalHeaderItem(1)
___qtablewidgetitem5.setText(
QCoreApplication.translate("Dialog", "Zugang", None)
)
___qtablewidgetitem5.setText(QCoreApplication.translate("Dialog", u"Zugang", None));
___qtablewidgetitem6 = self.statistics_table.horizontalHeaderItem(2)
___qtablewidgetitem6.setText(
QCoreApplication.translate("Dialog", "Abgang", 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
),
)
___qtablewidgetitem6.setText(QCoreApplication.translate("Dialog", u"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))
___qtablewidgetitem7 = self.book_search_result.horizontalHeaderItem(0)
___qtablewidgetitem7.setText(
QCoreApplication.translate("Dialog", "Titel", None)
)
___qtablewidgetitem7.setText(QCoreApplication.translate("Dialog", u"Titel", None));
___qtablewidgetitem8 = self.book_search_result.horizontalHeaderItem(1)
___qtablewidgetitem8.setText(
QCoreApplication.translate("Dialog", "Signatur", None)
)
___qtablewidgetitem8.setText(QCoreApplication.translate("Dialog", u"Signatur", None));
___qtablewidgetitem9 = self.book_search_result.horizontalHeaderItem(2)
___qtablewidgetitem9.setText(
QCoreApplication.translate("Dialog", "Apparat", None)
)
___qtablewidgetitem9.setText(QCoreApplication.translate("Dialog", u"Apparat", None));
# retranslateUi