commit d1aa6cbe
Replace the reset button with a checkbox
Changed files
| M | src/preferencesdialog.cpp before |
| M | src/preferencesdialog.h before |
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 <QCheckBox>
#include <QPushButton>
#include <QGroupBox>
-#include <QMessageBox>
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;
};