diff options
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.cpp | 49 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.h | 16 | ||||
-rw-r--r-- | src/plugins/qtsupport/qtversionfactory.cpp | 2 | ||||
-rw-r--r-- | src/shared/proparser/qmakeglobals.cpp | 7 | ||||
-rw-r--r-- | src/shared/proparser/qmakeglobals.h | 1 |
5 files changed, 35 insertions, 40 deletions
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index db0d4493910..a5218136a77 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -677,8 +677,8 @@ QStringList BaseQtVersion::warningReason() const QStringList ret; if (qtAbis().isEmpty()) ret << QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching compiler when building."); - if (m_versionInfo.value(QLatin1String("QT_INSTALL_PREFIX/get")) - != m_versionInfo.value(QLatin1String("QT_INSTALL_PREFIX"))) { + if (m_versionInfo.value(ProKey("QT_INSTALL_PREFIX/get")) + != m_versionInfo.value(ProKey("QT_INSTALL_PREFIX"))) { ret << QCoreApplication::translate("QtVersion", "Non-installed -prefix build - for internal development only."); } return ret; @@ -792,12 +792,13 @@ QString BaseQtVersion::toHtml(bool verbose) const str << "<tr><td><b>" << QCoreApplication::translate("BaseQtVersion", "Version:") << "</b></td><td>" << qtVersionString() << "</td></tr>"; if (verbose) { - const QHash<QString,QString> vInfo = versionInfo(); + const QHash<ProKey, ProString> vInfo = versionInfo(); if (!vInfo.isEmpty()) { - QStringList keys = vInfo.keys(); - keys.sort(); - foreach (QString variableName, keys) { - const QString &value = vInfo.value(variableName); + QList<ProKey> keys = vInfo.keys(); + Utils::sort(keys); + foreach (const ProKey &key, keys) { + const QString &value = vInfo.value(key).toQString(); + QString variableName = key.toQString(); if (variableName != QLatin1String("QMAKE_MKSPECS") && !variableName.endsWith(QLatin1String("/raw"))) { bool isPath = false; @@ -1196,20 +1197,20 @@ void BaseQtVersion::updateVersionInfo() const m_versionInfoUpToDate = true; } -QHash<QString,QString> BaseQtVersion::versionInfo() const +QHash<ProKey,ProString> BaseQtVersion::versionInfo() const { updateVersionInfo(); return m_versionInfo; } -QString BaseQtVersion::qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name, +QString BaseQtVersion::qmakeProperty(const QHash<ProKey,ProString> &versionInfo, const QByteArray &name, PropertyVariant variant) { - QString val = versionInfo.value(QString::fromLatin1( - name + (variant == PropertyVariantGet ? "/get" : "/src"))); + QString val = versionInfo.value(ProKey(QString::fromLatin1( + name + (variant == PropertyVariantGet ? "/get" : "/src")))).toQString(); if (!val.isNull()) return val; - return versionInfo.value(QString::fromLatin1(name)); + return versionInfo.value(ProKey(QString::fromLatin1(name))).toQString(); } QString BaseQtVersion::qmakeProperty(const QByteArray &name, PropertyVariant variant) const @@ -1410,7 +1411,7 @@ static QByteArray runQmakeQuery(const FileName &binary, const Environment &env, } bool BaseQtVersion::queryQMakeVariables(const FileName &binary, const Environment &env, - QHash<QString, QString> *versionInfo, QString *error) + QHash<ProKey, ProString> *versionInfo, QString *error) { QString tmp; if (!error) @@ -1452,23 +1453,23 @@ bool BaseQtVersion::queryQMakeVariables(const FileName &binary, const Environmen const int index = line.indexOf(QLatin1Char(':')); if (index != -1) { QString name = line.left(index); - QString value = QDir::fromNativeSeparators(line.mid(index+1)); + ProString value(QDir::fromNativeSeparators(line.mid(index+1))); if (value.isNull()) - value = QLatin1String(""); // Make sure it is not null, to discern from missing keys - versionInfo->insert(name, value); + value = ProString(""); // Make sure it is not null, to discern from missing keys + versionInfo->insert(ProKey(name), value); if (name.startsWith(QLatin1String("QT_")) && !name.contains(QLatin1Char('/'))) { if (name.startsWith(QLatin1String("QT_INSTALL_"))) { - versionInfo->insert(name + QLatin1String("/raw"), value); - versionInfo->insert(name + QLatin1String("/get"), value); + versionInfo->insert(ProKey(name + QLatin1String("/raw")), value); + versionInfo->insert(ProKey(name + QLatin1String("/get")), value); if (name == QLatin1String("QT_INSTALL_PREFIX") || name == QLatin1String("QT_INSTALL_DATA") || name == QLatin1String("QT_INSTALL_BINS")) { name.replace(3, 7, QLatin1String("HOST")); - versionInfo->insert(name, value); - versionInfo->insert(name + QLatin1String("/get"), value); + versionInfo->insert(ProKey(name), value); + versionInfo->insert(ProKey(name + QLatin1String("/get")), value); } } else if (name.startsWith(QLatin1String("QT_HOST_"))) { - versionInfo->insert(name + QLatin1String("/get"), value); + versionInfo->insert(ProKey(name + QLatin1String("/get")), value); } } } @@ -1476,7 +1477,7 @@ bool BaseQtVersion::queryQMakeVariables(const FileName &binary, const Environmen return true; } -FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<QString, QString> &versionInfo) +FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<ProKey, ProString> &versionInfo) { QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc); if (dataDir.isEmpty()) @@ -1484,7 +1485,7 @@ FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<QString, QStr return FileName::fromUserInput(dataDir + QLatin1String("/mkspecs")); } -FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<QString, QString> &versionInfo) +FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &versionInfo) { FileName baseMkspecDir = mkspecDirectoryFromVersionInfo(versionInfo); if (baseMkspecDir.isEmpty()) @@ -1564,7 +1565,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<QString, QString> &ver return mkspecFullPath; } -FileName BaseQtVersion::sourcePath(const QHash<QString, QString> &versionInfo) +FileName BaseQtVersion::sourcePath(const QHash<ProKey, ProString> &versionInfo) { const QString qt5Source = qmakeProperty(versionInfo, "QT_INSTALL_PREFIX/src"); if (!qt5Source.isEmpty()) diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 34bb4b22e60..1fe09a2ef4c 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -48,6 +48,8 @@ class Task; } // namespace ProjectExplorer QT_BEGIN_NAMESPACE +class ProKey; +class ProString; class ProFileEvaluator; class QMakeGlobals; class QSettings; @@ -246,14 +248,14 @@ private: enum Binaries { QmlViewer, QmlScene, Designer, Linguist, Uic, QScxmlc }; QString findQtBinary(Binaries binary) const; void updateMkspec() const; - QHash<QString,QString> versionInfo() const; + QHash<ProKey, ProString> versionInfo() const; static bool queryQMakeVariables(const Utils::FileName &binary, const Utils::Environment &env, - QHash<QString, QString> *versionInfo, QString *error = 0); - static QString qmakeProperty(const QHash<QString,QString> &versionInfo, const QByteArray &name, + QHash<ProKey, ProString> *versionInfo, QString *error = 0); + static QString qmakeProperty(const QHash<ProKey, ProString> &versionInfo, const QByteArray &name, PropertyVariant variant = PropertyVariantGet); - static Utils::FileName mkspecDirectoryFromVersionInfo(const QHash<QString, QString> &versionInfo); - static Utils::FileName mkspecFromVersionInfo(const QHash<QString, QString> &versionInfo); - static Utils::FileName sourcePath(const QHash<QString, QString> &versionInfo); + static Utils::FileName mkspecDirectoryFromVersionInfo(const QHash<ProKey,ProString> &versionInfo); + static Utils::FileName mkspecFromVersionInfo(const QHash<ProKey,ProString> &versionInfo); + static Utils::FileName sourcePath(const QHash<ProKey,ProString> &versionInfo); void setId(int id); // used by the qtversionmanager for legacy restore // and by the qtoptionspage to replace Qt versions @@ -286,7 +288,7 @@ private: mutable QHash<QString, QString> m_mkspecValues; - mutable QHash<QString,QString> m_versionInfo; + mutable QHash<ProKey, ProString> m_versionInfo; Utils::FileName m_qmakeCommand; mutable QString m_qtVersionString; diff --git a/src/plugins/qtsupport/qtversionfactory.cpp b/src/plugins/qtsupport/qtversionfactory.cpp index f9b57c05d7a..dc23ea981f6 100644 --- a/src/plugins/qtsupport/qtversionfactory.cpp +++ b/src/plugins/qtsupport/qtversionfactory.cpp @@ -47,7 +47,7 @@ QtVersionFactory::~QtVersionFactory() BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileName &qmakePath, bool isAutoDetected, const QString &autoDetectionSource, QString *error) { - QHash<QString, QString> versionInfo; + QHash<ProKey, ProString> versionInfo; if (!BaseQtVersion::queryQMakeVariables(qmakePath, Utils::Environment::systemEnvironment(), &versionInfo, error)) return 0; diff --git a/src/shared/proparser/qmakeglobals.cpp b/src/shared/proparser/qmakeglobals.cpp index f3600b33e0e..5aa60c6f77e 100644 --- a/src/shared/proparser/qmakeglobals.cpp +++ b/src/shared/proparser/qmakeglobals.cpp @@ -367,13 +367,6 @@ bool QMakeGlobals::initProperties() } return true; } -#else -void QMakeGlobals::setProperties(const QHash<QString, QString> &props) -{ - QHash<QString, QString>::ConstIterator it = props.constBegin(), eit = props.constEnd(); - for (; it != eit; ++it) - properties.insert(ProKey(it.key()), ProString(it.value())); -} #endif #endif // QT_BUILD_QMAKE diff --git a/src/shared/proparser/qmakeglobals.h b/src/shared/proparser/qmakeglobals.h index 9942113681b..82fad78b88d 100644 --- a/src/shared/proparser/qmakeglobals.h +++ b/src/shared/proparser/qmakeglobals.h @@ -126,7 +126,6 @@ public: # ifdef PROEVALUATOR_INIT_PROPS bool initProperties(); # else - void setProperties(const QHash<QString, QString> &props); void setProperties(const QHash<ProKey, ProString> &props) { properties = props; } # endif ProString propertyValue(const ProKey &name) const { return properties.value(name); } |