QtSupport: Additional parameter for QtVersion::restore().

This enables a QtVersionFactory to be able to create more than one
QtVersion, which can make sense e.g. if there are several closely
related ones.

Change-Id: I597f524abfc27c483c71bb6567ce7b77bc3d3041
Reviewed-on: http://codereview.qt.nokia.com/835
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Christian Kandeler
2011-06-28 14:35:38 +02:00
parent 930dbd6c9f
commit 0ff8e646db
12 changed files with 25 additions and 14 deletions

View File

@@ -176,7 +176,7 @@ bool QtVersionManager::restoreQtVersions()
bool restored = false;
foreach (QtVersionFactory *f, factories) {
if (f->canRestore(type)) {
if (BaseQtVersion *qtv = f->restore(qtversionMap)) {
if (BaseQtVersion *qtv = f->restore(type, qtversionMap)) {
if (m_versions.contains(qtv->uniqueId())) {
// This shouldn't happen, we are restoring the same id multiple times?
qWarning() << "A Qt version with id"<<qtv->uniqueId()<<"already exists";
@@ -292,7 +292,7 @@ void QtVersionManager::updateFromInstaller()
removeVersion(v);
qtversionMap[QLatin1String("Id")] = id;
if (BaseQtVersion *qtv = factory->restore(qtversionMap)) {
if (BaseQtVersion *qtv = factory->restore(type, qtversionMap)) {
Q_ASSERT(qtv->isAutodetected());
addVersion(qtv);
restored = true;
@@ -303,7 +303,7 @@ void QtVersionManager::updateFromInstaller()
if (!restored) { // didn't replace any existing versions
if (debug)
qDebug() << " No Qt version found matching" << autoDetectionSource << " => Creating new version";
if (BaseQtVersion *qtv = factory->restore(qtversionMap)) {
if (BaseQtVersion *qtv = factory->restore(type, qtversionMap)) {
Q_ASSERT(qtv->isAutodetected());
addVersion(qtv);
restored = true;