feat: able to disable built-in close window animation

This commit is contained in:
2025-06-22 15:04:15 +08:00
parent 3cfb25db9a
commit 1623ca315a
6 changed files with 47 additions and 15 deletions

View File

@ -20,6 +20,7 @@
SettingsDialog::SettingsDialog(QWidget *parent)
: QDialog(parent)
, m_stayOnTop(new QCheckBox)
, m_useBuiltInCloseAnimation(new QCheckBox)
, m_useLightCheckerboard(new QCheckBox)
, m_doubleClickBehavior(new QComboBox)
, m_mouseWheelBehavior(new QComboBox)
@ -118,6 +119,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
}
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop);
settingsForm->addRow(tr("Use built-in close window animation"), m_useBuiltInCloseAnimation);
settingsForm->addRow(tr("Use light-color checkerboard"), m_useLightCheckerboard);
settingsForm->addRow(tr("Double-click behavior"), m_doubleClickBehavior);
settingsForm->addRow(tr("Mouse wheel behavior"), m_mouseWheelBehavior);
@ -125,6 +127,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
settingsForm->addRow(tr("HiDPI scale factor rounding policy"), m_hiDpiRoundingPolicyBehavior);
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
m_doubleClickBehavior->setModel(new QStringListModel(dcbDropDown));
Settings::DoubleClickBehavior dcb = Settings::instance()->doubleClickBehavior();
@ -148,6 +151,10 @@ SettingsDialog::SettingsDialog(QWidget *parent)
Settings::instance()->setStayOnTop(state == Qt::Checked);
});
connect(m_useBuiltInCloseAnimation, &QCheckBox::stateChanged, this, [ = ](int state){
Settings::instance()->setUseBuiltInCloseAnimation(state == Qt::Checked);
});
connect(m_useLightCheckerboard, &QCheckBox::stateChanged, this, [ = ](int state){
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
});