forked from qt-creator/qt-creator
Plugins: Change a few usages of PluginSpec::name to ::id
First, PluginSpec had only field "name". QtC 15 added "id", which became (a lowercase) copy of "name", and which is the future-proof field to use when identifying a plugin. This change turns usages of PluginSpec::name, which are not exclusively used for user display into PluginSpec::id. In case of id string comparisons, the plugin id string turns to lowercase. Change-Id: Ibae3b06a932158cd6946e1b29192b1db0dd78a40 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -404,8 +404,8 @@ QStringList lastSessionArgument()
|
||||
{
|
||||
// using insider information here is not particularly beautiful, anyhow
|
||||
const bool hasProjectExplorer = Utils::anyOf(PluginManager::plugins(),
|
||||
Utils::equal(&PluginSpec::name,
|
||||
QString("ProjectExplorer")));
|
||||
Utils::equal(&PluginSpec::id,
|
||||
QString("projectexplorer")));
|
||||
return hasProjectExplorer ? QStringList({"-lastsession"}) : QStringList();
|
||||
}
|
||||
|
||||
|
@@ -374,7 +374,7 @@ const QStringList PluginManager::allErrors()
|
||||
return Utils::transform<QStringList>(Utils::filtered(plugins(), [](const PluginSpec *spec) {
|
||||
return spec->hasError() && spec->isEffectivelyEnabled();
|
||||
}), [](const PluginSpec *spec) {
|
||||
return spec->name().append(": ").append(spec->errorString());
|
||||
return spec->id().append(": ").append(spec->errorString());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -444,11 +444,11 @@ QString PluginManager::systemInformation()
|
||||
result += "Plugin information:\n\n";
|
||||
PluginSpec * const longestSpec = Utils::maxElementOrDefault(
|
||||
d->pluginSpecs, [](const PluginSpec *left, const PluginSpec *right) {
|
||||
return left->name().size() < right->name().size();
|
||||
return left->id().size() < right->id().size();
|
||||
});
|
||||
int size = longestSpec->name().size();
|
||||
int size = longestSpec->id().size();
|
||||
for (const PluginSpec *spec : plugins()) {
|
||||
result += QLatin1String(spec->isEffectivelyEnabled() ? "+ " : " ") + filled(spec->name(), size) +
|
||||
result += QLatin1String(spec->isEffectivelyEnabled() ? "+ " : " ") + filled(spec->id(), size) +
|
||||
" " + spec->version() + "\n";
|
||||
}
|
||||
QString settingspath = QFileInfo(settings()->fileName()).path();
|
||||
@@ -606,7 +606,7 @@ QString PluginManager::serializedArguments()
|
||||
if (!rc.isEmpty())
|
||||
rc += separator;
|
||||
rc += QLatin1Char(':');
|
||||
rc += ps->name();
|
||||
rc += ps->id();
|
||||
rc += separator;
|
||||
rc += ps->arguments().join(separator);
|
||||
}
|
||||
@@ -660,7 +660,7 @@ void PluginManager::remoteArguments(const QString &serializedArgument, QObject *
|
||||
const QStringList arguments = subList(serializedArguments, QLatin1String(argumentKeywordC));
|
||||
for (const PluginSpec *ps : plugins()) {
|
||||
if (ps->state() == PluginSpec::Running) {
|
||||
const QStringList pluginOptions = subList(serializedArguments, QLatin1Char(':') + ps->name());
|
||||
const QStringList pluginOptions = subList(serializedArguments, QLatin1Char(':') + ps->id());
|
||||
if (IPlugin *plugin = ps->plugin()) {
|
||||
QObject *socketParent
|
||||
= plugin->remoteCommand(pluginOptions, workingDirectory, arguments);
|
||||
@@ -815,7 +815,7 @@ void PluginManager::formatPluginOptions(QTextStream &str, int optionIndentation,
|
||||
void PluginManager::formatPluginVersions(QTextStream &str)
|
||||
{
|
||||
for (PluginSpec *ps : std::as_const(d->pluginSpecs))
|
||||
str << " " << ps->name() << ' ' << ps->version() << ' ' << ps->description() << '\n';
|
||||
str << " " << ps->id() << ' ' << ps->version() << ' ' << ps->description() << '\n';
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -969,7 +969,7 @@ void PluginManagerPrivate::startDelayedInitialize()
|
||||
NANOTRACE_SCOPE("ExtensionSystem", "DelayedInitialize");
|
||||
while (!delayedInitializeQueue.empty()) {
|
||||
PluginSpec *spec = delayedInitializeQueue.front();
|
||||
const std::string specName = spec->name().toStdString();
|
||||
const std::string specName = spec->id().toStdString();
|
||||
delayedInitializeQueue.pop();
|
||||
NANOTRACE_SCOPE(specName, specName + "::delayedInitialized");
|
||||
profilingReport(">delayedInitialize", spec);
|
||||
@@ -1622,7 +1622,7 @@ public:
|
||||
QDir().mkpath(QFileInfo(m_filePath).absolutePath());
|
||||
QFile f(m_filePath);
|
||||
if (f.open(QIODevice::WriteOnly)) {
|
||||
f.write(spec->name().toUtf8());
|
||||
f.write(spec->id().toUtf8());
|
||||
f.write("\n");
|
||||
f.close();
|
||||
} else {
|
||||
@@ -1744,11 +1744,11 @@ void PluginManagerPrivate::loadPlugin(PluginSpec *spec, PluginSpec::State destSt
|
||||
if (enableCrashCheck && destState < PluginSpec::Stopped)
|
||||
lockFile.reset(new LockFile(this, spec));
|
||||
|
||||
const std::string specName = spec->name().toStdString();
|
||||
const std::string specId = spec->id().toStdString();
|
||||
|
||||
switch (destState) {
|
||||
case PluginSpec::Running: {
|
||||
NANOTRACE_SCOPE(specName, specName + "::extensionsInitialized");
|
||||
NANOTRACE_SCOPE(specId, specId + "::extensionsInitialized");
|
||||
profilingReport(">initializeExtensions", spec);
|
||||
spec->initializeExtensions();
|
||||
profilingReport("<initializeExtensions",
|
||||
@@ -1782,14 +1782,14 @@ void PluginManagerPrivate::loadPlugin(PluginSpec *spec, PluginSpec::State destSt
|
||||
}
|
||||
switch (destState) {
|
||||
case PluginSpec::Loaded: {
|
||||
NANOTRACE_SCOPE(specName, specName + "::load");
|
||||
NANOTRACE_SCOPE(specId, specId + "::load");
|
||||
profilingReport(">loadLibrary", spec);
|
||||
spec->loadLibrary();
|
||||
profilingReport("<loadLibrary", spec, &spec->performanceData().load);
|
||||
break;
|
||||
}
|
||||
case PluginSpec::Initialized: {
|
||||
NANOTRACE_SCOPE(specName, specName + "::initialize");
|
||||
NANOTRACE_SCOPE(specId, specId + "::initialize");
|
||||
profilingReport(">initializePlugin", spec);
|
||||
spec->initializePlugin();
|
||||
profilingReport("<initializePlugin", spec, &spec->performanceData().initialize);
|
||||
@@ -1865,7 +1865,7 @@ void PluginManagerPrivate::addPlugins(const PluginSpecs &specs)
|
||||
enableDependenciesIndirectly();
|
||||
checkForDuplicatePlugins();
|
||||
// ensure deterministic plugin load order by sorting
|
||||
Utils::sort(pluginSpecs, &PluginSpec::name);
|
||||
Utils::sort(pluginSpecs, &PluginSpec::id);
|
||||
emit q->pluginsChanged();
|
||||
}
|
||||
|
||||
@@ -1966,14 +1966,14 @@ void PluginManagerPrivate::profilingReport(const char *what, const PluginSpec *s
|
||||
if (m_profilingVerbosity > 0) {
|
||||
qDebug("%-22s %-40s %8lldms (%8lldms)",
|
||||
what,
|
||||
qPrintable(spec->name()),
|
||||
qPrintable(spec->id()),
|
||||
absoluteElapsedMS,
|
||||
elapsedMS);
|
||||
}
|
||||
if (target) {
|
||||
QString tc;
|
||||
*target = elapsedMS;
|
||||
tc = spec->name() + '_';
|
||||
tc = spec->id() + '_';
|
||||
tc += QString::fromUtf8(QByteArray(what + 1));
|
||||
Utils::Benchmarker::report("loadPlugins", tc, elapsedMS);
|
||||
}
|
||||
@@ -1997,7 +1997,7 @@ QString PluginManagerPrivate::profilingSummary(qint64 *totalOut) const
|
||||
continue;
|
||||
const qint64 t = s->performanceData().total();
|
||||
summary += QString("%1 %2ms ( %3% ) (%4)\n")
|
||||
.arg(s->name(), -34)
|
||||
.arg(s->id(), -34)
|
||||
.arg(t, 8)
|
||||
.arg(100.0 * t / total, 5, 'f', 2)
|
||||
.arg(s->performanceData().summary());
|
||||
|
@@ -37,7 +37,7 @@ static bool isBeautifierPluginActivated()
|
||||
return std::find_if(specs.begin(),
|
||||
specs.end(),
|
||||
[](ExtensionSystem::PluginSpec *spec) {
|
||||
return spec->name() == "Beautifier" && spec->isEffectivelyEnabled();
|
||||
return spec->id() == "beautifier" && spec->isEffectivelyEnabled();
|
||||
})
|
||||
!= specs.end();
|
||||
}
|
||||
|
@@ -140,7 +140,7 @@ void CorePlugin::loadMimeFromPlugin(const ExtensionSystem::PluginSpec *plugin)
|
||||
const QJsonValue mimetypes = metaData.value("Mimetypes");
|
||||
QString mimetypeString;
|
||||
if (Utils::readMultiLineString(mimetypes, &mimetypeString))
|
||||
Utils::addMimeTypes(plugin->name() + ".mimetypes", mimetypeString.trimmed().toUtf8());
|
||||
Utils::addMimeTypes(plugin->id() + ".mimetypes", mimetypeString.trimmed().toUtf8());
|
||||
}
|
||||
|
||||
static void initProxyAuthDialog()
|
||||
|
@@ -46,7 +46,7 @@ bool isClangFormatPresent()
|
||||
{
|
||||
using namespace ExtensionSystem;
|
||||
return Utils::contains(PluginManager::plugins(), [](const PluginSpec *plugin) {
|
||||
return plugin->name() == "ClangFormat" && plugin->isEffectivelyEnabled();
|
||||
return plugin->id() == "clangformat" && plugin->isEffectivelyEnabled();
|
||||
});
|
||||
};
|
||||
|
||||
|
@@ -1761,7 +1761,7 @@ bool isEffectComposerActivated()
|
||||
{
|
||||
using namespace ExtensionSystem;
|
||||
return Utils::anyOf(PluginManager::plugins(), [](PluginSpec *spec) {
|
||||
return spec->name() == "EffectComposer" && spec->isEffectivelyEnabled();
|
||||
return spec->id() == "effectcomposer" && spec->isEffectivelyEnabled();
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -26,7 +26,7 @@ inline ExtensionSystem::IPlugin *licenseCheckerPlugin()
|
||||
{
|
||||
const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault(
|
||||
ExtensionSystem::PluginManager::plugins(),
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::name, QString("LicenseChecker")));
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::id, QString("licensechecker")));
|
||||
|
||||
if (pluginSpec)
|
||||
return pluginSpec->plugin();
|
||||
@@ -37,7 +37,7 @@ inline ExtensionSystem::IPlugin *dsLicenseCheckerPlugin()
|
||||
{
|
||||
const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault(
|
||||
ExtensionSystem::PluginManager::plugins(),
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::name, QString("DSLicense")));
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::id, QString("dslicense")));
|
||||
|
||||
if (pluginSpec)
|
||||
return pluginSpec->plugin();
|
||||
@@ -48,7 +48,7 @@ inline bool dsLicenseCheckerPluginExists()
|
||||
{
|
||||
const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault(
|
||||
ExtensionSystem::PluginManager::plugins(),
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::name, QString("DSLicense")));
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::id, QString("dslicense")));
|
||||
|
||||
return pluginSpec;
|
||||
}
|
||||
|
@@ -324,7 +324,7 @@ bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *
|
||||
|
||||
// uses simplified Telemetry settings page in case of Qt Design Studio
|
||||
ExtensionSystem::PluginSpec *usageStatistic = Utils::findOrDefault(ExtensionSystem::PluginManager::plugins(), [](ExtensionSystem::PluginSpec *p) {
|
||||
return p->name() == "UsageStatistic";
|
||||
return p->id() == "usagestatistic";
|
||||
});
|
||||
|
||||
if (usageStatistic && usageStatistic->plugin())
|
||||
|
@@ -170,7 +170,7 @@ QObject *QmlPreviewWidgetPlugin::getPreviewPlugin()
|
||||
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||
const auto pluginIt = std::find_if(specs.cbegin(), specs.cend(),
|
||||
[](const ExtensionSystem::PluginSpec *p) {
|
||||
return p->name() == "QmlPreview";
|
||||
return p->id() == "qmlpreview";
|
||||
});
|
||||
|
||||
if (pluginIt != specs.cend())
|
||||
|
@@ -31,7 +31,7 @@ static ExtensionSystem::IPlugin *getPlugin()
|
||||
{
|
||||
const ExtensionSystem::PluginSpecs plugins = ExtensionSystem::PluginManager::plugins();
|
||||
auto it = std::find_if(plugins.begin(), plugins.end(), [](ExtensionSystem::PluginSpec *spec) {
|
||||
return spec->name() == "QmlPreview";
|
||||
return spec->id() == "qmlpreview";
|
||||
});
|
||||
|
||||
return (it == plugins.end()) ? nullptr : (*it)->plugin();
|
||||
|
@@ -55,7 +55,7 @@ ExtensionSystem::IPlugin *findMcuSupportPlugin()
|
||||
{
|
||||
const ExtensionSystem::PluginSpec *pluginSpec = Utils::findOrDefault(
|
||||
ExtensionSystem::PluginManager::plugins(),
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::name, QString("McuSupport")));
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::id, QString("mcusupport")));
|
||||
|
||||
if (pluginSpec)
|
||||
return pluginSpec->plugin();
|
||||
|
@@ -24,17 +24,17 @@ static bool isMultilanguagePresent()
|
||||
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||
return std::find_if(specs.cbegin(), specs.cend(),
|
||||
[](ExtensionSystem::PluginSpec *spec) {
|
||||
return spec->name() == "MultiLanguage";
|
||||
return spec->id() == "multilanguage";
|
||||
})
|
||||
!= specs.cend();
|
||||
}
|
||||
|
||||
static QObject *getPlugin(const QString &pluginName)
|
||||
static QObject *getPlugin(const QString &pluginId)
|
||||
{
|
||||
const ExtensionSystem::PluginSpecs &specs = ExtensionSystem::PluginManager::plugins();
|
||||
const auto pluginIt = std::find_if(
|
||||
specs.cbegin(), specs.cend(), [pluginName](const ExtensionSystem::PluginSpec *p) {
|
||||
return p->name() == pluginName;
|
||||
specs.cbegin(), specs.cend(), [pluginId](const ExtensionSystem::PluginSpec *p) {
|
||||
return p->id() == pluginId;
|
||||
});
|
||||
|
||||
if (pluginIt != specs.cend())
|
||||
@@ -81,7 +81,7 @@ void QmlMultiLanguageAspect::setCurrentLocale(const QString &locale)
|
||||
if (m_currentLocale == locale)
|
||||
return;
|
||||
m_currentLocale = locale;
|
||||
if (auto previewPlugin = getPlugin("QmlPreview"))
|
||||
if (auto previewPlugin = getPlugin("qmlpreview"))
|
||||
previewPlugin->setProperty("localeIsoCode", locale);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ QString QmlMultiLanguageAspect::currentLocale() const
|
||||
|
||||
Utils::FilePath QmlMultiLanguageAspect::databaseFilePath() const
|
||||
{
|
||||
if (auto previewPlugin = getPlugin("MultiLanguage")) {
|
||||
if (auto previewPlugin = getPlugin("multilanguage")) {
|
||||
const auto multilanguageDatabaseFilePath = previewPlugin->property("multilanguageDatabaseFilePath");
|
||||
return Utils::FilePath::fromString(multilanguageDatabaseFilePath.toString());
|
||||
}
|
||||
|
@@ -74,7 +74,7 @@ static bool isQmlDesigner(const ExtensionSystem::PluginSpec *spec)
|
||||
if (!spec)
|
||||
return false;
|
||||
|
||||
return spec->name().contains("QmlDesigner");
|
||||
return spec->id().contains("qmldesigner");
|
||||
}
|
||||
|
||||
static bool qmlDesignerEnabled()
|
||||
|
@@ -92,8 +92,8 @@ DataModelDownloader::DataModelDownloader(QObject * /* parent */)
|
||||
|
||||
const ExtensionSystem::PluginSpec *pluginSpec
|
||||
= Utils::findOrDefault(ExtensionSystem::PluginManager::plugins(),
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::name,
|
||||
QString("StudioWelcome")));
|
||||
Utils::equal(&ExtensionSystem::PluginSpec::id,
|
||||
QString("studiowelcome")));
|
||||
|
||||
if (!pluginSpec)
|
||||
return;
|
||||
|
@@ -143,14 +143,14 @@ void tst_PluginManager::circularPlugins()
|
||||
const PluginSpecs plugins = PluginManager::plugins();
|
||||
QCOMPARE(plugins.count(), 3);
|
||||
for (PluginSpec *spec : plugins) {
|
||||
if (spec->name() == "plugin1") {
|
||||
if (spec->id() == "plugin1") {
|
||||
QVERIFY(spec->hasError());
|
||||
QCOMPARE(spec->state(), PluginSpec::Resolved);
|
||||
QCOMPARE(spec->plugin(), static_cast<IPlugin *>(0));
|
||||
} else if (spec->name() == "plugin2") {
|
||||
} else if (spec->id() == "plugin2") {
|
||||
QVERIFY2(!spec->hasError(), qPrintable(spec->errorString()));
|
||||
QCOMPARE(spec->state(), PluginSpec::Running);
|
||||
} else if (spec->name() == "plugin3") {
|
||||
} else if (spec->id() == "plugin3") {
|
||||
QVERIFY(spec->hasError());
|
||||
QCOMPARE(spec->state(), PluginSpec::Resolved);
|
||||
QCOMPARE(spec->plugin(), static_cast<IPlugin *>(0));
|
||||
|
@@ -2,7 +2,8 @@
|
||||
"IID" : "plugin",
|
||||
"MetaData" : {
|
||||
"Id": "test",
|
||||
"Name" : "test",
|
||||
"Name" : "TestPlugin",
|
||||
"DisplayName" : "Test Plugin",
|
||||
"Version" : "1.0.1",
|
||||
"CompatVersion" : "1.0.0",
|
||||
"VendorId": "theqtcompanyltd",
|
||||
|
@@ -92,7 +92,9 @@ void tst_PluginSpec::read()
|
||||
QVERIFY(spec.readMetaData(metaData("testspecs/spec1.json")));
|
||||
QCOMPARE(spec.errorString(), QString());
|
||||
QVERIFY(spec.errorString().isEmpty());
|
||||
QCOMPARE(spec.name(), QString("test"));
|
||||
QCOMPARE(spec.id(), QString("test"));
|
||||
QCOMPARE(spec.name(), QString("TestPlugin"));
|
||||
QCOMPARE(spec.displayName(), QString("Test Plugin"));
|
||||
QCOMPARE(spec.version(), QString("1.0.1"));
|
||||
QCOMPARE(spec.compatVersion(), QString("1.0.0"));
|
||||
QCOMPARE(spec.isRequired(), false);
|
||||
|
Reference in New Issue
Block a user