forked from qt-creator/qt-creator
ProjectExplorer: Add a RunConfigurationFactory::canHandle(Target *)
All RunConfiguration factories had some kind of canHandle(Target *) implementation. Centralize this notion. Change-Id: Ie24a355e857bddfd76b866859b8c7a42ffc83840 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -39,14 +39,6 @@ using namespace ProjectExplorer;
|
|||||||
namespace BareMetal {
|
namespace BareMetal {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
static bool canHandle(const Target *target)
|
|
||||||
{
|
|
||||||
if (!target->project()->supportsKit(target->kit()))
|
|
||||||
return false;
|
|
||||||
const Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(target->kit());
|
|
||||||
return deviceType == BareMetal::Constants::BareMetalOsType;
|
|
||||||
}
|
|
||||||
|
|
||||||
// BareMetalRunConfigurationFactory
|
// BareMetalRunConfigurationFactory
|
||||||
|
|
||||||
BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory(QObject *parent) :
|
BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory(QObject *parent) :
|
||||||
@@ -54,6 +46,7 @@ BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory(QObject *pare
|
|||||||
{
|
{
|
||||||
setObjectName("BareMetalRunConfigurationFactory");
|
setObjectName("BareMetalRunConfigurationFactory");
|
||||||
registerRunConfiguration<BareMetalRunConfiguration>();
|
registerRunConfiguration<BareMetalRunConfiguration>();
|
||||||
|
setSupportedTargetDeviceTypes({BareMetal::Constants::BareMetalOsType});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BareMetalRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool BareMetalRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
@@ -104,6 +97,7 @@ BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory(Q
|
|||||||
{
|
{
|
||||||
setObjectName("BareMetalCustomRunConfigurationFactory");
|
setObjectName("BareMetalCustomRunConfigurationFactory");
|
||||||
registerRunConfiguration<BareMetalCustomRunConfiguration>();
|
registerRunConfiguration<BareMetalCustomRunConfiguration>();
|
||||||
|
setSupportedTargetDeviceTypes({BareMetal::Constants::BareMetalOsType});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BareMetalCustomRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool BareMetalCustomRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
|
@@ -222,6 +222,7 @@ CMakeRunConfigurationFactory::CMakeRunConfigurationFactory(QObject *parent) :
|
|||||||
{
|
{
|
||||||
setObjectName("CMakeRunConfigurationFactory");
|
setObjectName("CMakeRunConfigurationFactory");
|
||||||
registerRunConfiguration<CMakeRunConfiguration>();
|
registerRunConfiguration<CMakeRunConfiguration>();
|
||||||
|
setSupportedProjectType<CMakeProject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// used to show the list of possible additons to a project, returns a list of ids
|
// used to show the list of possible additons to a project, returns a list of ids
|
||||||
@@ -243,13 +244,6 @@ QString CMakeRunConfigurationFactory::displayNameForId(Core::Id id) const
|
|||||||
return buildTargetFromId(id);
|
return buildTargetFromId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CMakeRunConfigurationFactory::canHandle(Target *parent) const
|
|
||||||
{
|
|
||||||
if (!parent->project()->supportsKit(parent->kit()))
|
|
||||||
return false;
|
|
||||||
return qobject_cast<CMakeProject *>(parent->project());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CMakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool CMakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
{
|
{
|
||||||
if (!canHandle(parent))
|
if (!canHandle(parent))
|
||||||
|
@@ -94,9 +94,6 @@ public:
|
|||||||
|
|
||||||
static Core::Id idFromBuildTarget(const QString &target);
|
static Core::Id idFromBuildTarget(const QString &target);
|
||||||
static QString buildTargetFromId(Core::Id id);
|
static QString buildTargetFromId(Core::Id id);
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *parent) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -29,11 +29,6 @@
|
|||||||
#include "iosrunconfiguration.h"
|
#include "iosrunconfiguration.h"
|
||||||
#include "iosmanager.h"
|
#include "iosmanager.h"
|
||||||
|
|
||||||
#include <debugger/analyzer/analyzermanager.h>
|
|
||||||
#include <debugger/debuggerconstants.h>
|
|
||||||
|
|
||||||
#include <projectexplorer/customexecutablerunconfiguration.h>
|
|
||||||
#include <projectexplorer/kitinformation.h>
|
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/projectexplorer.h>
|
#include <projectexplorer/projectexplorer.h>
|
||||||
@@ -42,7 +37,6 @@
|
|||||||
#include <qmakeprojectmanager/qmakenodes.h>
|
#include <qmakeprojectmanager/qmakenodes.h>
|
||||||
#include <qmakeprojectmanager/qmakeproject.h>
|
#include <qmakeprojectmanager/qmakeproject.h>
|
||||||
|
|
||||||
using namespace Debugger;
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace QmakeProjectManager;
|
using namespace QmakeProjectManager;
|
||||||
|
|
||||||
@@ -54,6 +48,7 @@ IosRunConfigurationFactory::IosRunConfigurationFactory(QObject *parent)
|
|||||||
{
|
{
|
||||||
setObjectName("IosRunConfigurationFactory");
|
setObjectName("IosRunConfigurationFactory");
|
||||||
registerRunConfiguration<IosRunConfiguration>();
|
registerRunConfiguration<IosRunConfiguration>();
|
||||||
|
setSupportedProjectType<QmakeProject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IosRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool IosRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
@@ -94,9 +89,7 @@ QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const
|
|||||||
|
|
||||||
bool IosRunConfigurationFactory::canHandle(Target *t) const
|
bool IosRunConfigurationFactory::canHandle(Target *t) const
|
||||||
{
|
{
|
||||||
if (!t->project()->supportsKit(t->kit()))
|
return IRunConfigurationFactory::canHandle(t) && IosManager::supportsIos(t->kit());
|
||||||
return false;
|
|
||||||
return IosManager::supportsIos(t);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<RunConfiguration *> IosRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)
|
QList<RunConfiguration *> IosRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)
|
||||||
|
@@ -32,8 +32,6 @@
|
|||||||
#include <debugger/debuggerrunconfigurationaspect.h>
|
#include <debugger/debuggerrunconfigurationaspect.h>
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
namespace Nim {
|
namespace Nim {
|
||||||
@@ -41,6 +39,7 @@ namespace Nim {
|
|||||||
NimRunConfigurationFactory::NimRunConfigurationFactory()
|
NimRunConfigurationFactory::NimRunConfigurationFactory()
|
||||||
{
|
{
|
||||||
registerRunConfiguration<NimRunConfiguration>();
|
registerRunConfiguration<NimRunConfiguration>();
|
||||||
|
setSupportedProjectType<NimProject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> NimRunConfigurationFactory::availableCreationIds(Target *parent,
|
QList<Core::Id> NimRunConfigurationFactory::availableCreationIds(Target *parent,
|
||||||
@@ -78,12 +77,4 @@ bool NimRunConfigurationFactory::canClone(Target *parent, RunConfiguration *prod
|
|||||||
return canHandle(parent);
|
return canHandle(parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NimRunConfigurationFactory::canHandle(Target *parent) const
|
|
||||||
{
|
|
||||||
Q_UNUSED(parent);
|
|
||||||
if (!parent->project()->supportsKit(parent->kit()))
|
|
||||||
return false;
|
|
||||||
return qobject_cast<NimProject *>(parent->project());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -41,9 +41,6 @@ public:
|
|||||||
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
||||||
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
||||||
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
|
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *parent) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -341,11 +341,6 @@ bool CustomExecutableRunConfigurationFactory::canClone(Target *parent,
|
|||||||
return canCreate(parent, source->id());
|
return canCreate(parent, source->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CustomExecutableRunConfigurationFactory::canHandle(Target *parent) const
|
|
||||||
{
|
|
||||||
return parent->project()->supportsKit(parent->kit());
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<Core::Id> CustomExecutableRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const
|
QList<Core::Id> CustomExecutableRunConfigurationFactory::availableCreationIds(Target *parent, CreationMode mode) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(mode)
|
Q_UNUSED(mode)
|
||||||
|
@@ -101,9 +101,6 @@ public:
|
|||||||
bool canCreate(Target *parent, Core::Id id) const override;
|
bool canCreate(Target *parent, Core::Id id) const override;
|
||||||
bool canRestore(Target *parent, const QVariantMap &map) const override;
|
bool canRestore(Target *parent, const QVariantMap &map) const override;
|
||||||
bool canClone(Target *parent, RunConfiguration *product) const override;
|
bool canClone(Target *parent, RunConfiguration *product) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(Target *parent) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
} // namespace ProjectExplorer
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "kitinformation.h"
|
#include "kitinformation.h"
|
||||||
#include "runnables.h"
|
#include "runnables.h"
|
||||||
#include "session.h"
|
#include "session.h"
|
||||||
|
#include "kitinformation.h"
|
||||||
|
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
|
|
||||||
@@ -449,6 +450,33 @@ IRunConfigurationFactory::IRunConfigurationFactory(QObject *parent) :
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Specifies a list of device types for which this RunConfigurationFactory
|
||||||
|
can create RunConfiguration.
|
||||||
|
|
||||||
|
Not calling this function or using an empty list means no restriction.
|
||||||
|
*/
|
||||||
|
void IRunConfigurationFactory::setSupportedTargetDeviceTypes(const QList<Core::Id> &ids)
|
||||||
|
{
|
||||||
|
m_supportedTargetDeviceTypes = ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IRunConfigurationFactory::canHandle(Target *target) const
|
||||||
|
{
|
||||||
|
if (m_projectTypeChecker && !m_projectTypeChecker(target->project()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!target->project()->supportsKit(target->kit()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!m_supportedTargetDeviceTypes.isEmpty())
|
||||||
|
if (!m_supportedTargetDeviceTypes.contains(
|
||||||
|
DeviceTypeKitInformation::deviceTypeId(target->kit())))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id)
|
RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id)
|
||||||
{
|
{
|
||||||
if (!canCreate(parent, id))
|
if (!canCreate(parent, id))
|
||||||
|
@@ -288,6 +288,7 @@ public:
|
|||||||
virtual QList<Core::Id> availableCreationIds(Target *parent, CreationMode mode = UserCreate) const = 0;
|
virtual QList<Core::Id> availableCreationIds(Target *parent, CreationMode mode = UserCreate) const = 0;
|
||||||
virtual QString displayNameForId(Core::Id id) const = 0;
|
virtual QString displayNameForId(Core::Id id) const = 0;
|
||||||
|
|
||||||
|
virtual bool canHandle(Target *target) const;
|
||||||
virtual bool canCreate(Target *parent, Core::Id id) const = 0;
|
virtual bool canCreate(Target *parent, Core::Id id) const = 0;
|
||||||
RunConfiguration *create(Target *parent, Core::Id id);
|
RunConfiguration *create(Target *parent, Core::Id id);
|
||||||
virtual bool canRestore(Target *parent, const QVariantMap &map) const = 0;
|
virtual bool canRestore(Target *parent, const QVariantMap &map) const = 0;
|
||||||
@@ -311,8 +312,20 @@ protected:
|
|||||||
m_creator = [](Target *t) -> RunConfiguration * { return new RunConfig(t); };
|
m_creator = [](Target *t) -> RunConfiguration * { return new RunConfig(t); };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using ProjectTypeChecker = std::function<bool(Project *)>;
|
||||||
|
|
||||||
|
template <class ProjectType>
|
||||||
|
void setSupportedProjectType()
|
||||||
|
{
|
||||||
|
m_projectTypeChecker = [](Project *p) { return qobject_cast<ProjectType *>(p) != nullptr; };
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSupportedTargetDeviceTypes(const QList<Core::Id> &ids);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RunConfigurationCreator m_creator;
|
RunConfigurationCreator m_creator;
|
||||||
|
ProjectTypeChecker m_projectTypeChecker;
|
||||||
|
QList<Core::Id> m_supportedTargetDeviceTypes;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT RunConfigWidget : public QWidget
|
class PROJECTEXPLORER_EXPORT RunConfigWidget : public QWidget
|
||||||
|
@@ -91,6 +91,7 @@ static Core::Id idFromScript(const QString &target)
|
|||||||
|
|
||||||
class PythonProject : public Project
|
class PythonProject : public Project
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit PythonProject(const Utils::FileName &filename);
|
explicit PythonProject(const Utils::FileName &filename);
|
||||||
|
|
||||||
@@ -279,6 +280,7 @@ public:
|
|||||||
{
|
{
|
||||||
setObjectName("PythonRunConfigurationFactory");
|
setObjectName("PythonRunConfigurationFactory");
|
||||||
registerRunConfiguration<PythonRunConfiguration>();
|
registerRunConfiguration<PythonRunConfiguration>();
|
||||||
|
setSupportedProjectType<PythonProject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> availableCreationIds(Target *parent, CreationMode mode) const override
|
QList<Core::Id> availableCreationIds(Target *parent, CreationMode mode) const override
|
||||||
@@ -323,9 +325,6 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
return source->id().name().startsWith(PythonRunConfigurationPrefix);
|
return source->id().name().startsWith(PythonRunConfigurationPrefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(Target *parent) const { return dynamic_cast<PythonProject *>(parent->project()); }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
PythonProject::PythonProject(const FileName &fileName) :
|
PythonProject::PythonProject(const FileName &fileName) :
|
||||||
|
@@ -355,6 +355,8 @@ QbsRunConfigurationFactory::QbsRunConfigurationFactory(QObject *parent) :
|
|||||||
{
|
{
|
||||||
setObjectName("QbsRunConfigurationFactory");
|
setObjectName("QbsRunConfigurationFactory");
|
||||||
registerRunConfiguration<QbsRunConfiguration>();
|
registerRunConfiguration<QbsRunConfiguration>();
|
||||||
|
setSupportedProjectType<QbsProject>();
|
||||||
|
setSupportedTargetDeviceTypes({Constants::DESKTOP_DEVICE_TYPE});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QbsRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool QbsRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
@@ -413,15 +415,5 @@ QString QbsRunConfigurationFactory::displayNameForId(Core::Id id) const
|
|||||||
return productDisplayNameFromId(id);
|
return productDisplayNameFromId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QbsRunConfigurationFactory::canHandle(Target *t) const
|
|
||||||
{
|
|
||||||
if (!t->project()->supportsKit(t->kit()))
|
|
||||||
return false;
|
|
||||||
if (!qobject_cast<QbsProject *>(t->project()))
|
|
||||||
return false;
|
|
||||||
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(t->kit());
|
|
||||||
return devType == Constants::DESKTOP_DEVICE_TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace QbsProjectManager
|
} // namespace QbsProjectManager
|
||||||
|
@@ -116,9 +116,6 @@ public:
|
|||||||
|
|
||||||
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
|
QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const override;
|
||||||
QString displayNameForId(Core::Id id) const override;
|
QString displayNameForId(Core::Id id) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *t) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -50,6 +50,7 @@ QmakeAndroidRunConfigurationFactory::QmakeAndroidRunConfigurationFactory(QObject
|
|||||||
: IRunConfigurationFactory(parent)
|
: IRunConfigurationFactory(parent)
|
||||||
{
|
{
|
||||||
registerRunConfiguration<QmakeAndroidRunConfiguration>();
|
registerRunConfiguration<QmakeAndroidRunConfiguration>();
|
||||||
|
setSupportedProjectType<QmakeProject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QmakeAndroidRunConfigurationFactory::displayNameForId(Core::Id id) const
|
QString QmakeAndroidRunConfigurationFactory::displayNameForId(Core::Id id) const
|
||||||
@@ -88,9 +89,7 @@ QList<Core::Id> QmakeAndroidRunConfigurationFactory::availableCreationIds(Target
|
|||||||
|
|
||||||
bool QmakeAndroidRunConfigurationFactory::canHandle(Target *t) const
|
bool QmakeAndroidRunConfigurationFactory::canHandle(Target *t) const
|
||||||
{
|
{
|
||||||
return t->project()->supportsKit(t->kit())
|
return IRunConfigurationFactory::canHandle(t) && AndroidManager::supportsAndroid(t);
|
||||||
&& AndroidManager::supportsAndroid(t)
|
|
||||||
&& qobject_cast<QmakeProject *>(t->project());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef Q_CC_GCC
|
#ifdef Q_CC_GCC
|
||||||
|
@@ -441,6 +441,8 @@ DesktopQmakeRunConfigurationFactory::DesktopQmakeRunConfigurationFactory(QObject
|
|||||||
{
|
{
|
||||||
setObjectName("DesktopQmakeRunConfigurationFactory");
|
setObjectName("DesktopQmakeRunConfigurationFactory");
|
||||||
registerRunConfiguration<DesktopQmakeRunConfiguration>();
|
registerRunConfiguration<DesktopQmakeRunConfiguration>();
|
||||||
|
setSupportedProjectType<QmakeProject>();
|
||||||
|
setSupportedTargetDeviceTypes({Constants::DESKTOP_DEVICE_TYPE});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
@@ -477,16 +479,6 @@ QString DesktopQmakeRunConfigurationFactory::displayNameForId(Core::Id id) const
|
|||||||
return pathFromId(id).toFileInfo().completeBaseName();
|
return pathFromId(id).toFileInfo().completeBaseName();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DesktopQmakeRunConfigurationFactory::canHandle(Target *t) const
|
|
||||||
{
|
|
||||||
if (!t->project()->supportsKit(t->kit()))
|
|
||||||
return false;
|
|
||||||
if (!qobject_cast<QmakeProject *>(t->project()))
|
|
||||||
return false;
|
|
||||||
Core::Id devType = DeviceTypeKitInformation::deviceTypeId(t->kit());
|
|
||||||
return devType == Constants::DESKTOP_DEVICE_TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<RunConfiguration *> DesktopQmakeRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)
|
QList<RunConfiguration *> DesktopQmakeRunConfigurationFactory::runConfigurationsForNode(Target *t, const Node *n)
|
||||||
{
|
{
|
||||||
QList<RunConfiguration *> result;
|
QList<RunConfiguration *> result;
|
||||||
|
@@ -149,9 +149,6 @@ public:
|
|||||||
|
|
||||||
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
|
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
|
||||||
const ProjectExplorer::Node *n) override;
|
const ProjectExplorer::Node *n) override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *t) const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -40,7 +40,6 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeRunConfigurationFactory : public ProjectEx
|
|||||||
public:
|
public:
|
||||||
explicit QmakeRunConfigurationFactory(QObject *parent = 0);
|
explicit QmakeRunConfigurationFactory(QObject *parent = 0);
|
||||||
|
|
||||||
virtual bool canHandle(ProjectExplorer::Target *t) const = 0;
|
|
||||||
virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
|
virtual QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Target *t,
|
||||||
const ProjectExplorer::Node *n) = 0;
|
const ProjectExplorer::Node *n) = 0;
|
||||||
|
|
||||||
|
@@ -41,6 +41,8 @@ QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory(QObject *pa
|
|||||||
{
|
{
|
||||||
setObjectName("QmlProjectRunConfigurationFactory");
|
setObjectName("QmlProjectRunConfigurationFactory");
|
||||||
registerRunConfiguration<QmlProjectRunConfiguration>();
|
registerRunConfiguration<QmlProjectRunConfiguration>();
|
||||||
|
setSupportedProjectType<QmlProject>();
|
||||||
|
setSupportedTargetDeviceTypes({ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> QmlProjectRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
|
QList<Core::Id> QmlProjectRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
|
||||||
@@ -113,16 +115,6 @@ bool QmlProjectRunConfigurationFactory::canClone(ProjectExplorer::Target *parent
|
|||||||
return canCreate(parent, source->id());
|
return canCreate(parent, source->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmlProjectRunConfigurationFactory::canHandle(ProjectExplorer::Target *parent) const
|
|
||||||
{
|
|
||||||
if (!parent->project()->supportsKit(parent->kit()))
|
|
||||||
return false;
|
|
||||||
if (!qobject_cast<QmlProject *>(parent->project()))
|
|
||||||
return false;
|
|
||||||
Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit());
|
|
||||||
return deviceType == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace QmlProjectManager
|
} // namespace QmlProjectManager
|
||||||
|
|
||||||
|
@@ -43,9 +43,6 @@ public:
|
|||||||
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
||||||
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
||||||
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
|
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *parent) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -45,6 +45,7 @@ QnxRunConfigurationFactory::QnxRunConfigurationFactory(QObject *parent) :
|
|||||||
ProjectExplorer::IRunConfigurationFactory(parent)
|
ProjectExplorer::IRunConfigurationFactory(parent)
|
||||||
{
|
{
|
||||||
registerRunConfiguration<QnxRunConfiguration>();
|
registerRunConfiguration<QnxRunConfiguration>();
|
||||||
|
setSupportedTargetDeviceTypes({Constants::QNX_QNX_OS_TYPE});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
|
QList<Core::Id> QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const
|
||||||
@@ -95,14 +96,5 @@ bool QnxRunConfigurationFactory::canClone(ProjectExplorer::Target *parent, Proje
|
|||||||
return canCreate(parent, source->id());
|
return canCreate(parent, source->id());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QnxRunConfigurationFactory::canHandle(ProjectExplorer::Target *t) const
|
|
||||||
{
|
|
||||||
Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit());
|
|
||||||
if (deviceType != QnxDeviceFactory::deviceType())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace Qnx
|
} // namespace Qnx
|
||||||
|
@@ -44,9 +44,6 @@ public:
|
|||||||
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
||||||
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
||||||
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
|
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *t) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -50,14 +50,6 @@ static QString stringFromId(Core::Id id)
|
|||||||
return QString::fromUtf8(idStr.mid(int(strlen(RemoteLinuxRunConfiguration::IdPrefix))));
|
return QString::fromUtf8(idStr.mid(int(strlen(RemoteLinuxRunConfiguration::IdPrefix))));
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool canHandle(const Target *target)
|
|
||||||
{
|
|
||||||
if (!target->project()->supportsKit(target->kit()))
|
|
||||||
return false;
|
|
||||||
const Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(target->kit());
|
|
||||||
return deviceType == RemoteLinux::Constants::GenericLinuxOsType;
|
|
||||||
}
|
|
||||||
|
|
||||||
// RemoteLinuxRunConfigurationFactory
|
// RemoteLinuxRunConfigurationFactory
|
||||||
|
|
||||||
RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject *parent)
|
RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject *parent)
|
||||||
@@ -65,6 +57,7 @@ RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory(QObject *
|
|||||||
{
|
{
|
||||||
setObjectName("RemoteLinuxRunConfigurationFactory");
|
setObjectName("RemoteLinuxRunConfigurationFactory");
|
||||||
registerRunConfiguration<RemoteLinuxRunConfiguration>();
|
registerRunConfiguration<RemoteLinuxRunConfiguration>();
|
||||||
|
setSupportedTargetDeviceTypes({RemoteLinux::Constants::GenericLinuxOsType});
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RemoteLinuxRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
bool RemoteLinuxRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
|
||||||
|
@@ -41,21 +41,13 @@ using QmakeProjectManager::QmakeProFile;
|
|||||||
namespace WinRt {
|
namespace WinRt {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
static bool isKitCompatible(Kit *kit)
|
|
||||||
{
|
|
||||||
IDevice::ConstPtr device = DeviceKitInformation::device(kit);
|
|
||||||
if (!device)
|
|
||||||
return false;
|
|
||||||
if (device->type() == Constants::WINRT_DEVICE_TYPE_LOCAL
|
|
||||||
|| device->type() == Constants::WINRT_DEVICE_TYPE_PHONE
|
|
||||||
|| device->type() == Constants::WINRT_DEVICE_TYPE_EMULATOR)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
WinRtRunConfigurationFactory::WinRtRunConfigurationFactory()
|
WinRtRunConfigurationFactory::WinRtRunConfigurationFactory()
|
||||||
{
|
{
|
||||||
registerRunConfiguration<WinRtRunConfiguration>();
|
registerRunConfiguration<WinRtRunConfiguration>();
|
||||||
|
setSupportedProjectType<QmakeProject>();
|
||||||
|
setSupportedTargetDeviceTypes({Constants::WINRT_DEVICE_TYPE_LOCAL,
|
||||||
|
Constants::WINRT_DEVICE_TYPE_PHONE,
|
||||||
|
Constants::WINRT_DEVICE_TYPE_EMULATOR});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Core::Id> WinRtRunConfigurationFactory::availableCreationIds(Target *parent,
|
QList<Core::Id> WinRtRunConfigurationFactory::availableCreationIds(Target *parent,
|
||||||
@@ -95,14 +87,5 @@ bool WinRtRunConfigurationFactory::canClone(Target *parent, RunConfiguration *pr
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WinRtRunConfigurationFactory::canHandle(Target *parent) const
|
|
||||||
{
|
|
||||||
if (!isKitCompatible(parent->kit()))
|
|
||||||
return false;
|
|
||||||
if (!qobject_cast<QmakeProject *>(parent->project()))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace WinRt
|
} // namespace WinRt
|
||||||
|
@@ -43,9 +43,6 @@ public:
|
|||||||
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const override;
|
||||||
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const override;
|
||||||
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
|
bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const override;
|
||||||
|
|
||||||
private:
|
|
||||||
bool canHandle(ProjectExplorer::Target *parent) const;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
Reference in New Issue
Block a user