forked from qt-creator/qt-creator
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:
@@ -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().
|
||||
|
||||
|
@@ -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; }
|
||||
|
@@ -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()
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user