updated main page interaction

This commit was merged in pull request #4.
This commit is contained in:
2026-07-28 19:02:24 +02:00
parent 02d94c4a80
commit b635e7eb75
5 changed files with 232 additions and 454 deletions
+40 -58
View File
@@ -3510,15 +3510,14 @@ class Page_InitRec(QWidget):
logger_initrecform.debug("[Page -- InitRec] Entity IDs: %s", ids)
self._reset()
ids = EntityIds(
# un_id=3,
# an_id=7,
pers_id=5,
)
# ids = EntityIds(
# link_id=7,
# # un_id=3,
# # an_id=7,
# pers_id=5,
# )
# # ids = EntityIds(
# # link_id=7,
# # )
self.STATE.ids.update(ids, ignore_none=False)
if ids.empty():
@@ -6239,7 +6238,7 @@ class MainWindow(QMainWindow):
self.initrec.back_main_requested.connect(self.show_main_page)
self.initrec.back_requested.connect(self.simple_go_back)
self.initrec.company_profile_requested.connect(self.show_page_company_profile)
# self.newinitrec.update_triggered.connect(self.update_grid)
self.initrec.update_triggered.connect(self.update_grid)
self.stack.addWidget(self.initrec)
# SITE: 'Unternehmensprofil'
@@ -6344,70 +6343,53 @@ class MainWindow(QMainWindow):
for col_idx, title in enumerate(headers):
self.header_grid.addWidget(HeaderCell(title), self.current_row, col_idx)
# self.update_grid()
self.update_grid()
return main_widget
def _clear_layout(self) -> None:
clear_layout(self.grid)
# def update_grid(self) -> None:
# clear_layout(self.grid)
def update_grid(self) -> None:
clear_layout(self.grid)
# data = backend.main_page_get_entries()
data = backend.main_page_get_entries()
# for entry in data:
# self.add_row_to_grid(entry)
for entry in data:
self.add_row_to_grid(entry)
# TODO rework
# def add_row_to_grid(
# self,
# entry: types.MainPageEntry,
# ):
# row = self.current_row
def add_row_to_grid(
self,
entry: types.MainPageEntry,
):
row = self.current_row
# # NAME
# cell_name = MainPage_ClickableCell(entry.display_name, entry)
# cell_name.clicked.connect(self.goto_initial_recording)
# self.grid.addWidget(cell_name, row, 0)
# # DATE
# cell_date_name = entry.Metadaten_aktualisierung.date().strftime(DATE_FMT)
# cell_date = MainPage_ClickableCell(cell_date_name, entry)
# cell_date.clicked.connect(self.goto_initial_recording)
# self.grid.addWidget(cell_date, row, 4)
# NAME
cell_name = MainPage_ClickableCell(entry.display_name, entry)
cell_name.clicked.connect(self.goto_initial_recording)
self.grid.addWidget(cell_name, row, 0)
# DATE
cell_date_name = entry.dt_updated.date().strftime(DATE_FMT)
cell_date = MainPage_ClickableCell(cell_date_name, entry)
cell_date.clicked.connect(self.goto_initial_recording)
self.grid.addWidget(cell_date, row, 4)
# self.current_row += 1 # Zähler für den nächsten Eintrag erhöhen
self.current_row += 1 # Zähler für den nächsten Eintrag erhöhen
# TODO rework
# def goto_initial_recording(
# self,
# data: types.MainPageEntry,
# ):
# target: QWidget
# if data.type is types.RecordingType.COMPANY:
# ids = EntityIds(un_id=data.rec_id, type=RecordingType.COMPANY)
# new_state = Page_InitRecCompany_State(
# session=self.STATE.session,
# ids=ids,
# # un_id=data.rec_id, # TODO remove
# locked=True,
# )
# self.initrec_company.load_state(new_state)
# target = self.initrec_company
# elif data.type is types.RecordingType.PERSON:
# ids = EntityIds(pers_id=data.rec_id, type=RecordingType.PERSON)
# new_state = Page_InitRecPerson_State(
# session=self.STATE.session,
# ids=ids,
# # pers_id=data.rec_id, # TODO remove
# locked=True,
# )
# self.initrec_person.load_state(new_state)
# target = self.initrec_person
# else:
# raise TypeError(f"Unknown init rec type: {data.type}")
# self._navigate_to_target(target)
def goto_initial_recording(
self,
data: types.MainPageEntry,
):
new_state = Page_InitRec_State(
session=self.STATE.session,
ids=data.ids,
recording_type=data.recording_type,
locked=True,
)
self.initrec.load_state(new_state)
self._navigate_to_target(self.initrec)
def _navigate_to_target(
self,