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

http://wald.intevation.org/projects/trustbridge/