aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/haskell/haskellrunconfiguration.cpp
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2017-11-27 12:29:14 +0100
committerEike Ziller <[email protected]>2017-11-27 12:34:01 +0000
commit6ee714619f6cdd95098c98e86c840ee56b2f07f4 (patch)
tree5a6496f7bf9c25ac270af05c1fb6ef068542ba1d /plugins/haskell/haskellrunconfiguration.cpp
parent01c0fa565f95d75ea2745f246a17dc0e15dc7175 (diff)
Adapt to upstream API changes for run configuration factories
Change-Id: Ifc984f3eff16d109923db33f87906c49765f7864 Reviewed-by: Tobias Hunger <[email protected]> Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'plugins/haskell/haskellrunconfiguration.cpp')
-rw-r--r--plugins/haskell/haskellrunconfiguration.cpp57
1 files changed, 10 insertions, 47 deletions
diff --git a/plugins/haskell/haskellrunconfiguration.cpp b/plugins/haskell/haskellrunconfiguration.cpp
index dfeee7e..9e7b6ff 100644
--- a/plugins/haskell/haskellrunconfiguration.cpp
+++ b/plugins/haskell/haskellrunconfiguration.cpp
@@ -31,6 +31,7 @@
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/localenvironmentaspect.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/runconfigurationaspects.h>
#include <projectexplorer/runnables.h>
#include <projectexplorer/target.h>
@@ -43,57 +44,19 @@ using namespace ProjectExplorer;
namespace Haskell {
namespace Internal {
-HaskellRunConfigurationFactory::HaskellRunConfigurationFactory() {}
-
-QList<Core::Id> HaskellRunConfigurationFactory::availableCreationIds(
- Target *parent,
- IRunConfigurationFactory::CreationMode mode) const
-{
- Q_UNUSED(mode)
- const auto project = HaskellProject::toHaskellProject(parent->project());
- if (project)
- return project->availableRunConfigurationIds();
- return {};
-}
-
-QString HaskellRunConfigurationFactory::displayNameForId(Core::Id id) const
-{
- return id.suffixAfter(Constants::C_HASKELL_RUNCONFIG_ID_PREFIX);
-}
-
-bool HaskellRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const
-{
- return id.name().startsWith(Constants::C_HASKELL_RUNCONFIG_ID_PREFIX)
- && HaskellProject::isHaskellProject(parent->project());
-}
-
-bool HaskellRunConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const
+HaskellRunConfigurationFactory::HaskellRunConfigurationFactory()
{
- return canCreate(parent, idFromMap(map));
+ registerRunConfiguration<HaskellRunConfiguration>(Constants::C_HASKELL_RUNCONFIG_ID_PREFIX);
+ setSupportedProjectType<HaskellProject>();
+ setSupportedTargetDeviceTypes({ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE});
}
-bool HaskellRunConfigurationFactory::canClone(Target *parent, RunConfiguration *product) const
+QList<QString> HaskellRunConfigurationFactory::availableBuildTargets(
+ Target *parent, IRunConfigurationFactory::CreationMode mode) const
{
- return canCreate(parent, product->id());
-}
-
-RunConfiguration *HaskellRunConfigurationFactory::clone(Target *parent, RunConfiguration *product)
-{
- return cloneHelper<HaskellRunConfiguration>(parent, product);
-}
-
-RunConfiguration *HaskellRunConfigurationFactory::doCreate(Target *parent, Core::Id id)
-{
- QTC_ASSERT(canCreate(parent, id), return nullptr);
- return createHelper<HaskellRunConfiguration>(parent, id);
-}
-
-RunConfiguration *HaskellRunConfigurationFactory::doRestore(Target *parent, const QVariantMap &map)
-{
- QTC_ASSERT(canRestore(parent, map), return nullptr);
- auto config = doCreate(parent, idFromMap(map));
- config->fromMap(map);
- return config;
+ Q_UNUSED(mode)
+ const auto project = HaskellProject::toHaskellProject(parent->project());
+ return project ? project->availableExecutables() : QList<QString>();
}
HaskellRunConfiguration::HaskellRunConfiguration(Target *parent)