forked from qt-creator/qt-creator
QtVersionManager: Simplify the code
by removing legacy upgrade code that should no longer be used anyway. Remove the count of versions while at it. Change-Id: I014a8934581761d3219fe41dc7888903e7d6a85c Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
@@ -72,11 +72,6 @@ using namespace QtSupport::Internal;
|
|||||||
|
|
||||||
static const char QTVERSION_DATA_KEY[] = "QtVersion.";
|
static const char QTVERSION_DATA_KEY[] = "QtVersion.";
|
||||||
static const char QTVERSION_TYPE_KEY[] = "QtVersion.Type";
|
static const char QTVERSION_TYPE_KEY[] = "QtVersion.Type";
|
||||||
static const char QTVERSION_COUNT_KEY[] = "QtVersion.Count";
|
|
||||||
static const char OLDQTVERSION_COUNT_KEY[] = "QtVersion.Old.Count";
|
|
||||||
static const char OLDQTVERSION_DATA_KEY[] = "QtVersion.Old.";
|
|
||||||
static const char OLDQTVERSION_SDKSOURCE[] = "QtVersion.Old.SdkSource";
|
|
||||||
static const char OLDQTVERSION_PATH[] = "QtVersion.Old.Path";
|
|
||||||
static const char QTVERSION_FILE_VERSION_KEY[] = "Version";
|
static const char QTVERSION_FILE_VERSION_KEY[] = "Version";
|
||||||
static const char QTVERSION_FILENAME[] = "/qtcreator/qtversion.xml";
|
static const char QTVERSION_FILENAME[] = "/qtcreator/qtversion.xml";
|
||||||
static const char QTVERSION_SDK_FILENAME[] = "/qtversion.xml";
|
static const char QTVERSION_SDK_FILENAME[] = "/qtversion.xml";
|
||||||
@@ -188,6 +183,7 @@ bool QtVersionManager::restoreQtVersions()
|
|||||||
|
|
||||||
Utils::PersistentSettingsReader reader;
|
Utils::PersistentSettingsReader reader;
|
||||||
QString filename = settingsFileName(QLatin1String(QTVERSION_FILENAME));
|
QString filename = settingsFileName(QLatin1String(QTVERSION_FILENAME));
|
||||||
|
|
||||||
// Read Qt Creator 2.5 qtversions.xml once:
|
// Read Qt Creator 2.5 qtversions.xml once:
|
||||||
if (!QFileInfo(filename).exists())
|
if (!QFileInfo(filename).exists())
|
||||||
filename = settingsFileName(QLatin1String(QTVERSION_SDK_FILENAME));
|
filename = settingsFileName(QLatin1String(QTVERSION_SDK_FILENAME));
|
||||||
@@ -200,12 +196,14 @@ bool QtVersionManager::restoreQtVersions()
|
|||||||
if (version < 1)
|
if (version < 1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
const QString keyPrefix = QLatin1String(QTVERSION_DATA_KEY);
|
||||||
int count = data.value(QLatin1String(QTVERSION_COUNT_KEY), 0).toInt();
|
foreach (const QString &key, data.keys()) {
|
||||||
for (int i = 0; i < count; ++i) {
|
if (!key.startsWith(keyPrefix))
|
||||||
const QString key = QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(i);
|
continue;
|
||||||
if (!data.contains(key))
|
bool ok;
|
||||||
break;
|
int count = key.mid(keyPrefix.count()).toInt(&ok);
|
||||||
|
if (!ok || count < 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
const QVariantMap qtversionMap = data.value(key).toMap();
|
const QVariantMap qtversionMap = data.value(key).toMap();
|
||||||
const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString();
|
const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString();
|
||||||
@@ -264,50 +262,19 @@ void QtVersionManager::updateFromInstaller()
|
|||||||
qDebug() << " autodetection source:"<< version->autodetectionSource();
|
qDebug() << " autodetection source:"<< version->autodetectionSource();
|
||||||
qDebug() << "";
|
qDebug() << "";
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
int oldcount = data.value(QLatin1String(OLDQTVERSION_COUNT_KEY), 0).toInt();
|
|
||||||
for (int i=0; i < oldcount; ++i) {
|
|
||||||
const QString key = QString::fromLatin1(OLDQTVERSION_DATA_KEY) +QString::number(i);
|
|
||||||
if (!data.contains(key))
|
|
||||||
break;
|
|
||||||
QVariantMap map = data.value(key).toMap();
|
|
||||||
Utils::FileName path = Utils::FileName::fromString(map.value(QLatin1String(OLDQTVERSION_PATH)).toString());
|
|
||||||
QString autodetectionSource = map.value(QLatin1String(OLDQTVERSION_SDKSOURCE)).toString();
|
|
||||||
foreach (BaseQtVersion *v, m_versions) {
|
|
||||||
if (v->qmakeCommand() == path) {
|
|
||||||
if (v->autodetectionSource().isEmpty()) {
|
|
||||||
v->setAutoDetectionSource(autodetectionSource);
|
|
||||||
} else {
|
|
||||||
if (debug)
|
|
||||||
qDebug() << "## Conflicting autodetictonSource for"<<path.toString()<<"\n"
|
|
||||||
<<" version retains"<<v->autodetectionSource();
|
|
||||||
}
|
|
||||||
// No break, we want to mark all qt versions matching that path
|
|
||||||
// There's no way for us to decide whether this qt was added
|
|
||||||
// by the user or by the installer, so we treat them all as coming
|
|
||||||
// from the installer. Thus removing/updating them deletes/updates them all
|
|
||||||
// Note: This only applies to versions that are marked via QtVersion.Old
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (debug) {
|
|
||||||
qDebug()<< "======= After using OLD QtVersion data to mark versions =======";
|
|
||||||
foreach (BaseQtVersion *version, m_versions) {
|
|
||||||
qDebug() << version->qmakeCommand().toString() << "id:"<<version->uniqueId();
|
|
||||||
qDebug() << " autodetection source:"<< version->autodetectionSource();
|
|
||||||
qDebug() << "";
|
|
||||||
}
|
|
||||||
|
|
||||||
qDebug()<< "======= Adding sdk versions =======";
|
qDebug()<< "======= Adding sdk versions =======";
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList sdkVersions;
|
QStringList sdkVersions;
|
||||||
int count = data.value(QLatin1String(QTVERSION_COUNT_KEY), 0).toInt();
|
|
||||||
for (int i = 0; i < count; ++i) {
|
const QString keyPrefix = QLatin1String(QTVERSION_DATA_KEY);
|
||||||
const QString key = QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(i);
|
foreach (const QString &key, data.keys()) {
|
||||||
if (!data.contains(key))
|
if (!key.startsWith(keyPrefix))
|
||||||
break;
|
continue;
|
||||||
|
bool ok;
|
||||||
|
int count = key.mid(keyPrefix.count()).toInt(&ok);
|
||||||
|
if (!ok || count < 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
QVariantMap qtversionMap = data.value(key).toMap();
|
QVariantMap qtversionMap = data.value(key).toMap();
|
||||||
const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString();
|
const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString();
|
||||||
@@ -316,9 +283,8 @@ void QtVersionManager::updateFromInstaller()
|
|||||||
int id = -1; // see BaseQtVersion::fromMap()
|
int id = -1; // see BaseQtVersion::fromMap()
|
||||||
QtVersionFactory *factory = 0;
|
QtVersionFactory *factory = 0;
|
||||||
foreach (QtVersionFactory *f, factories) {
|
foreach (QtVersionFactory *f, factories) {
|
||||||
if (f->canRestore(type)) {
|
if (f->canRestore(type))
|
||||||
factory = f;
|
factory = f;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!factory) {
|
if (!factory) {
|
||||||
if (debug)
|
if (debug)
|
||||||
@@ -409,7 +375,6 @@ void QtVersionManager::saveQtVersions()
|
|||||||
++count;
|
++count;
|
||||||
|
|
||||||
}
|
}
|
||||||
writer.saveValue(QLatin1String(QTVERSION_COUNT_KEY), count);
|
|
||||||
writer.save(settingsFileName(QLatin1String(QTVERSION_FILENAME)), QLatin1String("QtCreatorQtVersions"), Core::ICore::mainWindow());
|
writer.save(settingsFileName(QLatin1String(QTVERSION_FILENAME)), QLatin1String("QtCreatorQtVersions"), Core::ICore::mainWindow());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user