forked from qt-creator/qt-creator
Squish: Dissolve plugin pimpl
Change-Id: I8e291e91c5d8c94274f39db40a625a796d8ad9b7 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -32,16 +32,22 @@ using namespace Utils;
|
|||||||
|
|
||||||
namespace Squish::Internal {
|
namespace Squish::Internal {
|
||||||
|
|
||||||
class SquishPluginPrivate final : public QObject
|
class SquishPlugin final : public ExtensionSystem::IPlugin
|
||||||
{
|
{
|
||||||
public:
|
Q_OBJECT
|
||||||
SquishPluginPrivate();
|
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Squish.json")
|
||||||
|
|
||||||
bool initializeGlobalScripts();
|
private:
|
||||||
};
|
void initialize() final
|
||||||
|
|
||||||
SquishPluginPrivate::SquishPluginPrivate()
|
|
||||||
{
|
{
|
||||||
|
setupObjectsMapEditor();
|
||||||
|
|
||||||
|
setupSquishOutputPane(this);
|
||||||
|
setupSquishTools(this);
|
||||||
|
|
||||||
|
setupSquishWizardPages();
|
||||||
|
setupSquishNavigationWidgetFactory();
|
||||||
|
|
||||||
qRegisterMetaType<SquishResultItem*>("SquishResultItem*");
|
qRegisterMetaType<SquishResultItem*>("SquishResultItem*");
|
||||||
|
|
||||||
const Id menuId = "Squish.Menu";
|
const Id menuId = "Squish.Menu";
|
||||||
@@ -67,9 +73,10 @@ SquishPluginPrivate::SquishPluginPrivate()
|
|||||||
|
|
||||||
ActionContainer *toolsMenu = ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
ActionContainer *toolsMenu = ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
||||||
toolsMenu->addMenu(menu);
|
toolsMenu->addMenu(menu);
|
||||||
|
ProjectExplorer::JsonWizardFactory::addWizardPath(":/squish/wizard/");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SquishPluginPrivate::initializeGlobalScripts()
|
bool initializeGlobalScripts()
|
||||||
{
|
{
|
||||||
// The code expects squishTestTreeModel to exist, so force creation now.
|
// The code expects squishTestTreeModel to exist, so force creation now.
|
||||||
(void) SquishTestTreeModel::instance();
|
(void) SquishTestTreeModel::instance();
|
||||||
@@ -93,33 +100,12 @@ bool SquishPluginPrivate::initializeGlobalScripts()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
class SquishPlugin final : public ExtensionSystem::IPlugin
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Squish.json")
|
|
||||||
|
|
||||||
private:
|
|
||||||
void initialize() final
|
|
||||||
{
|
|
||||||
setupObjectsMapEditor();
|
|
||||||
|
|
||||||
setupSquishOutputPane(this);
|
|
||||||
setupSquishTools(this);
|
|
||||||
|
|
||||||
d.reset(new SquishPluginPrivate);
|
|
||||||
|
|
||||||
setupSquishWizardPages();
|
|
||||||
setupSquishNavigationWidgetFactory();
|
|
||||||
|
|
||||||
ProjectExplorer::JsonWizardFactory::addWizardPath(":/squish/wizard/");
|
|
||||||
}
|
|
||||||
|
|
||||||
bool delayedInitialize() final
|
bool delayedInitialize() final
|
||||||
{
|
{
|
||||||
connect(&settings().squishPath, &BaseAspect::changed,
|
connect(&settings().squishPath, &BaseAspect::changed,
|
||||||
d.get(), &SquishPluginPrivate::initializeGlobalScripts);
|
this, &SquishPlugin::initializeGlobalScripts);
|
||||||
|
|
||||||
return d->initializeGlobalScripts();
|
return initializeGlobalScripts();
|
||||||
}
|
}
|
||||||
|
|
||||||
ShutdownFlag aboutToShutdown() final
|
ShutdownFlag aboutToShutdown() final
|
||||||
@@ -130,8 +116,6 @@ private:
|
|||||||
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
|
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
|
||||||
return AsynchronousShutdown;
|
return AsynchronousShutdown;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<SquishPluginPrivate> d;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Squish::Internal
|
} // Squish::Internal
|
||||||
|
Reference in New Issue
Block a user