diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h index 5fb4a98168e..161d207eac0 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h @@ -62,8 +62,6 @@ private: class CMakeRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory { - Q_OBJECT - public: CMakeRunConfigurationFactory(); }; diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index b6a873ca8f6..c058f19bb63 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -303,7 +303,7 @@ Abi CustomExecutableRunConfiguration::abi() const // Factory CustomExecutableRunConfigurationFactory::CustomExecutableRunConfigurationFactory() : - FixedRunConfigurationFactory(tr("Custom Executable")) + FixedRunConfigurationFactory(CustomExecutableRunConfiguration::tr("Custom Executable")) { registerRunConfiguration(CUSTOM_EXECUTABLE_ID); } diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.h b/src/plugins/projectexplorer/customexecutablerunconfiguration.h index dfdb0c680f5..63ec8151507 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.h +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.h @@ -86,8 +86,6 @@ private: class CustomExecutableRunConfigurationFactory : public FixedRunConfigurationFactory { - Q_OBJECT - public: CustomExecutableRunConfigurationFactory(); }; diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index e097ffa9295..e88e51b559d 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -466,10 +466,10 @@ QString RunConfigurationFactory::decoratedTargetName(const QString targetName, T if (IDevice::ConstPtr dev = DeviceKitInformation::device(target->kit())) { if (displayName.isEmpty()) { //: Shown in Run configuration if no executable is given, %1 is device name - displayName = tr("Run on %1").arg(dev->displayName()); + displayName = RunConfiguration::tr("Run on %1").arg(dev->displayName()); } else { //: Shown in Run configuration, Add menu: "name of runnable (on device name)" - displayName = tr("%1 (on %2)").arg(displayName, dev->displayName()); + displayName = RunConfiguration::tr("%1 (on %2)").arg(displayName, dev->displayName()); } } } diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 50c27b34ec0..9a922b41970 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -310,13 +310,11 @@ public: bool useTerminal = false; }; -class PROJECTEXPLORER_EXPORT RunConfigurationFactory : public QObject +class PROJECTEXPLORER_EXPORT RunConfigurationFactory { - Q_OBJECT - public: RunConfigurationFactory(); - ~RunConfigurationFactory(); + virtual ~RunConfigurationFactory(); static const QList allRunConfigurationFactories(); @@ -346,6 +344,9 @@ protected: void setDecorateDisplayNames(bool on); private: + RunConfigurationFactory(const RunConfigurationFactory &) = delete; + RunConfigurationFactory operator=(const RunConfigurationFactory &) = delete; + bool canHandle(Target *target) const; friend class RunConfigurationCreationInfo; @@ -358,8 +359,6 @@ private: class PROJECTEXPLORER_EXPORT FixedRunConfigurationFactory : public RunConfigurationFactory { - Q_OBJECT - public: explicit FixedRunConfigurationFactory(const QString &displayName, bool addDeviceName = false); diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h index d960a40fc3a..125e6fba031 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h @@ -116,8 +116,6 @@ private: class DesktopQmakeRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory { - Q_OBJECT - public: DesktopQmakeRunConfigurationFactory(); }; diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index 87bce94ee99..6e460d3e0b9 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -41,14 +41,14 @@ namespace Internal { QmlProjectPlugin::~QmlProjectPlugin() { + delete m_rcFactory; } bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) { Q_UNUSED(errorMessage) - auto rcFactory = new QmlProjectRunConfigurationFactory; - rcFactory->setParent(this); + m_rcFactory = new QmlProjectRunConfigurationFactory; ProjectManager::registerProjectType(QmlJSTools::Constants::QMLPROJECT_MIMETYPE); Core::FileIconProvider::registerIconOverlayForSuffix(":/qmlproject/images/qmlproject.png", "qmlproject"); diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h index 521840c3a62..d08738cfa99 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h @@ -42,6 +42,8 @@ public: private: bool initialize(const QStringList &arguments, QString *errorString) final; void extensionsInitialized() final {} + + class QmlProjectRunConfigurationFactory *m_rcFactory = nullptr; }; } // namespace Internal diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp index 274d6d1b49a..e5abbcc0b3d 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp @@ -32,7 +32,7 @@ namespace QmlProjectManager { namespace Internal { QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory() : - ProjectExplorer::FixedRunConfigurationFactory(tr("QML Scene"), false) + ProjectExplorer::FixedRunConfigurationFactory(QmlProjectRunConfiguration::tr("QML Scene"), false) { registerRunConfiguration(Constants::QML_SCENE_RC_ID); addSupportedProjectType(QmlProjectManager::Constants::QML_PROJECT_ID); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h index f5633ce8d9e..0a94d3c4f32 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h @@ -32,8 +32,6 @@ namespace Internal { class QmlProjectRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory { - Q_OBJECT - public: QmlProjectRunConfigurationFactory(); }; diff --git a/src/plugins/qnx/qnxrunconfiguration.h b/src/plugins/qnx/qnxrunconfiguration.h index 54580251168..3d8036023f8 100644 --- a/src/plugins/qnx/qnxrunconfiguration.h +++ b/src/plugins/qnx/qnxrunconfiguration.h @@ -49,7 +49,6 @@ private: class QnxRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory { - Q_OBJECT public: QnxRunConfigurationFactory(); }; diff --git a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h index 7e30d339824..bf29ba17ef6 100644 --- a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h @@ -63,8 +63,6 @@ private: class RemoteLinuxCustomRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory { - Q_OBJECT - public: RemoteLinuxCustomRunConfigurationFactory(); }; diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.h b/src/plugins/remotelinux/remotelinuxrunconfiguration.h index 6032e107148..09860e681cd 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.h @@ -84,8 +84,6 @@ private: class RemoteLinuxRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory { - Q_OBJECT - public: RemoteLinuxRunConfigurationFactory(); };