From 16532375da5ecb7676d1502cde7a2316e261425b Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Thu, 27 Oct 2022 14:30:33 +0200 Subject: [PATCH] Fix macOS autoupdater settings Signed-off-by: Claudio Cambra --- src/gui/generalsettings.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp index 8834c3567c3f8..6a5164a265382 100644 --- a/src/gui/generalsettings.cpp +++ b/src/gui/generalsettings.cpp @@ -262,20 +262,27 @@ void GeneralSettings::loadMiscSettings() #if defined(BUILD_UPDATER) void GeneralSettings::slotUpdateInfo() { - if (ConfigFile().skipUpdateCheck() || !Updater::instance()) { + const auto updater = Updater::instance(); + if (ConfigFile().skipUpdateCheck() || !updater) { // updater disabled on compile _ui->updatesGroupBox->setVisible(false); return; } + if (updater) { + connect(_ui->updateButton, &QAbstractButton::clicked, this, + &GeneralSettings::slotUpdateCheckNow, Qt::UniqueConnection); + connect(_ui->autoCheckForUpdatesCheckBox, &QAbstractButton::toggled, this, + &GeneralSettings::slotToggleAutoUpdateCheck, Qt::UniqueConnection); + _ui->autoCheckForUpdatesCheckBox->setChecked(ConfigFile().autoUpdateCheck()); + } + // Note: the sparkle-updater is not an OCUpdater - auto *ocupdater = qobject_cast(Updater::instance()); + auto *ocupdater = qobject_cast(updater); if (ocupdater) { connect(ocupdater, &OCUpdater::downloadStateChanged, this, &GeneralSettings::slotUpdateInfo, Qt::UniqueConnection); connect(_ui->restartButton, &QAbstractButton::clicked, ocupdater, &OCUpdater::slotStartInstaller, Qt::UniqueConnection); connect(_ui->restartButton, &QAbstractButton::clicked, qApp, &QApplication::quit, Qt::UniqueConnection); - connect(_ui->updateButton, &QAbstractButton::clicked, this, &GeneralSettings::slotUpdateCheckNow, Qt::UniqueConnection); - connect(_ui->autoCheckForUpdatesCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::slotToggleAutoUpdateCheck); QString status = ocupdater->statusString(OCUpdater::UpdateStatusStringFormat::Html); Theme::replaceLinkColorStringBackgroundAware(status); @@ -291,14 +298,11 @@ void GeneralSettings::slotUpdateInfo() _ui->updateButton->setEnabled(ocupdater->downloadState() != OCUpdater::CheckingServer && ocupdater->downloadState() != OCUpdater::Downloading && ocupdater->downloadState() != OCUpdater::DownloadComplete); - - _ui->autoCheckForUpdatesCheckBox->setChecked(ConfigFile().autoUpdateCheck()); } #if defined(Q_OS_MAC) && defined(HAVE_SPARKLE) - else if (auto sparkleUpdater = qobject_cast(Updater::instance())) { + else if (auto sparkleUpdater = qobject_cast(updater)) { _ui->updateStateLabel->setText(sparkleUpdater->statusString()); _ui->restartButton->setVisible(false); - connect(_ui->updateButton, &QAbstractButton::clicked, this, &GeneralSettings::slotUpdateCheckNow, Qt::UniqueConnection); } #endif