ExtensionSystem: Add a less verbose way to *Plugin::initialize()

Barely any of our plugins use the arguments or report error on
initialization.

Use it to the Nim plugin for demonstration purposes.

Change-Id: I0aead51afff61648fe03ad7e1ef7b4100abd9ed6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2023-01-20 08:36:32 +01:00
parent 7e9e103c53
commit ad0fcc60d2
4 changed files with 23 additions and 8 deletions

View File

@@ -58,6 +58,17 @@
\sa delayedInitialize()
*/
/*!
\fn void ExtensionSystem::IPlugin::initialize()
This function is called as the default implementation of
\c initialize(const QStringList &arguments, QString *errorString) and can be
overwritten instead of the full-args version in cases the parameters
are not used by the implementation and there is no error to report.
\sa extensionsInitialized()
\sa delayedInitialize()
*/
/*!
\fn void ExtensionSystem::IPlugin::extensionsInitialized()
Called after the initialize() function has been called,
@@ -167,6 +178,14 @@ IPlugin::~IPlugin()
d = nullptr;
}
bool IPlugin::initialize(const QStringList &arguments, QString *errorString)
{
Q_UNUSED(arguments)
Q_UNUSED(errorString)
initialize();
return true;
}
/*!
Returns objects that are meant to be passed on to \l QTest::qExec().

View File

@@ -30,7 +30,8 @@ public:
IPlugin();
~IPlugin() override;
virtual bool initialize(const QStringList &arguments, QString *errorString) = 0;
virtual bool initialize(const QStringList &arguments, QString *errorString);
virtual void initialize() {}
virtual void extensionsInitialized() {}
virtual bool delayedInitialize() { return false; }
virtual ShutdownFlag aboutToShutdown() { return SynchronousShutdown; }

View File

@@ -73,11 +73,8 @@ NimPlugin::~NimPlugin()
delete d;
}
bool NimPlugin::initialize(const QStringList &arguments, QString *errorMessage)
void NimPlugin::initialize()
{
Q_UNUSED(arguments)
Q_UNUSED(errorMessage)
d = new NimPluginPrivate;
ToolChainManager::registerLanguage(Constants::C_NIMLANGUAGE_ID, Constants::C_NIMLANGUAGE_NAME);
@@ -88,8 +85,6 @@ bool NimPlugin::initialize(const QStringList &arguments, QString *errorMessage)
ProjectManager::registerProjectType<NimProject>(Constants::C_NIM_PROJECT_MIMETYPE);
ProjectManager::registerProjectType<NimbleProject>(Constants::C_NIMBLE_MIMETYPE);
return true;
}
void NimPlugin::extensionsInitialized()

View File

@@ -16,7 +16,7 @@ public:
NimPlugin() = default;
~NimPlugin() final;
bool initialize(const QStringList &arguments, QString *errorMessage) final;
void initialize() final;
void extensionsInitialized() final;
#ifdef WITH_TESTS