/*Copyright © 2017 Hasan Yavuz ÖzderyaThis file is part of serialplot.serialplot is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with serialplot. If not, see <http://www.gnu.org/licenses/>.*/#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 runlastCheck = 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_PKGMANtext = QString("There is a new version: %1. ""Use your package manager to update"" or click to <a href=\"%2\">download</a>.")\.arg(newVersion).arg(downloadUrl);#elsetext = QString("Found update to version %1. Click to <a href=\"%2\">download</a>.")\.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 requiredif (ui->cbPeriodic->isChecked() && lastCheck < QDate::currentDate()){updateChecker.checkUpdate();}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。