fix bug where checkboxes are not cleared at cancel/create

This commit is contained in:
WorldTeacher
2024-09-20 09:47:13 +02:00
parent 14627cb824
commit e91a40695a

View File

@@ -189,11 +189,8 @@ class Ui(Ui_Semesterapparat):
self.tabWidget.currentChanged.connect(self.tabW1_changed) self.tabWidget.currentChanged.connect(self.tabW1_changed)
self.statistics = SearchStatisticPage()
self.statistics.apparat_open.connect(self.open_apparat)
self.statistics.reloadSignal.connect(self.reload)
self.elsa = ElsaDialog()
# create a thread, that continually checks the validity of the inputs # create a thread, that continually checks the validity of the inputs
self.validate_thread = QThread() self.validate_thread = QThread()
@@ -237,6 +234,9 @@ class Ui(Ui_Semesterapparat):
self.mail_thread = None self.mail_thread = None
self.autoGrabber = None self.autoGrabber = None
self.elsatab.setLayout(QtWidgets.QVBoxLayout())
self.search_statistics.setLayout(QtWidgets.QVBoxLayout())
def setWidget(self, widget): def setWidget(self, widget):
#remove all widgets from localwidget #remove all widgets from localwidget
@@ -280,9 +280,6 @@ class Ui(Ui_Semesterapparat):
tempdelete() tempdelete()
sys.exit() sys.exit()
def get_apparats(self): def get_apparats(self):
alist = self.db.getAllAparats(deleted=0) alist = self.db.getAllAparats(deleted=0)
alist = natsorted(alist, key=lambda x: x[4], reverse=True) alist = natsorted(alist, key=lambda x: x[4], reverse=True)
@@ -308,9 +305,14 @@ class Ui(Ui_Semesterapparat):
stats_layout = self.search_statistics.layout() stats_layout = self.search_statistics.layout()
if stats_layout is not None: if stats_layout is not None:
# delete tabpage, re-add with same name at same position # delete tabpage, re-add with same name at same position
return for widget in [stats_layout.itemAt(i).widget() for i in range(stats_layout.count())]:
layout = QtWidgets.QVBoxLayout(self.search_statistics) stats_layout.removeWidget(widget)
layout.addWidget(self.statistics) widget.deleteLater()
statistics = SearchStatisticPage()
statistics.apparat_open.connect(self.open_apparat)
statistics.reloadSignal.connect(self.reload)
stats_layout.addWidget(statistics)
# print("searchpage") # print("searchpage")
if self.tabWidget.currentIndex() == 0: # Apparate if self.tabWidget.currentIndex() == 0: # Apparate
@@ -321,48 +323,16 @@ class Ui(Ui_Semesterapparat):
elsa_layout = self.elsatab.layout() elsa_layout = self.elsatab.layout()
if elsa_layout is not None: if elsa_layout is not None:
# delete tabpage, re-add with same name at same position # delete tabpage, re-add with same name at same position
return widgets = [self.elsatab.layout().itemAt(i).widget() for i in range(self.elsatab.layout().count())]
layout = QtWidgets.QVBoxLayout(self.elsatab) for widget in widgets:
layout.addWidget(self.elsa) self.elsatab.layout().removeWidget(widget)
widget.deleteLater()
elsa_layout.addWidget(ElsaDialog())
print("added")
pass pass
def edit_faculty_member_set_data(self):
# get the selected member
name = self.edit_faculty_member_select_member.currentText()
fullname = name.replace(",", "")
# print(fullname, name)
# get the data for the selected member
data = self.db.getProfByName(fullname)
# set the data
# print(data)
if data is None:
self.edit_faculty_member_title.setText("")
self.faculty_member_old_telnr.setText("")
self.faculty_member_oldmail.setText("")
self.edit_faculty_member_title.setText("")
else:
self.edit_faculty_member_title.setText(data[1])
self.faculty_member_old_telnr.setText(data[6])
self.faculty_member_oldmail.setText(data[5])
(
self.edit_faculty_member_title.setText(data[1])
if data[1] is not None
else self.edit_faculty_member_title.setText("")
)
def generateSemester(self, today=False): def generateSemester(self, today=False):
"""Generates the current semester. """Generates the current semester.
@@ -660,6 +630,7 @@ class Ui(Ui_Semesterapparat):
# *create a new apparat # *create a new apparat
self.btn_apparat_save.show() if self.btn_apparat_save.isHidden() else None self.btn_apparat_save.show() if self.btn_apparat_save.isHidden() else None
# clear dokumemt_list # clear dokumemt_list
self.__clear_fields()
self.dokument_list.setRowCount(0) self.dokument_list.setRowCount(0)
self.cancel_active_selection.setEnabled(True) self.cancel_active_selection.setEnabled(True)
self.app_group_box.setEnabled(True) self.app_group_box.setEnabled(True)
@@ -816,6 +787,7 @@ class Ui(Ui_Semesterapparat):
# set all radio buttons to unchecked # set all radio buttons to unchecked
self.sem_sommer.setChecked(False) self.sem_sommer.setChecked(False)
self.sem_winter.setChecked(False) self.sem_winter.setChecked(False)
self.check_eternal_app.setChecked(False)
self.add_medium.setEnabled(False) self.add_medium.setEnabled(False)
for child in self.app_group_box.findChildren(QtWidgets.QLineEdit): for child in self.app_group_box.findChildren(QtWidgets.QLineEdit):
@@ -1193,6 +1165,8 @@ class Ui(Ui_Semesterapparat):
self.groupBox.hide() self.groupBox.hide()
self.check_send_mail.setChecked(False) self.check_send_mail.setChecked(False)
self.cancel_active_selection.setEnabled(False) self.cancel_active_selection.setEnabled(False)
#check if sem_sommer, sem_winter and check_eternal_app are checked. if yes, set them to unchecked
def btn_save_apparat(self, clear_fields=True): def btn_save_apparat(self, clear_fields=True):
if not self.validate_fields(): if not self.validate_fields():