Mercurial > trustbridge > trustbridge
comparison ui/mainwindow.cpp @ 1379:831d28c2291d
(issue179) Handle software update even if new version can't be found on server
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 15 Jan 2015 12:42:49 +0100 |
parents | 00fcb9c4d16b |
children | 8d27c6d226cd |
comparison
equal
deleted
inserted
replaced
1378:3c61ab983f9b | 1379:831d28c2291d |
---|---|
662 | 662 |
663 void MainWindow::setLastModifiedSWDate(const QDateTime &date) | 663 void MainWindow::setLastModifiedSWDate(const QDateTime &date) |
664 { | 664 { |
665 QDateTime swAvailableLastMod = mSettings.value("Software/availableDate").toDateTime(); | 665 QDateTime swAvailableLastMod = mSettings.value("Software/availableDate").toDateTime(); |
666 | 666 |
667 if (swAvailableLastMod.isValid() && date.isValid()) { | 667 qDebug() << "Set last modified date: " << date << " available: " << swAvailableLastMod; |
668 if (date >= swAvailableLastMod) { | 668 if (swAvailableLastMod.isValid() && (!date.isValid() || date >= swAvailableLastMod)) { |
669 qDebug() << "Installed an update: " << date << | 669 qDebug() << "Installed an update: " << date << |
670 " available was " << swAvailableLastMod; | 670 " available was " << swAvailableLastMod; |
671 syslog_info_printf ("Software has been updated to version: %s\n", | 671 syslog_info_printf ("Software has been updated to version: %s\n", |
672 QApplication::applicationVersion().toUtf8().constData()); | 672 QApplication::applicationVersion().toUtf8().constData()); |
673 QString fileName = mSettings.value("Software/available").toString(); | 673 QString fileName = mSettings.value("Software/available").toString(); |
674 if (fileName.isEmpty()) { | 674 if (fileName.isEmpty()) { |
675 qDebug() << "Software marked as available but no filename set."; | 675 qDebug() << "Software marked as available but no filename set."; |
676 } else { | |
677 if (QFile::remove(fileName)) { | |
678 qDebug() << "Removed: " << fileName; | |
676 } else { | 679 } else { |
677 if (QFile::remove(fileName)) { | 680 qDebug() << "Failed to remove: " << fileName; |
678 qDebug() << "Removed: " << fileName; | |
679 } else { | |
680 qDebug() << "Failed to remove: " << fileName; | |
681 } | |
682 } | 681 } |
683 /* Clear out available data. */ | 682 } |
684 mSettings.remove("Software/available"); | 683 /* Clear out available data. */ |
685 mSettings.remove("Software/availableDate"); | 684 mSettings.remove("Software/available"); |
686 } | 685 mSettings.remove("Software/availableDate"); |
687 } | 686 } |
688 | 687 |
689 mSettings.beginGroup("Software"); | 688 mSettings.beginGroup("Software"); |
690 #ifdef IS_TAG_BUILD | 689 #ifdef IS_TAG_BUILD |
691 /* We accept an invalid date to force installing any avialable update | 690 /* We accept an invalid date to force installing any avialable update |