diff --git a/src/ui/userInterface.py b/src/ui/userInterface.py index d270be9..a53cbd1 100644 --- a/src/ui/userInterface.py +++ b/src/ui/userInterface.py @@ -189,11 +189,8 @@ class Ui(Ui_Semesterapparat): 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 self.validate_thread = QThread() @@ -236,6 +233,9 @@ class Ui(Ui_Semesterapparat): self.availChecker = None self.mail_thread = None self.autoGrabber = None + + self.elsatab.setLayout(QtWidgets.QVBoxLayout()) + self.search_statistics.setLayout(QtWidgets.QVBoxLayout()) def setWidget(self, widget): #remove all widgets from localwidget @@ -279,10 +279,7 @@ class Ui(Ui_Semesterapparat): # delete all temporary files tempdelete() sys.exit() - - - - + def get_apparats(self): alist = self.db.getAllAparats(deleted=0) alist = natsorted(alist, key=lambda x: x[4], reverse=True) @@ -308,9 +305,14 @@ class Ui(Ui_Semesterapparat): stats_layout = self.search_statistics.layout() if stats_layout is not None: # delete tabpage, re-add with same name at same position - return - layout = QtWidgets.QVBoxLayout(self.search_statistics) - layout.addWidget(self.statistics) + for widget in [stats_layout.itemAt(i).widget() for i in range(stats_layout.count())]: + stats_layout.removeWidget(widget) + widget.deleteLater() + statistics = SearchStatisticPage() + statistics.apparat_open.connect(self.open_apparat) + statistics.reloadSignal.connect(self.reload) + + stats_layout.addWidget(statistics) # print("searchpage") if self.tabWidget.currentIndex() == 0: # Apparate @@ -321,48 +323,16 @@ class Ui(Ui_Semesterapparat): elsa_layout = self.elsatab.layout() if elsa_layout is not None: # delete tabpage, re-add with same name at same position - return - layout = QtWidgets.QVBoxLayout(self.elsatab) - layout.addWidget(self.elsa) + widgets = [self.elsatab.layout().itemAt(i).widget() for i in range(self.elsatab.layout().count())] + for widget in widgets: + self.elsatab.layout().removeWidget(widget) + widget.deleteLater() + + elsa_layout.addWidget(ElsaDialog()) + print("added") 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): """Generates the current semester. @@ -660,6 +630,7 @@ class Ui(Ui_Semesterapparat): # *create a new apparat self.btn_apparat_save.show() if self.btn_apparat_save.isHidden() else None # clear dokumemt_list + self.__clear_fields() self.dokument_list.setRowCount(0) self.cancel_active_selection.setEnabled(True) self.app_group_box.setEnabled(True) @@ -816,6 +787,7 @@ class Ui(Ui_Semesterapparat): # set all radio buttons to unchecked self.sem_sommer.setChecked(False) self.sem_winter.setChecked(False) + self.check_eternal_app.setChecked(False) self.add_medium.setEnabled(False) for child in self.app_group_box.findChildren(QtWidgets.QLineEdit): @@ -1193,7 +1165,9 @@ class Ui(Ui_Semesterapparat): self.groupBox.hide() self.check_send_mail.setChecked(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): if not self.validate_fields(): self.confirm_popup("Bitte alle Pflichtfelder ausfüllen!", title="Fehler")