git repos / SagoImageBrowser

commit d1aa6cbe

Poul Sander · 2026-03-02 16:57
d1aa6cbee007fca0eb95fe5d593d9286a0525baf patch · browse files
parent 5810327788e8302a179558b0cb0ee9af4746358c

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;
};