ProjectExplorer: Use QList instead of QSet for language ids

There's no point in keeping ~2 items in a set and convert that
to a list every now and then.

Change-Id: I214b1049fb458e3d159478c47f55b97aacaac75a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-09-17 16:25:04 +02:00
parent f18d24efaa
commit d4c7dee48a
6 changed files with 10 additions and 11 deletions

View File

@@ -221,7 +221,7 @@ public:
layout->setContentsMargins(0, 0, 0, 0);
layout->setColumnStretch(1, 2);
QList<Utils::Id> languageList = Utils::toList(ToolChainManager::allLanguages());
QList<Utils::Id> languageList = ToolChainManager::allLanguages();
Utils::sort(languageList, [](Utils::Id l1, Utils::Id l2) {
return ToolChainManager::displayNameOfLanguageId(l1)
< ToolChainManager::displayNameOfLanguageId(l2);

View File

@@ -514,7 +514,7 @@ ToolChain *ToolChainFactory::createToolChain(Utils::Id toolChainType)
return nullptr;
}
QSet<Utils::Id> ToolChainFactory::supportedLanguages() const
QList<Utils::Id> ToolChainFactory::supportedLanguages() const
{
return m_supportsAllLanguages ? ToolChainManager::allLanguages() : m_supportedLanguages;
}
@@ -529,7 +529,7 @@ void ToolChainFactory::setSupportedToolChainType(const Utils::Id &supportedToolC
m_supportedToolChainType = supportedToolChain;
}
void ToolChainFactory::setSupportedLanguages(const QSet<Utils::Id> &supportedLanguages)
void ToolChainFactory::setSupportedLanguages(const QList<Utils::Id> &supportedLanguages)
{
m_supportedLanguages = supportedLanguages;
}

View File

@@ -39,7 +39,6 @@
#include <utils/id.h>
#include <QObject>
#include <QSet>
#include <QStringList>
#include <QVariantMap>
@@ -221,14 +220,14 @@ public:
static ToolChain *createToolChain(Utils::Id toolChainType);
QSet<Utils::Id> supportedLanguages() const;
QList<Utils::Id> supportedLanguages() const;
void setUserCreatable(bool userCreatable);
protected:
void setDisplayName(const QString &name) { m_displayName = name; }
void setSupportedToolChainType(const Utils::Id &supportedToolChainType);
void setSupportedLanguages(const QSet<Utils::Id> &supportedLanguages);
void setSupportedLanguages(const QList<Utils::Id> &supportedLanguages);
void setSupportsAllLanguages(bool supportsAllLanguages);
void setToolchainConstructor(const std::function<ToolChain *()> &constructor);
@@ -248,7 +247,7 @@ protected:
private:
QString m_displayName;
Utils::Id m_supportedToolChainType;
QSet<Utils::Id> m_supportedLanguages;
QList<Utils::Id> m_supportedLanguages;
bool m_supportsAllLanguages = false;
bool m_userCreatable = false;
std::function<ToolChain *()> m_toolchainConstructor;

View File

@@ -227,9 +227,9 @@ void ToolChainManager::deregisterToolChain(ToolChain *tc)
delete tc;
}
QSet<Utils::Id> ToolChainManager::allLanguages()
QList<Id> ToolChainManager::allLanguages()
{
return Utils::transform<QSet>(d->m_languages, &LanguageDisplayPair::id);
return Utils::transform<QList>(d->m_languages, &LanguageDisplayPair::id);
}
bool ToolChainManager::registerLanguage(const Utils::Id &language, const QString &displayName)

View File

@@ -71,7 +71,7 @@ public:
static bool registerToolChain(ToolChain *tc);
static void deregisterToolChain(ToolChain *tc);
static QSet<Utils::Id> allLanguages();
static QList<Utils::Id> allLanguages();
static bool registerLanguage(const Utils::Id &language, const QString &displayName);
static QString displayNameOfLanguageId(const Utils::Id &id);
static bool isLanguageSupported(const Utils::Id &id);

View File

@@ -191,7 +191,7 @@ public:
m_addButton = new QPushButton(ToolChainOptionsPage::tr("Add"), this);
auto addMenu = new QMenu;
foreach (ToolChainFactory *factory, m_factories) {
QList<Utils::Id> languages = Utils::toList(factory->supportedLanguages());
QList<Utils::Id> languages = factory->supportedLanguages();
if (languages.isEmpty())
continue;