forked from qt-creator/qt-creator
sdktool: Do not fiddle with display names
sdktool made the "display names" unique by potentially adding a number. This has multiple drawbacks: - The display name can contain variables that lead to unique _expanded_ names - Adding a number doesn't really help for distinguishing things - That number is then hard-baked into the install settings Installers should take care that they register identifiable names. And if we really want to ensure unique names, then Qt Creator can do that itself, or even better leave the user to do it, because a number doesn't really help anyhow. Fixes: QTCREATORBUG-17909 Change-Id: Id0f44c0cbe457047a0713bda4980fb5d4bc5bcaa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -203,20 +203,13 @@ QVariantMap AddCMakeOperation::addCMake(const QVariantMap &map, const QString &i
|
||||
return QVariantMap();
|
||||
}
|
||||
|
||||
// Sanity check: Make sure displayName is unique.
|
||||
QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME_KEY);
|
||||
QStringList nameList;
|
||||
foreach (const QString &nameKey, nameKeys)
|
||||
nameList << GetOperation::get(map, nameKey).toString();
|
||||
const QString uniqueName = makeUnique(displayName, nameList);
|
||||
|
||||
QVariantMap result = RmKeysOperation::rmKeys(map, {COUNT});
|
||||
|
||||
const QString cm = QString::fromLatin1(PREFIX) + QString::number(count);
|
||||
|
||||
KeyValuePairList data;
|
||||
data << KeyValuePair({cm, ID_KEY}, QVariant(id));
|
||||
data << KeyValuePair({cm, DISPLAYNAME_KEY}, QVariant(uniqueName));
|
||||
data << KeyValuePair({cm, DISPLAYNAME_KEY}, QVariant(displayName));
|
||||
data << KeyValuePair({cm, AUTODETECTED_KEY}, QVariant(true));
|
||||
data << KeyValuePair({cm, PATH_KEY}, QVariant(path));
|
||||
KeyValuePairList extraList;
|
||||
|
@@ -204,17 +204,11 @@ QVariantMap AddDebuggerOperation::addDebugger(const QVariantMap &map,
|
||||
toRemove << QLatin1String(COUNT);
|
||||
QVariantMap cleaned = RmKeysOperation::rmKeys(map, toRemove);
|
||||
|
||||
// Sanity check: Make sure displayName is unique.
|
||||
QStringList nameKeys = FindKeyOperation::findKey(map, QLatin1String(DISPLAYNAME));
|
||||
QStringList nameList;
|
||||
foreach (const QString &nameKey, nameKeys)
|
||||
nameList << GetOperation::get(map, nameKey).toString();
|
||||
const QString uniqueName = makeUnique(displayName, nameList);
|
||||
|
||||
// insert data:
|
||||
KeyValuePairList data;
|
||||
data << KeyValuePair(QStringList() << debugger << QLatin1String(ID), QVariant(id));
|
||||
data << KeyValuePair(QStringList() << debugger << QLatin1String(DISPLAYNAME), QVariant(uniqueName));
|
||||
data << KeyValuePair(QStringList() << debugger << QLatin1String(DISPLAYNAME),
|
||||
QVariant(displayName));
|
||||
data << KeyValuePair(QStringList() << debugger << QLatin1String(AUTODETECTED), QVariant(true));
|
||||
|
||||
data << KeyValuePair(QStringList() << debugger << QLatin1String(ABIS), QVariant(abis));
|
||||
|
@@ -623,16 +623,9 @@ QVariantMap AddKitOperation::addKit(const QVariantMap &map, const QVariantMap &t
|
||||
// remove data:
|
||||
QVariantMap cleaned = RmKeysOperation::rmKeys(map, {COUNT, DEFAULT});
|
||||
|
||||
// Sanity check: Make sure displayName is unique.
|
||||
QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME);
|
||||
QStringList nameList;
|
||||
foreach (const QString &nameKey, nameKeys)
|
||||
nameList << GetOperation::get(map, nameKey).toString();
|
||||
const QString uniqueName = makeUnique(displayName, nameList);
|
||||
|
||||
// insert data:
|
||||
KeyValuePairList data = { KeyValuePair({kit, ID}, QVariant(id)),
|
||||
KeyValuePair({kit, DISPLAYNAME}, QVariant(uniqueName)),
|
||||
KeyValuePairList data = {KeyValuePair({kit, ID}, QVariant(id)),
|
||||
KeyValuePair({kit, DISPLAYNAME}, QVariant(displayName)),
|
||||
KeyValuePair({kit, ICON}, QVariant(icon)),
|
||||
KeyValuePair({kit, AUTODETECTED}, QVariant(true)),
|
||||
KeyValuePair({kit, SDK}, QVariant(true))};
|
||||
|
@@ -296,20 +296,13 @@ QVariantMap AddQtOperation::addQt(const QVariantMap &map,
|
||||
}
|
||||
const QString qt = QString::fromLatin1(PREFIX) + QString::number(versionCount);
|
||||
|
||||
// Sanity check: Make sure displayName is unique.
|
||||
QStringList nameKeys = FindKeyOperation::findKey(map, QLatin1String(DISPLAYNAME));
|
||||
QStringList nameList;
|
||||
foreach (const QString &nameKey, nameKeys)
|
||||
nameList << GetOperation::get(map, nameKey).toString();
|
||||
const QString uniqueName = makeUnique(displayName, nameList);
|
||||
|
||||
// Sanitize qmake path:
|
||||
QString saneQmake = QDir::cleanPath(QDir::fromNativeSeparators(qmake));
|
||||
|
||||
// insert data:
|
||||
KeyValuePairList data;
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(ID), QVariant(-1));
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(DISPLAYNAME), QVariant(uniqueName));
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(DISPLAYNAME), QVariant(displayName));
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(AUTODETECTED), QVariant(true));
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(AUTODETECTION_SOURCE), QVariant(sdkId));
|
||||
data << KeyValuePair(QStringList() << qt << QLatin1String(QMAKE), QVariant(saneQmake));
|
||||
|
@@ -253,13 +253,6 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QS
|
||||
return QVariantMap();
|
||||
}
|
||||
|
||||
// Sanity check: Make sure displayName is unique.
|
||||
QStringList nameKeys = FindKeyOperation::findKey(map, DISPLAYNAME);
|
||||
QStringList nameList;
|
||||
foreach (const QString &nameKey, nameKeys)
|
||||
nameList << GetOperation::get(map, nameKey).toString();
|
||||
const QString uniqueName = makeUnique(displayName, nameList);
|
||||
|
||||
QVariantMap result = RmKeysOperation::rmKeys(map, {COUNT});
|
||||
|
||||
const QString tc = QString::fromLatin1(PREFIX) + QString::number(count);
|
||||
@@ -290,7 +283,7 @@ QVariantMap AddToolChainOperation::addToolChain(const QVariantMap &map, const QS
|
||||
data << KeyValuePair({tc, LANGUAGE_KEY}, QVariant(oldLang));
|
||||
if (!newLang.isEmpty())
|
||||
data << KeyValuePair({tc, LANGUAGE_KEY_V2}, QVariant(newLang));
|
||||
data << KeyValuePair({tc, DISPLAYNAME}, QVariant(uniqueName));
|
||||
data << KeyValuePair({tc, DISPLAYNAME}, QVariant(displayName));
|
||||
data << KeyValuePair({tc, AUTODETECTED}, QVariant(true));
|
||||
data << KeyValuePair({tc, PATH}, QVariant(path));
|
||||
data << KeyValuePair({tc, TARGET_ABI}, QVariant(abi));
|
||||
|
@@ -62,15 +62,6 @@ QVariant Operation::valueFromString(const QString &v)
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
QString Operation::makeUnique(const QString &name, const QStringList &inUse)
|
||||
{
|
||||
QString unique = name;
|
||||
int i = 1;
|
||||
while (inUse.contains(unique))
|
||||
unique = name + QString::number(++i);
|
||||
return unique;
|
||||
}
|
||||
|
||||
Operation::KeyValuePair::KeyValuePair(const QString &k, const QString &v) :
|
||||
value(valueFromString(v))
|
||||
{
|
||||
|
@@ -63,5 +63,4 @@ public:
|
||||
bool save(const QVariantMap &map, const QString &file) const;
|
||||
|
||||
static QVariant valueFromString(const QString &v);
|
||||
static QString makeUnique(const QString &name, const QStringList &inUse);
|
||||
};
|
||||
|
Reference in New Issue
Block a user