From 45fb49ccdc2065b81b548971be6d3d72980349d1 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin <daniel.molkentin@nokia.com> Date: Wed, 13 Jan 2010 17:39:31 +0100 Subject: [PATCH] Add timestamp for when to pick up new Qt versions. This assumes that new Qt version entries will be put into the System scope settings file. --- .../qt4projectmanager/qtversionmanager.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index 4f44b555f97..bcd9701d668 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -305,12 +305,20 @@ void QtVersionManager::addNewVersionsFromInstaller() // NewQtVersions="versionname=pathtoversion=mingw=s60sdk=gcce=carbide;" // Duplicate entries are not added, the first new version is set as default. QSettings *settings = Core::ICore::instance()->settings(); + QSettings *globalSettings = Core::ICore::instance()->settings(QSettings::SystemScope); - if (!settings->contains(newQtVersionsKey) && - !settings->contains(QLatin1String("Installer/")+newQtVersionsKey)) + QDateTime lastUpdateFromGlobalSettings = globalSettings->value( + QLatin1String("General/LastQtVersionUpdate")).toDateTime(); + + const QFileInfo gsFi(globalSettings->fileName()); + if (!gsFi.exists() || (gsFi.lastModified() > lastUpdateFromGlobalSettings)) return; -// qDebug()<<"QtVersionManager::addNewVersionsFromInstaller()"; + if (!globalSettings->contains(newQtVersionsKey) && + !globalSettings->contains(QLatin1String("Installer/")+newQtVersionsKey)) + { + return; + } QString newVersionsValue = settings->value(newQtVersionsKey).toString(); if (newVersionsValue.isEmpty()) @@ -353,9 +361,8 @@ void QtVersionManager::addNewVersionsFromInstaller() } } } - settings->remove(newQtVersionsKey); - settings->remove(QLatin1String("Installer/")+newQtVersionsKey); updateUniqueIdToIndexMap(); + settings->setValue(QLatin1String("General/LastQtVersionUpdate"), QDateTime::currentDateTime()); } void QtVersionManager::updateSystemVersion() -- GitLab