diff --git a/src/updatecheckdialog.cpp b/src/updatecheckdialog.cpp deleted file mode 100644 --- a/src/updatecheckdialog.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright © 2017 Hasan Yavuz Özderya - - This file is part of serialplot. - - serialplot is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - serialplot is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with serialplot. If not, see . -*/ - -#include "setting_defines.h" -#include "updatecheckdialog.h" -#include "ui_updatecheckdialog.h" - -UpdateCheckDialog::UpdateCheckDialog(QWidget *parent) : - QDialog(parent), - ui(new Ui::UpdateCheckDialog) -{ - ui->setupUi(this); - - // by default start from yesterday, so that we check at first run - lastCheck = QDate::currentDate().addDays(-1); - - connect(&updateChecker, &UpdateChecker::checkFailed, - [this](QString errorMessage) - { - lastCheck = QDate::currentDate(); - ui->label->setText(QString("Update check failed.\n") + errorMessage); - }); - - connect(&updateChecker, &UpdateChecker::checkFinished, - [this](bool found, QString newVersion, QString downloadUrl) - { - QString text; - if (!found) - { - text = "There is no update yet."; - } - else - { - show(); -#ifdef UPDATE_TYPE_PKGMAN - text = QString("There is a new version: %1. " - "Use your package manager to update" - " or click to download.")\ - .arg(newVersion).arg(downloadUrl); -#else - text = QString("Found update to version %1. Click to download.")\ - .arg(newVersion).arg(downloadUrl); -#endif - } - - lastCheck = QDate::currentDate(); - ui->label->setText(text); - }); -} - -UpdateCheckDialog::~UpdateCheckDialog() -{ - delete ui; -} - -void UpdateCheckDialog::showEvent(QShowEvent *event) -{ - updateChecker.checkUpdate(); - ui->label->setText("Checking update..."); -} - -void UpdateCheckDialog::closeEvent(QShowEvent *event) -{ - if (updateChecker.isChecking()) updateChecker.cancelCheck(); -} - -void UpdateCheckDialog::saveSettings(QSettings* settings) -{ - settings->beginGroup(SettingGroup_UpdateCheck); - settings->setValue(SG_UpdateCheck_Periodic, ui->cbPeriodic->isChecked()); - settings->setValue(SG_UpdateCheck_LastCheck, lastCheck.toString(Qt::ISODate)); - settings->endGroup(); -} - -void UpdateCheckDialog::loadSettings(QSettings* settings) -{ - settings->beginGroup(SettingGroup_UpdateCheck); - ui->cbPeriodic->setChecked(settings->value(SG_UpdateCheck_Periodic, - ui->cbPeriodic->isChecked()).toBool()); - auto lastCheckS = settings->value(SG_UpdateCheck_LastCheck, lastCheck.toString(Qt::ISODate)).toString(); - lastCheck = QDate::fromString(lastCheckS, Qt::ISODate); - settings->endGroup(); - - // start the periodic update if required - if (ui->cbPeriodic->isChecked() && lastCheck < QDate::currentDate()) - { - updateChecker.checkUpdate(); - } -}