From 51670ef328e4ec12cc8283df04211030a2ea51a6 Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Tue, 27 Sep 2016 11:34:05 +0200 Subject: Add setting to disable automatic software updates The automatic software update feature is enabled by default. Test-Information: Created system-settings.xml disabling the automatic software update feature and verified no Sparkle log output is produced, showing Sparkle is not initialised and run. Tested on macOS 10.12 with Qt 5.5.1. Change-Id: Ief1f4030505a2a3961ac18cd4774863584489727 diff --git a/SwifTools/AutoUpdater/SparkleAutoUpdater.h b/SwifTools/AutoUpdater/SparkleAutoUpdater.h index 1242128..41a25f0 100644 --- a/SwifTools/AutoUpdater/SparkleAutoUpdater.h +++ b/SwifTools/AutoUpdater/SparkleAutoUpdater.h @@ -28,6 +28,6 @@ namespace Swift { private: class Private; - const unique_ptr d; + const std::unique_ptr d; }; } diff --git a/SwifTools/AutoUpdater/SparkleAutoUpdater.mm b/SwifTools/AutoUpdater/SparkleAutoUpdater.mm index 76de34b..6b27ba7 100644 --- a/SwifTools/AutoUpdater/SparkleAutoUpdater.mm +++ b/SwifTools/AutoUpdater/SparkleAutoUpdater.mm @@ -43,7 +43,6 @@ SparkleAutoUpdater::SparkleAutoUpdater(const std::string& url) : d(new Private() SparkleAutoUpdater::~SparkleAutoUpdater() { [d->updater release]; - SWIFT_LOG(warning) << std::endl; } void SparkleAutoUpdater::checkForUpdates() { diff --git a/Swift/Controllers/SettingConstants.cpp b/Swift/Controllers/SettingConstants.cpp index d9766cf..c3de90f 100644 --- a/Swift/Controllers/SettingConstants.cpp +++ b/Swift/Controllers/SettingConstants.cpp @@ -27,4 +27,6 @@ const SettingsProvider::Setting SettingConstants::TRELLIS_GRID_SIZE const SettingsProvider::Setting SettingConstants::TRELLIS_GRID_POSITIONS("trellisGridPositions", ""); const SettingsProvider::Setting SettingConstants::DISCONNECT_ON_CARD_REMOVAL("disconnectOnCardRemoval", true); const SettingsProvider::Setting SettingConstants::SINGLE_SIGN_ON("singleSignOn", false); +const SettingsProvider::Setting SettingConstants::ENABLE_SOFTWARE_UPDATES("enableSoftwareUpdates", true); + } diff --git a/Swift/Controllers/SettingConstants.h b/Swift/Controllers/SettingConstants.h index ace481b..95d0527 100644 --- a/Swift/Controllers/SettingConstants.h +++ b/Swift/Controllers/SettingConstants.h @@ -102,5 +102,11 @@ namespace Swift { * log in the user; else not. */ static const SettingsProvider::Setting SINGLE_SIGN_ON; + /** + * The #ENABLE_SOFTWARE_UPDATES settings specifies, whether Swift + * should automatically check for software updates in regular + * intervals and install them automatically. + */ + static const SettingsProvider::Setting ENABLE_SOFTWARE_UPDATES; }; } diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp index d8dfac4..16d8955 100644 --- a/Swift/QtUI/QtSwift.cpp +++ b/Swift/QtUI/QtSwift.cpp @@ -284,7 +284,7 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(handleAboutToQuit())); PlatformAutoUpdaterFactory autoUpdaterFactory; - if (autoUpdaterFactory.isSupported()) { + if (autoUpdaterFactory.isSupported() && settingsHierachy_->getSetting(SettingConstants::ENABLE_SOFTWARE_UPDATES)) { autoUpdater_ = autoUpdaterFactory.createAutoUpdater(SWIFT_APPCAST_URL); autoUpdater_->checkForUpdates(); autoUpdater_->onSuggestRestartToUserToUpdate.connect(boost::bind(&QtSwift::handleRecommendRestartToInstallUpdate, this)); -- cgit v0.10.2-6-g49f6