From cae623bc19361e1c437b2c9e2160c3fa788cd816 Mon Sep 17 00:00:00 2001 From: foefl Date: Mon, 6 Jul 2026 16:09:10 +0200 Subject: [PATCH] add main state and remove unnecessary lines --- src/wce_crm/gui.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/wce_crm/gui.py b/src/wce_crm/gui.py index 26c7a75..ec826cd 100644 --- a/src/wce_crm/gui.py +++ b/src/wce_crm/gui.py @@ -313,6 +313,12 @@ class Session: user_name: str +@dc.dataclass(slots=True) +class Page_MainPage_State: + session: Session + row_count: int = 0 + + @dc.dataclass(slots=True) class Page_NewInitRec_State: session: Session @@ -2890,10 +2896,6 @@ class Page_InitRecCompany(QWidget): def reset_form(self) -> None: self.auto_form._reset_form() - @property - def current_id(self) -> RecId: - return self.auto_form.current_id - def sync_state_to_GUI(self) -> None: auto_form_state = AutoForm_State( session=self.STATE.session, @@ -4242,7 +4244,8 @@ class MainWindow(QMainWindow): super().__init__() # STATE MANAGEMENT - self.session = Session(user_id=42, user_name="TEST-USER") + session = Session(user_id=42, user_name="TEST-USER") + self.STATE = Page_MainPage_State(session=session) self._history_stack: list[int] = [] self.setWindowTitle("Master") @@ -4260,14 +4263,14 @@ class MainWindow(QMainWindow): self.stack.addWidget(self.main_page) # SITE: add new entries for 'Grunderfassung' - new_initrec_select_state = Page_NewInitRec_State(session=self.session) + new_initrec_select_state = Page_NewInitRec_State(session=self.STATE.session) self.new_initrec_select = Page_NewInitRec(new_initrec_select_state) self.new_initrec_select.back_requested.connect(self.show_main_page) self.new_initrec_select.company_requested.connect(self.show_page_initrec_company) self.new_initrec_select.person_requested.connect(self.show_page_initrec_person) self.stack.addWidget(self.new_initrec_select) # SITE: 'Grunderfassung Unternehmen' - initrec_company_state = Page_InitRecCompany_State(session=self.session) + initrec_company_state = Page_InitRecCompany_State(session=self.STATE.session) self.initrec_company = Page_InitRecCompany(initrec_company_state) self.initrec_company.back_main_requested.connect(self.show_main_page) self.initrec_company.back_requested.connect(self.show_new_entry_select) @@ -4275,21 +4278,21 @@ class MainWindow(QMainWindow): self.initrec_company.company_profile_requested.connect(self.show_page_company_profile) self.stack.addWidget(self.initrec_company) # SITE: 'Grunderfassung Person' - initrec_person_state = Page_InitRecPerson_State(session=self.session) + initrec_person_state = Page_InitRecPerson_State(session=self.STATE.session) self.initrec_person = Page_InitRecPerson(initrec_person_state) self.initrec_person.back_main_requested.connect(self.show_main_page) self.initrec_person.back_requested.connect(self.show_new_entry_select) self.initrec_person.update_triggered.connect(self.update_grid) self.stack.addWidget(self.initrec_person) # SITE: 'Unternehmensprofil' - comp_profile_state = Page_CompanyProfile_State(session=self.session) + comp_profile_state = Page_CompanyProfile_State(session=self.STATE.session) self.company_profile = Page_CompanyProfile(comp_profile_state) self.company_profile.back_main_requested.connect(self.show_main_page) self.company_profile.back_requested.connect(self.show_page_initrec_company) self.company_profile.consulting_requested.connect(self.show_page_consulting) self.stack.addWidget(self.company_profile) # SITE: 'Beratungsgespräch' - self.consulting_page = Page_Consulting(self.session) + self.consulting_page = Page_Consulting(self.STATE.session) self.consulting_page.back_main_requested.connect(self.show_main_page) # self.consulting_page.back_requested.connect( # self.show_page_company_profile_without_load @@ -4420,15 +4423,19 @@ class MainWindow(QMainWindow): ): target: QWidget if data.type is types.InitRecType.COMPANY: - new_state = Page_InitRecCompany_State(session=self.session, un_id=data.rec_id) + new_state = Page_InitRecCompany_State( + session=self.STATE.session, un_id=data.rec_id + ) self.initrec_company.load_state(new_state) target = self.initrec_company - # self.stack.setCurrentWidget(self.initrec_company) elif data.type is types.InitRecType.PERSON: - new_state = Page_InitRecPerson_State(session=self.session, pers_id=data.rec_id) + new_state = Page_InitRecPerson_State( + session=self.STATE.session, pers_id=data.rec_id + ) self.initrec_person.load_state(new_state) target = self.initrec_person - # self.stack.setCurrentWidget(self.initrec_person) + else: + raise TypeError(f"Unknown init rec type: {data.type}") self._navigate_to_target(target)