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 {
|
||||
|
||||
class SquishPluginPrivate final : public QObject
|
||||
class SquishPlugin final : public ExtensionSystem::IPlugin
|
||||
{
|
||||
public:
|
||||
SquishPluginPrivate();
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Squish.json")
|
||||
|
||||
bool initializeGlobalScripts();
|
||||
};
|
||||
private:
|
||||
void initialize() final
|
||||
{
|
||||
setupObjectsMapEditor();
|
||||
|
||||
setupSquishOutputPane(this);
|
||||
setupSquishTools(this);
|
||||
|
||||
setupSquishWizardPages();
|
||||
setupSquishNavigationWidgetFactory();
|
||||
|
||||
SquishPluginPrivate::SquishPluginPrivate()
|
||||
{
|
||||
qRegisterMetaType<SquishResultItem*>("SquishResultItem*");
|
||||
|
||||
const Id menuId = "Squish.Menu";
|
||||
@@ -67,10 +73,11 @@ SquishPluginPrivate::SquishPluginPrivate()
|
||||
|
||||
ActionContainer *toolsMenu = ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
||||
toolsMenu->addMenu(menu);
|
||||
}
|
||||
ProjectExplorer::JsonWizardFactory::addWizardPath(":/squish/wizard/");
|
||||
}
|
||||
|
||||
bool SquishPluginPrivate::initializeGlobalScripts()
|
||||
{
|
||||
bool initializeGlobalScripts()
|
||||
{
|
||||
// The code expects squishTestTreeModel to exist, so force creation now.
|
||||
(void) SquishTestTreeModel::instance();
|
||||
|
||||
@@ -91,35 +98,14 @@ bool SquishPluginPrivate::initializeGlobalScripts()
|
||||
SquishFileHandler::instance()->setSharedFolders(globalDirs);
|
||||
});
|
||||
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
|
||||
{
|
||||
connect(&settings().squishPath, &BaseAspect::changed,
|
||||
d.get(), &SquishPluginPrivate::initializeGlobalScripts);
|
||||
this, &SquishPlugin::initializeGlobalScripts);
|
||||
|
||||
return d->initializeGlobalScripts();
|
||||
return initializeGlobalScripts();
|
||||
}
|
||||
|
||||
ShutdownFlag aboutToShutdown() final
|
||||
@@ -130,8 +116,6 @@ private:
|
||||
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
|
||||
return AsynchronousShutdown;
|
||||
}
|
||||
|
||||
std::unique_ptr<SquishPluginPrivate> d;
|
||||
};
|
||||
|
||||
} // Squish::Internal
|
||||
|
Reference in New Issue
Block a user