diff --git a/src/lib/Application.cpp b/src/lib/Application.cpp index 342f523f..48fc61e5 100644 --- a/src/lib/Application.cpp +++ b/src/lib/Application.cpp @@ -415,6 +415,14 @@ void Application::loadWindow(bool showStartWindow) if (!m_loadedWindow) { ApplicationSettings* appSettings = ApplicationSettings::getInstance().get(); + + // delay first update check by 24 hours at first launch + if (!appSettings->getLastUpdateCheck().isValid()) + { + appSettings->setLastUpdateCheck(TimeStamp::now()); + appSettings->save(); + } + LicenseChecker::LicenseState state = LicenseChecker::LicenseState::VALID; std::string licenseError; diff --git a/src/lib/settings/ApplicationSettings.cpp b/src/lib/settings/ApplicationSettings.cpp index d9f0a67b..6962f53a 100644 --- a/src/lib/settings/ApplicationSettings.cpp +++ b/src/lib/settings/ApplicationSettings.cpp @@ -546,13 +546,7 @@ void ApplicationSettings::setAutomaticUpdateCheck(bool automaticUpdates) TimeStamp ApplicationSettings::getLastUpdateCheck() const { - std::string val = getValue("user/update_check/time_stamp", ""); - if (!val.size()) - { - val = getValue("user/update_check/last", ""); // deprecated key - } - - return TimeStamp(val); + return TimeStamp(getValue("user/update_check/time_stamp", "")); } void ApplicationSettings::setLastUpdateCheck(const TimeStamp& time) diff --git a/src/lib_gui/qt/network/QtUpdateChecker.cpp b/src/lib_gui/qt/network/QtUpdateChecker.cpp index 844522a8..83981dd5 100644 --- a/src/lib_gui/qt/network/QtUpdateChecker.cpp +++ b/src/lib_gui/qt/network/QtUpdateChecker.cpp @@ -6,13 +6,14 @@ #include #include -#include "LicenseChecker.h" -#include "QtRequest.h" #include "ApplicationSettings.h" -#include "Version.h" +#include "LicenseChecker.h" +#include "MessageStatus.h" +#include "QtRequest.h" #include "utility.h" #include "utilityApp.h" #include "utilityUuid.h" +#include "Version.h" bool QtUpdateChecker::needsAutomaticCheck() { @@ -107,6 +108,8 @@ void QtUpdateChecker::check(bool force, std::function callback) if (updateVersion > Version::getApplicationVersion()) { + MessageStatus(L"Newest available version: " + updateVersion.toDisplayWString()).dispatch(); + result.version = updateVersion; result.url = url; @@ -139,6 +142,10 @@ void QtUpdateChecker::check(bool force, std::function callback) QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode)); } } + else + { + MessageStatus(L"Sourcetrail is up-to-date").dispatch(); + } } while (false); @@ -147,6 +154,11 @@ void QtUpdateChecker::check(bool force, std::function callback) appSettings->save(); } + if (!result.success) + { + MessageStatus(L"Update check failed", true).dispatch(); + } + request->deleteLater(); callback(result); @@ -154,6 +166,7 @@ void QtUpdateChecker::check(bool force, std::function callback) ); request->sendRequest(urlString); + MessageStatus(L"Checking for new version", false, true).dispatch(); } void QtUpdateChecker::checkUpdate()