1
0

qt: wizard: move page.on_ready() to just after construction to avoid triggering signal/slots that might

assume on_ready() has run
This commit is contained in:
Sander van Grieken
2024-02-05 14:17:44 +01:00
parent c84e55e957
commit c78a90a242

View File

@@ -46,8 +46,10 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
self.back_button = QPushButton(_("Back"), self) self.back_button = QPushButton(_("Back"), self)
self.back_button.clicked.connect(self.on_back_button_clicked) self.back_button.clicked.connect(self.on_back_button_clicked)
self.back_button.setEnabled(False)
self.next_button = QPushButton(_("Next"), self) self.next_button = QPushButton(_("Next"), self)
self.next_button.clicked.connect(self.on_next_button_clicked) self.next_button.clicked.connect(self.on_next_button_clicked)
self.next_button.setEnabled(False)
self.next_button.setDefault(True) self.next_button.setDefault(True)
self.requestPrev.connect(self.on_back_button_clicked) self.requestPrev.connect(self.on_back_button_clicked)
self.requestNext.connect(self.on_next_button_clicked) self.requestNext.connect(self.on_next_button_clicked)
@@ -144,12 +146,14 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
raise e raise e
page.wizard_data = copy.deepcopy(wdata) page.wizard_data = copy.deepcopy(wdata)
page.params = params page.params = params
page.updated.connect(self.on_page_updated) page.on_ready() # call before component emits any signals
self._logger.debug(f'load_next_component: {page=!r}') self._logger.debug(f'load_next_component: {page=!r}')
page.updated.connect(self.on_page_updated)
# add to stack and update wizard # add to stack and update wizard
self.main_widget.setCurrentIndex(self.main_widget.addWidget(page)) self.main_widget.setCurrentIndex(self.main_widget.addWidget(page))
page.on_ready()
page.apply() page.apply()
self.update() self.update()