diff options
author | hjk <hjk@qt.io> | 2021-11-18 16:56:35 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-02-10 15:06:36 +0000 |
commit | 44493857c2b1bf154dd1c74cedca6f651b2802a9 (patch) | |
tree | 925d142801e9e66c1d81e158ae0166186e943fa4 /src/tools/sdktool/addtoolchainoperation.cpp | |
parent | f146b846cd4f7d6175ff1bc9cd4c6ac46438c8a3 (diff) |
SdkTool: Use slightly less repetitive approach for operation interface
Change-Id: I4d1d205c610df39be6a810dfda3049ae14a06806
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/tools/sdktool/addtoolchainoperation.cpp')
-rw-r--r-- | src/tools/sdktool/addtoolchainoperation.cpp | 55 |
1 files changed, 25 insertions, 30 deletions
diff --git a/src/tools/sdktool/addtoolchainoperation.cpp b/src/tools/sdktool/addtoolchainoperation.cpp index 6bd8380a15..aec304b647 100644 --- a/src/tools/sdktool/addtoolchainoperation.cpp +++ b/src/tools/sdktool/addtoolchainoperation.cpp @@ -158,8 +158,7 @@ int AddToolChainOperation::execute() const if (map.isEmpty()) map = initializeToolChains(); - QVariantMap result = addToolChain(map, m_id, m_languageId, m_displayName, m_path, - m_targetAbi, m_supportedAbis, m_extra); + QVariantMap result = addToolChain(map); if (result.isEmpty() || map == result) return 2; @@ -172,8 +171,8 @@ bool AddToolChainOperation::test() const QVariantMap map = initializeToolChains(); // Add toolchain: - map = addToolChain(map, "testId", "langId", "name", "/tmp/test", "test-abi", "test-abi,test-abi2", - KeyValuePairList() << KeyValuePair("ExtraKey", QVariant("ExtraValue"))); + map = AddToolChainData{"testId", "langId", "name", "/tmp/test", "test-abi", "test-abi,test-abi2", + {{"ExtraKey", QVariant("ExtraValue")}}}.addToolChain(map); if (map.value(COUNT).toInt() != 1 || !map.contains(QString::fromLatin1(PREFIX) + '0')) return false; @@ -190,15 +189,15 @@ bool AddToolChainOperation::test() const return false; // Ignore same Id: - QVariantMap unchanged = addToolChain(map, "testId", "langId", "name2", "/tmp/test2", "test-abi2", + QVariantMap unchanged = AddToolChainData{"testId", "langId", "name2", "/tmp/test2", "test-abi2", "test-abi2,test-abi3", - KeyValuePairList() << KeyValuePair("ExtraKey", QVariant("ExtraValue2"))); + {{"ExtraKey", QVariant("ExtraValue2")}}}.addToolChain(map); if (!unchanged.isEmpty()) return false; // add 2nd tool chain: - map = addToolChain(map, "{some-tc-id}", "langId2", "name", "/tmp/test", "test-abi", "test-abi,test-abi2", - KeyValuePairList() << KeyValuePair("ExtraKey", QVariant("ExtraValue"))); + map = AddToolChainData{"{some-tc-id}", "langId2", "name", "/tmp/test", "test-abi", "test-abi,test-abi2", + {{"ExtraKey", QVariant("ExtraValue")}}}.addToolChain(map); if (map.value(COUNT).toInt() != 2 || !map.contains(QString::fromLatin1(PREFIX) + '0') || !map.contains(QString::fromLatin1(PREFIX) + '1')) @@ -230,15 +229,11 @@ bool AddToolChainOperation::test() const } #endif -QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QString &id, - const QString &lang, const QString &displayName, - const QString &path, const QString &abi, - const QString &supportedAbis, - const KeyValuePairList &extra) +QVariantMap AddToolChainData::addToolChain(const QVariantMap &map) const { // Sanity check: Does the Id already exist? - if (exists(map, id)) { - std::cerr << "Error: Id " << qPrintable(id) << " already defined for tool chains." << std::endl; + if (exists(map, m_id)) { + std::cerr << "Error: Id " << qPrintable(m_id) << " already defined for tool chains." << std::endl; return QVariantMap(); } @@ -255,44 +250,44 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QS const QString tc = QString::fromLatin1(PREFIX) + QString::number(count); KeyValuePairList data; - data << KeyValuePair({tc, ID}, QVariant(id)); + data << KeyValuePair({tc, ID}, QVariant(m_id)); // Language compatibility hack for old Qt components that use the language spec from 4.2. // Some Qt 5.15 components were actually still using this. QString newLang; // QtC 4.3 and later - lang.toInt(&ok); - if (lang == "2" || lang == "Cxx") { + m_languageId.toInt(&ok); + if (m_languageId == "2" || m_languageId == "Cxx") { newLang = "Cxx"; - } else if (lang == "1" || lang == "C") { + } else if (m_languageId == "1" || m_languageId == "C") { newLang = "C"; } else if (ok) { std::cerr << "Error: Language ID must be 1 for C, 2 for Cxx " << "or a string like \"C\", \"Cxx\", \"Nim\" (was \"" - << qPrintable(lang) << "\")" << std::endl; + << qPrintable(m_languageId) << "\")" << std::endl; return {}; } else if (!ok) { - newLang = lang; + newLang = m_languageId; } data << KeyValuePair({tc, LANGUAGE_KEY_V2}, QVariant(newLang)); - data << KeyValuePair({tc, DISPLAYNAME}, QVariant(displayName)); + data << KeyValuePair({tc, DISPLAYNAME}, QVariant(m_displayName)); data << KeyValuePair({tc, AUTODETECTED}, QVariant(true)); - data << KeyValuePair({tc, PATH}, Utils::FilePath::fromUserInput(path).toVariant()); - data << KeyValuePair({tc, TARGET_ABI}, QVariant(abi)); + data << KeyValuePair({tc, PATH}, Utils::FilePath::fromUserInput(m_path).toVariant()); + data << KeyValuePair({tc, TARGET_ABI}, QVariant(m_targetAbi)); QVariantList abis; - QStringList abiStrings = supportedAbis.split(','); + QStringList abiStrings = m_supportedAbis.split(','); foreach (const QString &s, abiStrings) abis << QVariant(s); data << KeyValuePair({tc, SUPPORTED_ABIS}, QVariant(abis)); KeyValuePairList tcExtraList; - foreach (const KeyValuePair &pair, extra) + foreach (const KeyValuePair &pair, m_extra) tcExtraList << KeyValuePair(QStringList({tc}) << pair.key, pair.value); data.append(tcExtraList); data << KeyValuePair(COUNT, QVariant(count + 1)); - return AddKeysOperation::addKeys(result, data); + return AddKeysData{data}.addKeys(result); } -QVariantMap AddToolChainOperation::initializeToolChains() +QVariantMap AddToolChainData::initializeToolChains() { QVariantMap map; map.insert(COUNT, 0); @@ -300,7 +295,7 @@ QVariantMap AddToolChainOperation::initializeToolChains() return map; } -bool AddToolChainOperation::exists(const QVariantMap &map, const QString &id) +bool AddToolChainData::exists(const QVariantMap &map, const QString &id) { QStringList valueKeys = FindValueOperation::findValue(map, id); // support old settings using QByteArray for id's @@ -314,7 +309,7 @@ bool AddToolChainOperation::exists(const QVariantMap &map, const QString &id) return false; } -bool AddToolChainOperation::exists(const QString &id) +bool AddToolChainData::exists(const QString &id) { QVariantMap map = Operation::load("ToolChains"); return exists(map, id); |