Fix PageDialog OK button

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2025-04-15 19:42:46 +01:00
parent 76db89460b
commit 0b3b9debd8
2 changed files with 22 additions and 7 deletions

View File

@@ -56,13 +56,26 @@ PageDialog::PageDialog(BasePageProvider* pageProvider, QString defaultId, QWidge
restoreGeometry(QByteArray::fromBase64(APPLICATION->settings()->get("PagedGeometry").toByteArray()));
}
void PageDialog::closeEvent([[maybe_unused]] QCloseEvent* event)
void PageDialog::accept()
{
if (handleClose())
QDialog::accept();
}
void PageDialog::closeEvent(QCloseEvent* event)
{
if (handleClose())
QDialog::closeEvent(event);
}
bool PageDialog::handleClose() const
{
qDebug() << "Paged dialog close requested";
if (m_container->prepareToClose()) {
qDebug() << "Paged dialog close approved";
APPLICATION->settings()->set("PagedGeometry", saveGeometry().toBase64());
qDebug() << "Paged dialog geometry saved";
QDialog::closeEvent(event);
}
if (!m_container->prepareToClose())
return false;
qDebug() << "Paged dialog close approved";
APPLICATION->settings()->set("PagedGeometry", saveGeometry().toBase64());
qDebug() << "Paged dialog geometry saved";
return true;
}

View File

@@ -29,7 +29,9 @@ class PageDialog : public QDialog {
void applied();
private:
void accept() override;
void closeEvent(QCloseEvent* event) override;
bool handleClose() const;
private:
PageContainer* m_container;