searchpage updates
This commit is contained in:
@@ -21,7 +21,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
reloadSignal = pyqtSignal()
|
reloadSignal = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.logger = MyLogger("search_statistic_page")
|
self.logger = MyLogger("SearchStatisticPage")
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.book_search_result.horizontalHeader().setSectionResizeMode(
|
self.book_search_result.horizontalHeader().setSectionResizeMode(
|
||||||
@@ -42,6 +42,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
# statistic side buttons
|
# statistic side buttons
|
||||||
self.btn_notify_for_deletion.clicked.connect(self.notify_for_deletion)
|
self.btn_notify_for_deletion.clicked.connect(self.notify_for_deletion)
|
||||||
self.btn_notify_for_deletion.setEnabled(False)
|
self.btn_notify_for_deletion.setEnabled(False)
|
||||||
|
self.btn_del_select_apparats.setEnabled(False)
|
||||||
self.tableWidget.resizeColumnsToContents()
|
self.tableWidget.resizeColumnsToContents()
|
||||||
self.tableWidget.resizeRowsToContents()
|
self.tableWidget.resizeRowsToContents()
|
||||||
self.db = Database()
|
self.db = Database()
|
||||||
@@ -170,7 +171,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
self.box_erstellsemester.setEnabled(True)
|
self.box_erstellsemester.setEnabled(True)
|
||||||
self.box_dauerapp.setEnabled(True)
|
self.box_dauerapp.setEnabled(True)
|
||||||
|
|
||||||
def populate_tab(self):
|
def populate_tab(self, table_or_graph=0):
|
||||||
# add default values to the dropdowns
|
# add default values to the dropdowns
|
||||||
self.box_appnrs.clear()
|
self.box_appnrs.clear()
|
||||||
self.box_appnrs.addItem("")
|
self.box_appnrs.addItem("")
|
||||||
@@ -231,9 +232,10 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
|
|
||||||
# place the graph into tabWidget_3
|
# place the graph into tabWidget_3
|
||||||
self.tabWidget_3.addTab(graph, "Graph")
|
self.tabWidget_3.addTab(graph, "Graph")
|
||||||
self.tabWidget_3.setCurrentIndex(0)
|
self.tabWidget_3.setCurrentIndex(table_or_graph)
|
||||||
|
|
||||||
def delete_selected_apparats(self):
|
def delete_selected_apparats(self):
|
||||||
|
table_or_graph = self.tabWidget_3.currentIndex()
|
||||||
# get all selected apparats
|
# get all selected apparats
|
||||||
selected_apparats = []
|
selected_apparats = []
|
||||||
selected_apparat_rows = []
|
selected_apparat_rows = []
|
||||||
@@ -250,7 +252,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
for j in range(5):
|
for j in range(5):
|
||||||
self.tableWidget.item(row, j).setBackground(QtGui.QColor(235, 74, 71))
|
self.tableWidget.item(row, j).setBackground(QtGui.QColor(235, 74, 71))
|
||||||
# refresh the table
|
# refresh the table
|
||||||
self.populate_tab()
|
self.populate_tab(table_or_graph)
|
||||||
self.btn_del_select_apparats.setEnabled(False)
|
self.btn_del_select_apparats.setEnabled(False)
|
||||||
|
|
||||||
def statistics(self):
|
def statistics(self):
|
||||||
@@ -357,11 +359,59 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
|||||||
self.dataLayout.addWidget(deleted_status)
|
self.dataLayout.addWidget(deleted_status)
|
||||||
|
|
||||||
# self.setStatisticTableSize()
|
# self.setStatisticTableSize()
|
||||||
created_status.person_double_clicked.emit(self.apparat_open)
|
created_status.person_double_clicked.connect(self.open_apparat)
|
||||||
created_status.setToolTip("Doppelklick um den Semesterapparat zu öffnen")
|
created_status.setToolTip("Doppelklick um den Semesterapparat zu öffnen")
|
||||||
deleted_status.setToolTip("Nur zur Übersicht")
|
deleted_status.setToolTip("Nur zur Übersicht")
|
||||||
# set deleted_status background to slightly gray
|
# set deleted_status background to slightly gray
|
||||||
|
|
||||||
|
def open_apparat(self, *args):
|
||||||
|
header = "created"
|
||||||
|
# in *args
|
||||||
|
parent_depth = args[2]
|
||||||
|
apparat = args[1]
|
||||||
|
if header == "deleted" and parent_depth == 2:
|
||||||
|
# TODO: warn message here
|
||||||
|
print("warning")
|
||||||
|
if parent_depth == 1:
|
||||||
|
# person selected case - open all apparats from this person in the tableWidget
|
||||||
|
self.tableWidget.setRowCount(0)
|
||||||
|
prof_id = self.db.getProfId(apparat.split("(")[0].strip())
|
||||||
|
apparats = self.db.getApparatsByProf(prof_id)
|
||||||
|
for app in apparats:
|
||||||
|
# set the items 0 = clickable checkbox, 1 = appname, 2 = profname, 3 = fach
|
||||||
|
# insert new row
|
||||||
|
self.tableWidget.insertRow(0)
|
||||||
|
self.tableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem(""))
|
||||||
|
self.tableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(app[1]))
|
||||||
|
self.tableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(str(app[4])))
|
||||||
|
self.tableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem(app[2]))
|
||||||
|
self.tableWidget.setItem(0, 4, QtWidgets.QTableWidgetItem(app[3]))
|
||||||
|
# replace the 0 with a checkbox
|
||||||
|
checkbox = QtWidgets.QCheckBox()
|
||||||
|
checkbox.setChecked(False)
|
||||||
|
self.tableWidget.setCellWidget(0, 0, checkbox)
|
||||||
|
# if i[9] is 1, set the background of the row to red
|
||||||
|
if int(app[9]) == 1:
|
||||||
|
for j in range(5):
|
||||||
|
self.tableWidget.item(0, j).setBackground(
|
||||||
|
QtGui.QColor(235, 74, 71)
|
||||||
|
)
|
||||||
|
# disable the checkbox
|
||||||
|
self.tableWidget.cellWidget(0, 0).setEnabled(False)
|
||||||
|
# set the tooltip
|
||||||
|
self.tableWidget.cellWidget(0, 0).setToolTip(
|
||||||
|
"Dieser Semesterapparat kann nicht gelöscht werden, da er bereits gelöscht wurde"
|
||||||
|
)
|
||||||
|
elif parent_depth == 2:
|
||||||
|
print("depth", parent_depth)
|
||||||
|
# apparat selected case - open the apparat in the frame
|
||||||
|
self.apparat_open.emit(apparat)
|
||||||
|
return
|
||||||
|
|
||||||
|
def emit_signal(self, *args):
|
||||||
|
print("emit_signal", *args)
|
||||||
|
self.apparat_open.emit(args[1])
|
||||||
|
|
||||||
|
|
||||||
def show_ui():
|
def show_ui():
|
||||||
app = QtWidgets.QApplication([])
|
app = QtWidgets.QApplication([])
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ class Ui_Dialog(object):
|
|||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
self.statistics_table.setHorizontalHeaderItem(2, item)
|
self.statistics_table.setHorizontalHeaderItem(2, item)
|
||||||
self.statistics_table.horizontalHeader().setCascadingSectionResizes(True)
|
self.statistics_table.horizontalHeader().setCascadingSectionResizes(True)
|
||||||
self.statistics_table.horizontalHeader().setDefaultSectionSize(59)
|
self.statistics_table.horizontalHeader().setDefaultSectionSize(80)
|
||||||
self.statistics_table.horizontalHeader().setMinimumSectionSize(40)
|
self.statistics_table.horizontalHeader().setMinimumSectionSize(40)
|
||||||
self.statistics_table.horizontalHeader().setSortIndicatorShown(True)
|
self.statistics_table.horizontalHeader().setSortIndicatorShown(True)
|
||||||
self.statistics_table.horizontalHeader().setStretchLastSection(True)
|
self.statistics_table.horizontalHeader().setStretchLastSection(True)
|
||||||
@@ -219,6 +219,8 @@ class Ui_Dialog(object):
|
|||||||
self.graph_table.setObjectName("graph_table")
|
self.graph_table.setObjectName("graph_table")
|
||||||
self.tabWidget_3.addTab(self.graph_table, "")
|
self.tabWidget_3.addTab(self.graph_table, "")
|
||||||
self.horizontalLayout.addWidget(self.tabWidget_3)
|
self.horizontalLayout.addWidget(self.tabWidget_3)
|
||||||
|
self.horizontalLayout.setStretch(0, 55)
|
||||||
|
self.horizontalLayout.setStretch(1, 45)
|
||||||
self.stackedWidget_4.addWidget(self.apparatResult)
|
self.stackedWidget_4.addWidget(self.apparatResult)
|
||||||
self.bookresult = QtWidgets.QWidget()
|
self.bookresult = QtWidgets.QWidget()
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
|
||||||
|
|||||||
@@ -305,7 +305,7 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="apparatResult">
|
<widget class="QWidget" name="apparatResult">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="55,45">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
@@ -437,7 +437,7 @@
|
|||||||
<number>40</number>
|
<number>40</number>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||||
<number>59</number>
|
<number>80</number>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
|
|||||||
Reference in New Issue
Block a user