Mercurial > trustbridge
changeset 708:bd48fae793b6
(Issue25) Log update check success, change header labels.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 12:49:11 +0200 |
parents | 37899f717fa5 |
children | 8f110e6b8295 |
files | ui/mainwindow.cpp ui/mainwindow.h |
diffstat | 2 files changed, 45 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/ui/mainwindow.cpp Wed Jul 02 12:39:28 2014 +0200 +++ b/ui/mainwindow.cpp Wed Jul 02 12:49:11 2014 +0200 @@ -345,14 +345,17 @@ connect(downloader, SIGNAL(newListAvailable(const QString&, const QDateTime&)), this, SLOT(handleNewList(const QString&, const QDateTime&))); if (!downloadSW) { + setState(BeforeDownload); connect(downloader, SIGNAL(newSoftwareAvailable(const QString&, const QDateTime&)), this, SLOT(handleNewSW(const QString&, const QDateTime&))); } else { + setState(DownloadingSW); connect(downloader, SIGNAL(newSoftwareAvailable(const QString&, const QDateTime&)), this, SLOT(installNewSW(const QString&, const QDateTime&))); } connect(downloader, SIGNAL(finished()), downloader, SLOT(deleteLater())); + connect(downloader, SIGNAL(finished()), this, SLOT(updateCheckSuccess())); connect(downloader, SIGNAL(error(const QString &, SSLConnection::ErrorCode)), this, SLOT(downloaderError(const QString &, SSLConnection::ErrorCode))); downloader->start(); @@ -393,6 +396,7 @@ void MainWindow::downloaderError(const QString &message, SSLConnection::ErrorCode error) { /* TODO logging and handle error according to a plan */ + syslog_error_printf ("Failed to check for updates: %s", message.toUtf8().constData()); mCurMessage = message; showMessage(); setState(TransferError); @@ -535,16 +539,27 @@ mUpdatesHeader = new QLabel("<h2>" + tr("Certificates unchanged")+ "</h2>"); mLastCertUpdate = - new QLabel(tr("Last update of certificates: %1").arg("")); - mLastSWupdate = - new QLabel(tr("Last update of TrustBridge: %1").arg("")); + new QLabel(""); + mLastCertUpdate->hide(); + mSoftwareVersionLabel = + new QLabel(tr("TrustBridge Version: %1").arg(QApplication::applicationVersion())); + const QDateTime lastCheck = mSettings.value("lastUpdateCheck").toDateTime(); + if (lastCheck.isValid()) { + const QString lastUpdateCheck = QLocale::system().toString(lastCheck); + mLastUpdateCheck = + new QLabel(tr("Last sucessful update check: %1").arg(lastUpdateCheck)); + } else { + mLastUpdateCheck = new QLabel(""); + mLastUpdateCheck->hide(); + } QLabel *updatesTip = new QLabel(tr("You should apply the following changes to your root certificates:")); updatesTip->setWordWrap(true); updatesHeaderTextLayout->addWidget(mUpdatesHeader); updatesHeaderTextLayout->addWidget(mLastCertUpdate); - updatesHeaderTextLayout->addWidget(mLastSWupdate); + updatesHeaderTextLayout->addWidget(mLastUpdateCheck); + updatesHeaderTextLayout->addWidget(mSoftwareVersionLabel); updatesHeaderTextLayout->addSpacing(10); updatesHeaderTextLayout->addWidget(updatesTip); @@ -912,8 +927,11 @@ } } - mLastCertUpdate->setText(tr("Last update of certificates: %1") - .arg(mInstalledList.date().toString())); + if (mInstalledList.date().isValid()) { + mLastCertUpdate->setText(tr("Installed certificates from: %1") + .arg(QLocale::system().toString(mInstalledList.date()))); + mLastCertUpdate->show(); + } mUpdatesManualCertificates->setText("<h3>" + tr("Manually changed certificates (%1)").arg(0) + "</h3>"); @@ -1159,3 +1177,15 @@ } return closeApp(); } + +void MainWindow::updateCheckSuccess() +{ + if (getState() != TransferError) { + const QDateTime now = QDateTime::currentDateTime(); + mSettings.setValue("lastUpdateCheck", now); + mLastUpdateCheck->setText(tr("Last sucessful update check: %1").arg( + QLocale::system().toString(now))); + mLastUpdateCheck->show(); + syslog_info_printf(tr("Sucessfully checked for updates.").toUtf8().constData()); + } +}
--- a/ui/mainwindow.h Wed Jul 02 12:39:28 2014 +0200 +++ b/ui/mainwindow.h Wed Jul 02 12:49:11 2014 +0200 @@ -130,6 +130,13 @@ */ void loadUnselectedCertificates(); + /** @brief log / store a successful downloader run + * + * A downloader run is successful if the finished signal + * is emited and the state is not TransferError + */ + void updateCheckSuccess(); + protected: virtual void closeEvent(QCloseEvent *event); @@ -209,7 +216,8 @@ QLabel *mUpdatesHeader; QLabel *mLastCertUpdate; - QLabel *mLastSWupdate; + QLabel *mSoftwareVersionLabel; + QLabel *mLastUpdateCheck; QLabel *mUpdatesNewCertificates; QLabel *mUpdatesRemoveCertificates; QLabel *mUpdatesManualCertificates;