diff --git a/src/preferencesdialog.cpp b/src/preferencesdialog.cpp index fc244ac..32de6c5 100644 --- a/src/preferencesdialog.cpp +++ b/src/preferencesdialog.cpp @@ -7,7 +7,6 @@ #include #include #include -#include PreferencesDialog::PreferencesDialog(QWidget *parent) : QDialog(parent) @@ -40,13 +39,8 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) m_lockDockingCheck = new QCheckBox("Lock docking (prevent accidental moves)"); layoutGroupLayout->addWidget(m_lockDockingCheck); - QPushButton *resetLayoutButton = new QPushButton("Reset Layout to Default"); - connect(resetLayoutButton, &QPushButton::clicked, this, [this]() { - QMessageBox::information(this, "Layout Reset", "The window layout will be reset to default."); - emit resetLayoutRequested(); - accept(); // Close the dialog - }); - layoutGroupLayout->addWidget(resetLayoutButton); + m_resetLayoutCheck = new QCheckBox("Reset layout to default when closing the menu"); + layoutGroupLayout->addWidget(m_resetLayoutCheck); mainLayout->addWidget(layoutGroup); @@ -62,7 +56,11 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) mainLayout->addLayout(buttonLayout); - connect(okButton, &QPushButton::clicked, this, &QDialog::accept); + connect(okButton, &QPushButton::clicked, this, [this]() { + if (m_resetLayoutCheck->isChecked()) + emit resetLayoutRequested(); + accept(); + }); connect(cancelButton, &QPushButton::clicked, this, &QDialog::reject); } @@ -87,3 +85,13 @@ void PreferencesDialog::setLockDocking(bool lock) { m_lockDockingCheck->setChecked(lock); } + +bool PreferencesDialog::getResetLayout() const +{ + return m_resetLayoutCheck->isChecked(); +} + +void PreferencesDialog::setResetLayout(bool reset) +{ + m_resetLayoutCheck->setChecked(reset); +} diff --git a/src/preferencesdialog.h b/src/preferencesdialog.h index 66ff12b..391fc8d 100644 --- a/src/preferencesdialog.h +++ b/src/preferencesdialog.h @@ -18,10 +18,14 @@ public: bool getLockDocking() const; void setLockDocking(bool lock); + bool getResetLayout() const; + void setResetLayout(bool reset); + signals: void resetLayoutRequested(); private: QComboBox *m_backgroundColorCombo; QCheckBox *m_lockDockingCheck; + QCheckBox *m_resetLayoutCheck; };