Warn if version might be outdated

This commit is contained in:
Gres 2020-04-05 14:31:10 +03:00
parent ee899c1b23
commit 56bacbfc7e
2 changed files with 20 additions and 0 deletions

View File

@ -12,6 +12,7 @@
#include <QApplication>
#include <QDesktopServices>
#include <QFileInfo>
#include <QMessageBox>
#include <QNetworkProxy>
#include <QThread>
@ -49,6 +50,8 @@ Manager::Manager()
if (settings_->showMessageOnStart)
tray_->showInformation(QObject::tr("Screen translator started"));
warnIfOutdated();
QObject::connect(updater_.get(), &update::Loader::error, //
tray_.get(), &TrayIcon::showError);
QObject::connect(updater_.get(), &update::Loader::updated, //
@ -71,6 +74,22 @@ Manager::~Manager()
setupTrace(false);
}
void Manager::warnIfOutdated()
{
const auto now = QDateTime::currentDateTime();
const auto binaryInfo = QFileInfo(QApplication::applicationFilePath());
const auto date = binaryInfo.fileTime(QFile::FileTime::FileBirthTime);
const auto deadlineDays = 90;
if (date.daysTo(now) < deadlineDays)
return;
const auto updateDate = settings_->lastUpdateCheck;
if (updateDate.isValid() && updateDate.daysTo(now) < deadlineDays)
return;
tray_->showInformation(
QObject::tr("Current version might be outdated.\n"
"Check for updates to silence this warning"));
}
void Manager::updateSettings()
{
LTRACE() << "updateSettings";

View File

@ -33,6 +33,7 @@ private:
void setupUpdates(const Settings &settings);
void setupTrace(bool isOn);
void finishTask(const TaskPtr &task);
void warnIfOutdated();
std::unique_ptr<Settings> settings_;
std::unique_ptr<TrayIcon> tray_;