1
0

revert: remove the ability that disable built-in close window animation

no need to preserve this option because frameless window and
close window animation will be fully removed in future.
This commit is contained in:
2026-07-02 20:32:30 +08:00
parent 457647c59f
commit 032752faf9
6 changed files with 11 additions and 43 deletions

View File

@@ -75,7 +75,11 @@ MainWindow::MainWindow(QWidget *parent)
m_exitAnimationGroup->addAnimation(m_fadeOutAnimation); m_exitAnimationGroup->addAnimation(m_fadeOutAnimation);
m_exitAnimationGroup->addAnimation(m_floatUpAnimation); m_exitAnimationGroup->addAnimation(m_floatUpAnimation);
connect(m_exitAnimationGroup, &QParallelAnimationGroup::finished, connect(m_exitAnimationGroup, &QParallelAnimationGroup::finished,
this, &MainWindow::doCloseWindow); #ifdef Q_OS_MAC
this, &QWidget::hide);
#else
this, &QWidget::close);
#endif
GraphicsScene * scene = new GraphicsScene(this); GraphicsScene * scene = new GraphicsScene(this);
@@ -592,16 +596,12 @@ void MainWindow::centerWindow()
void MainWindow::closeWindow() void MainWindow::closeWindow()
{ {
if (Settings::instance()->useBuiltInCloseAnimation()) { QRect windowRect(this->geometry());
QRect windowRect(this->geometry()); m_floatUpAnimation->setStartValue(windowRect);
m_floatUpAnimation->setStartValue(windowRect); m_floatUpAnimation->setEndValue(windowRect.adjusted(0, -80, 0, 0));
m_floatUpAnimation->setEndValue(windowRect.adjusted(0, -80, 0, 0)); m_floatUpAnimation->setStartValue(QRect(this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height()));
m_floatUpAnimation->setStartValue(QRect(this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height())); m_floatUpAnimation->setEndValue(QRect(this->geometry().x(), this->geometry().y()-80, this->geometry().width(), this->geometry().height()));
m_floatUpAnimation->setEndValue(QRect(this->geometry().x(), this->geometry().y()-80, this->geometry().width(), this->geometry().height())); m_exitAnimationGroup->start();
m_exitAnimationGroup->start();
} else {
doCloseWindow();
}
} }
void MainWindow::updateWidgetsPosition() void MainWindow::updateWidgetsPosition()
@@ -925,15 +925,6 @@ void MainWindow::on_actionQuitApp_triggered()
quitAppAction(false); quitAppAction(false);
} }
void MainWindow::doCloseWindow()
{
#ifdef Q_OS_MAC
this->hide();
#else
this->close();
#endif
}
bool MainWindow::updateFileWatcher(const QString &basePath) bool MainWindow::updateFileWatcher(const QString &basePath)
{ {
m_fileSystemWatcher->removePaths(m_fileSystemWatcher->files()); m_fileSystemWatcher->removePaths(m_fileSystemWatcher->files());

View File

@@ -106,8 +106,6 @@ private slots:
void on_actionLocateInFileManager_triggered(); void on_actionLocateInFileManager_triggered();
void on_actionQuitApp_triggered(); void on_actionQuitApp_triggered();
void doCloseWindow();
private: private:
bool updateFileWatcher(const QString & basePath = QString()); bool updateFileWatcher(const QString & basePath = QString());
void updateGalleryButtonsVisibility(); void updateGalleryButtonsVisibility();

View File

@@ -50,11 +50,6 @@ bool Settings::stayOnTop() const
return m_qsettings->value("stay_on_top", true).toBool(); return m_qsettings->value("stay_on_top", true).toBool();
} }
bool Settings::useBuiltInCloseAnimation() const
{
return m_qsettings->value("use_built_in_close_animation", true).toBool();
}
bool Settings::useLightCheckerboard() const bool Settings::useLightCheckerboard() const
{ {
return m_qsettings->value("use_light_checkerboard", false).toBool(); return m_qsettings->value("use_light_checkerboard", false).toBool();
@@ -112,12 +107,6 @@ void Settings::setStayOnTop(bool on)
m_qsettings->sync(); m_qsettings->sync();
} }
void Settings::setUseBuiltInCloseAnimation(bool on)
{
m_qsettings->setValue("use_built_in_close_animation", on);
m_qsettings->sync();
}
void Settings::setUseLightCheckerboard(bool light) void Settings::setUseLightCheckerboard(bool light)
{ {
m_qsettings->setValue("use_light_checkerboard", light); m_qsettings->setValue("use_light_checkerboard", light);

View File

@@ -35,7 +35,6 @@ public:
static Settings *instance(); static Settings *instance();
bool stayOnTop() const; bool stayOnTop() const;
bool useBuiltInCloseAnimation() const;
bool useLightCheckerboard() const; bool useLightCheckerboard() const;
bool loopGallery() const; bool loopGallery() const;
bool svgTiny12Only() const; bool svgTiny12Only() const;
@@ -45,7 +44,6 @@ public:
Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const; Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const;
void setStayOnTop(bool on); void setStayOnTop(bool on);
void setUseBuiltInCloseAnimation(bool on);
void setUseLightCheckerboard(bool light); void setUseLightCheckerboard(bool light);
void setLoopGallery(bool on); void setLoopGallery(bool on);
void setSvgTiny12Only(bool on); void setSvgTiny12Only(bool on);

View File

@@ -20,7 +20,6 @@
SettingsDialog::SettingsDialog(QWidget *parent) SettingsDialog::SettingsDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_stayOnTop(new QCheckBox) , m_stayOnTop(new QCheckBox)
, m_useBuiltInCloseAnimation(new QCheckBox)
, m_useLightCheckerboard(new QCheckBox) , m_useLightCheckerboard(new QCheckBox)
, m_loopGallery(new QCheckBox) , m_loopGallery(new QCheckBox)
, m_svgTiny12Only(new QCheckBox) , m_svgTiny12Only(new QCheckBox)
@@ -121,7 +120,6 @@ SettingsDialog::SettingsDialog(QWidget *parent)
} }
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop); 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("Use light-color checkerboard"), m_useLightCheckerboard);
settingsForm->addRow(tr("Loop the loaded gallery"), m_loopGallery); settingsForm->addRow(tr("Loop the loaded gallery"), m_loopGallery);
settingsForm->addRow(tr("Limit SVG support to SVG Tiny 1.2"), m_svgTiny12Only); settingsForm->addRow(tr("Limit SVG support to SVG Tiny 1.2"), m_svgTiny12Only);
@@ -131,7 +129,6 @@ SettingsDialog::SettingsDialog(QWidget *parent)
settingsForm->addRow(tr("HiDPI scale factor rounding policy"), m_hiDpiRoundingPolicyBehavior); settingsForm->addRow(tr("HiDPI scale factor rounding policy"), m_hiDpiRoundingPolicyBehavior);
m_stayOnTop->setChecked(Settings::instance()->stayOnTop()); m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard()); m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
m_loopGallery->setChecked(Settings::instance()->loopGallery()); m_loopGallery->setChecked(Settings::instance()->loopGallery());
m_svgTiny12Only->setChecked(Settings::instance()->svgTiny12Only()); m_svgTiny12Only->setChecked(Settings::instance()->svgTiny12Only());
@@ -165,10 +162,6 @@ SettingsDialog::SettingsDialog(QWidget *parent)
Settings::instance()->setStayOnTop(state == Qt::Checked); Settings::instance()->setStayOnTop(state == Qt::Checked);
}); });
connect(m_useBuiltInCloseAnimation, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
Settings::instance()->setUseBuiltInCloseAnimation(state == Qt::Checked);
});
connect(m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){ connect(m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked); Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
}); });

View File

@@ -23,7 +23,6 @@ public slots:
private: private:
QCheckBox * m_stayOnTop = nullptr; QCheckBox * m_stayOnTop = nullptr;
QCheckBox * m_useBuiltInCloseAnimation = nullptr;
QCheckBox * m_useLightCheckerboard = nullptr; QCheckBox * m_useLightCheckerboard = nullptr;
QCheckBox * m_loopGallery = nullptr; QCheckBox * m_loopGallery = nullptr;
QCheckBox * m_svgTiny12Only = nullptr; QCheckBox * m_svgTiny12Only = nullptr;