Pass id to RunConfiguration constructor

It's what the base class requires, and opens the possibility to
have several factories creating the same type of run configuration.

Also move ios, winrt and android factories closer to their products,
it's the predominant pattern nowadays.

Change-Id: Iad48152f02a248d22cb18dd435a2fc34d73c7077
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-04-25 10:26:08 +02:00
parent 4146a98599
commit 366be94ad9
49 changed files with 124 additions and 353 deletions
@@ -71,8 +71,8 @@ private:
BareMetalCustomRunConfiguration * const m_runConfig;
};
BareMetalCustomRunConfiguration::BareMetalCustomRunConfiguration(Target *parent)
: BareMetalRunConfiguration(parent)
BareMetalCustomRunConfiguration::BareMetalCustomRunConfiguration(Target *parent, Core::Id id)
: BareMetalRunConfiguration(parent, id)
{
}
@@ -33,8 +33,9 @@ namespace Internal {
class BareMetalCustomRunConfiguration : public BareMetalRunConfiguration
{
Q_OBJECT
public:
explicit BareMetalCustomRunConfiguration(ProjectExplorer::Target *parent);
BareMetalCustomRunConfiguration(ProjectExplorer::Target *parent, Core::Id id);
bool isConfigured() const override;
ConfigurationState ensureConfigured(QString *errorMessage) override;
@@ -84,8 +84,8 @@ void BareMetalRunConfigurationWidget::updateTargetInformation()
// BareMetalRunConfiguration
BareMetalRunConfiguration::BareMetalRunConfiguration(Target *target)
: RunConfiguration(target, IdPrefix)
BareMetalRunConfiguration::BareMetalRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new ArgumentsAspect(this, "Qt4ProjectManager.MaemoRunConfiguration.Arguments"));
addExtraAspect(new WorkingDirectoryAspect(this, "BareMetal.RunConfig.WorkingDirectory"));
@@ -37,7 +37,7 @@ class BareMetalRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit BareMetalRunConfiguration(ProjectExplorer::Target *target);
BareMetalRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
QWidget *createConfigurationWidget() override;
@@ -40,11 +40,10 @@ using namespace ProjectExplorer;
namespace CMakeProjectManager {
namespace Internal {
const char CMAKE_RC_PREFIX[] = "CMakeProjectManager.CMakeRunConfiguration.";
const char TITLE_KEY[] = "CMakeProjectManager.CMakeRunConfiguation.Title";
CMakeRunConfiguration::CMakeRunConfiguration(Target *target)
: RunConfiguration(target, CMAKE_RC_PREFIX)
CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
// Workaround for QTCREATORBUG-19354:
auto cmakeRunEnvironmentModifier = [](RunConfiguration *rc, Utils::Environment &env) {
@@ -128,7 +127,7 @@ void CMakeRunConfiguration::updateTargetInformation()
// Factory
CMakeRunConfigurationFactory::CMakeRunConfigurationFactory()
{
registerRunConfiguration<CMakeRunConfiguration>(CMAKE_RC_PREFIX);
registerRunConfiguration<CMakeRunConfiguration>("CMakeProjectManager.CMakeRunConfiguration.");
addSupportedProjectType(CMakeProjectManager::Constants::CMAKEPROJECT_ID);
addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE);
}
@@ -35,7 +35,7 @@ class CMakeRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit CMakeRunConfiguration(ProjectExplorer::Target *target);
CMakeRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
private:
QVariantMap toMap() const override;
-2
View File
@@ -11,7 +11,6 @@ HEADERS += \
iosconstants.h \
iosconfigurations.h \
iosrunconfiguration.h \
iosrunfactories.h \
iossettingspage.h \
iossettingswidget.h \
iosrunner.h \
@@ -41,7 +40,6 @@ HEADERS += \
SOURCES += \
iosconfigurations.cpp \
iosrunconfiguration.cpp \
iosrunfactories.cpp \
iossettingspage.cpp \
iossettingswidget.cpp \
iosrunner.cpp \
-2
View File
@@ -55,8 +55,6 @@ QtcPlugin {
"iosqtversionfactory.h",
"iosrunconfiguration.cpp",
"iosrunconfiguration.h",
"iosrunfactories.cpp",
"iosrunfactories.h",
"iosrunner.cpp",
"iosrunner.h",
"iossettingspage.cpp",
-2
View File
@@ -51,7 +51,5 @@ const quint16 IOS_SIMULATOR_PORT_END = 31000;
const char EXTRA_INFO_KEY[] = "extraInfo";
const char IOS_RC_ID_PREFIX[] = "Qt4ProjectManager.IosRunConfiguration:";
} // namespace Constants;
} // namespace Ios
-1
View File
@@ -34,7 +34,6 @@
#include "iosdevicefactory.h"
#include "iosdsymbuildstep.h"
#include "iosqtversionfactory.h"
#include "iosrunfactories.h"
#include "iosrunner.h"
#include "iossettingspage.h"
#include "iossimulator.h"
+17 -3
View File
@@ -35,9 +35,12 @@
#include <projectexplorer/buildstep.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/runconfigurationaspects.h>
#include <qmakeprojectmanager/qmakebuildconfiguration.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakenodes.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
#include <qtsupport/qtoutputformatter.h>
#include <qtsupport/qtkitinformation.h>
@@ -93,8 +96,8 @@ private:
QComboBox *m_deviceTypeComboBox;
};
IosRunConfiguration::IosRunConfiguration(Target *target)
: RunConfiguration(target, Constants::IOS_RC_ID_PREFIX)
IosRunConfiguration::IosRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new ArgumentsAspect(this, "Ios.run_arguments"));
setOutputFormatter<QtSupport::QtOutputFormatter>();
@@ -419,5 +422,16 @@ void IosRunConfigurationWidget::updateValues()
m_executableLineEdit->setText(m_runConfiguration->localExecutable().toUserOutput());
}
// IosRunConfigurationFactory
IosRunConfigurationFactory::IosRunConfigurationFactory()
{
registerRunConfiguration<IosRunConfiguration>("Qt4ProjectManager.IosRunConfiguration:");
addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE);
addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE);
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
}
} // namespace Internal
} // namespace Ios
+7 -1
View File
@@ -44,7 +44,7 @@ class IosRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit IosRunConfiguration(ProjectExplorer::Target *target);
IosRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
QWidget *createConfigurationWidget() override;
IosDeployStep *deployStep() const;
@@ -74,5 +74,11 @@ private:
IosDeviceType m_deviceType;
};
class IosRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
IosRunConfigurationFactory();
};
} // namespace Internal
} // namespace Ios
-45
View File
@@ -1,45 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "iosrunfactories.h"
#include "iosconstants.h"
#include "iosrunconfiguration.h"
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
namespace Ios {
namespace Internal {
IosRunConfigurationFactory::IosRunConfigurationFactory()
{
registerRunConfiguration<IosRunConfiguration>(Constants::IOS_RC_ID_PREFIX);
addSupportedTargetDeviceType(Constants::IOS_DEVICE_TYPE);
addSupportedTargetDeviceType(Constants::IOS_SIMULATOR_TYPE);
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
}
} // namespace Internal
} // namespace Ios
-40
View File
@@ -1,40 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#pragma once
#include <projectexplorer/runconfiguration.h>
namespace Ios {
namespace Internal {
class IosRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
IosRunConfigurationFactory();
};
} // namespace Internal
} // namespace Ios
-1
View File
@@ -40,7 +40,6 @@ const char C_NIMTOOLCHAIN_TYPEID[] = "Nim.NimToolChain";
const char C_NIMTOOLCHAIN_COMPILER_COMMAND_KEY[] = "Nim.NimToolChain.CompilerCommand";
// NimRunConfiguration
const char C_NIMRUNCONFIGURATION_ID[] = "Nim.NimRunConfiguration";
const QString C_NIMRUNCONFIGURATION_EXECUTABLE_KEY = QStringLiteral("Nim.NimRunConfiguration.Executable");
// NimProject
@@ -42,8 +42,8 @@ using namespace Utils;
namespace Nim {
NimRunConfiguration::NimRunConfiguration(Target *target)
: RunConfiguration(target, Constants::C_NIMRUNCONFIGURATION_ID)
NimRunConfiguration::NimRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
auto terminalAspect = new TerminalAspect(this, "Nim.NimRunConfiguration.TerminalAspect");
terminalAspect->setRunMode(ApplicationLauncher::Gui);
@@ -100,7 +100,7 @@ void NimRunConfiguration::setActiveBuildConfiguration(NimBuildConfiguration *act
NimRunConfigurationFactory::NimRunConfigurationFactory() : FixedRunConfigurationFactory(QString())
{
registerRunConfiguration<NimRunConfiguration>(Constants::C_NIMRUNCONFIGURATION_ID);
registerRunConfiguration<NimRunConfiguration>("Nim.NimRunConfiguration");
addSupportedProjectType(Constants::C_NIMPROJECT_ID);
}
@@ -36,7 +36,7 @@ class NimRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit NimRunConfiguration(ProjectExplorer::Target *target);
NimRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
private:
void updateConfiguration();
@@ -81,8 +81,8 @@ private:
CustomExecutableConfigurationWidget *m_widget;
};
CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *target)
: RunConfiguration(target, CUSTOM_EXECUTABLE_ID)
CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new LocalEnvironmentAspect(this, LocalEnvironmentAspect::BaseEnvironmentModifier()));
addExtraAspect(new ArgumentsAspect(this, "ProjectExplorer.CustomExecutableRunConfiguration.Arguments"));
@@ -91,6 +91,11 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe
setDefaultDisplayName(defaultDisplayName());
}
CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *target)
: CustomExecutableRunConfiguration(target, CUSTOM_EXECUTABLE_ID)
{
}
// Note: Qt4Project deletes all empty customexecrunconfigs for which isConfigured() == false.
CustomExecutableRunConfiguration::~CustomExecutableRunConfiguration()
{
@@ -43,6 +43,7 @@ class PROJECTEXPLORER_EXPORT CustomExecutableRunConfiguration : public RunConfig
friend class ProjectExplorer::RunConfigurationFactory;
public:
explicit CustomExecutableRunConfiguration(Target *target, Core::Id id);
explicit CustomExecutableRunConfiguration(Target *target);
~CustomExecutableRunConfiguration() override;
@@ -343,7 +343,9 @@ protected:
template <class RunConfig>
void registerRunConfiguration(Core::Id runConfigBaseId)
{
m_creator = [](Target *t) -> RunConfiguration * { return new RunConfig(t); };
m_creator = [runConfigBaseId](Target *t) -> RunConfiguration * {
return new RunConfig(t, runConfigBaseId);
};
m_runConfigBaseId = runConfigBaseId;
}
@@ -75,7 +75,6 @@ using namespace Utils;
namespace PythonEditor {
namespace Internal {
const char PythonRunConfigurationPrefix[] = "PythonEditor.RunConfiguration.";
const char InterpreterKey[] = "PythonEditor.RunConfiguation.Interpreter";
const char MainScriptKey[] = "PythonEditor.RunConfiguation.MainScript";
const char PythonMimeType[] = "text/x-python-project"; // ### FIXME
@@ -235,7 +234,7 @@ class PythonRunConfiguration : public RunConfiguration
Q_PROPERTY(QString arguments READ arguments)
public:
explicit PythonRunConfiguration(Target *target);
PythonRunConfiguration(Target *target, Core::Id id);
QWidget *createConfigurationWidget() override;
QVariantMap toMap() const override;
@@ -250,8 +249,6 @@ public:
void setInterpreter(const QString &interpreter) { m_interpreter = interpreter; }
private:
friend class ProjectExplorer::RunConfigurationFactory;
QString defaultDisplayName() const;
QString m_interpreter;
@@ -260,8 +257,8 @@ private:
////////////////////////////////////////////////////////////////
PythonRunConfiguration::PythonRunConfiguration(Target *target)
: RunConfiguration(target, PythonRunConfigurationPrefix)
PythonRunConfiguration::PythonRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new LocalEnvironmentAspect(this, LocalEnvironmentAspect::BaseEnvironmentModifier()));
addExtraAspect(new ArgumentsAspect(this, "PythonEditor.RunConfiguration.Arguments"));
@@ -351,7 +348,7 @@ class PythonRunConfigurationFactory : public RunConfigurationFactory
public:
PythonRunConfigurationFactory()
{
registerRunConfiguration<PythonRunConfiguration>(PythonRunConfigurationPrefix);
registerRunConfiguration<PythonRunConfiguration>("PythonEditor.RunConfiguration.");
addSupportedProjectType(PythonProjectId);
}
};
@@ -45,14 +45,12 @@ using namespace Utils;
namespace QbsProjectManager {
namespace Internal {
const char QBS_RC_PREFIX[] = "Qbs.RunConfiguration:";
// --------------------------------------------------------------------
// QbsRunConfiguration:
// --------------------------------------------------------------------
QbsRunConfiguration::QbsRunConfiguration(Target *target)
: RunConfiguration(target, QBS_RC_PREFIX)
QbsRunConfiguration::QbsRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
auto envAspect = new LocalEnvironmentAspect(this,
[](RunConfiguration *rc, Environment &env) {
@@ -174,7 +172,7 @@ bool QbsRunConfiguration::canRunForNode(const Node *node) const
QbsRunConfigurationFactory::QbsRunConfigurationFactory()
{
registerRunConfiguration<QbsRunConfiguration>(QBS_RC_PREFIX);
registerRunConfiguration<QbsRunConfiguration>("Qbs.RunConfiguration:");
addSupportedProjectType(Constants::PROJECT_ID);
addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE);
}
@@ -39,7 +39,7 @@ class QbsRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit QbsRunConfiguration(ProjectExplorer::Target *target);
QbsRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
void addToBaseEnvironment(Utils::Environment &env) const;
@@ -25,18 +25,21 @@
#include "qmakeandroidrunconfiguration.h"
#include <android/androidconstants.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/target.h>
#include <qtsupport/qtoutputformatter.h>
#include <qtsupport/qtkitinformation.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
#include <qmakeprojectmanager/qmakenodes.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <QFileInfo>
namespace {
QLatin1String PRO_FILE_KEY("QMakeProjectManager.QmakeAndroidRunConfiguration.ProFile");
}
@@ -47,10 +50,8 @@ using QmakeProjectManager::QmakeProject;
namespace QmakeAndroidSupport {
namespace Internal {
static const char ANDROID_RC_ID_PREFIX[] = "Qt4ProjectManager.AndroidRunConfiguration:";
QmakeAndroidRunConfiguration::QmakeAndroidRunConfiguration(Target *target)
: AndroidRunConfiguration(target, ANDROID_RC_ID_PREFIX)
QmakeAndroidRunConfiguration::QmakeAndroidRunConfiguration(Target *target, Core::Id id)
: AndroidRunConfiguration(target, id)
{
connect(target->project(), &Project::parsingFinished, this, [this]() {
updateDisplayName();
@@ -127,5 +128,16 @@ Utils::FileName QmakeAndroidRunConfiguration::proFilePath() const
return Utils::FileName::fromString(buildKey());
}
// QmakeAndroidRunConfigurationFactory
QmakeAndroidRunConfigurationFactory::QmakeAndroidRunConfigurationFactory()
{
registerRunConfiguration<QmakeAndroidRunConfiguration>
("Qt4ProjectManager.AndroidRunConfiguration:");
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(Android::Constants::ANDROID_DEVICE_TYPE);
}
} // namespace Internal
} // namespace Android
@@ -39,7 +39,7 @@ class QmakeAndroidRunConfiguration : public Android::AndroidRunConfiguration
Q_OBJECT
public:
explicit QmakeAndroidRunConfiguration(ProjectExplorer::Target *target);
QmakeAndroidRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
Utils::FileName proFilePath() const;
@@ -52,5 +52,11 @@ private:
QmakeProjectManager::QmakeProject *qmakeProject() const;
};
class QmakeAndroidRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
QmakeAndroidRunConfigurationFactory();
};
} // namespace Internal
} // namespace QmakeAndroidSupport
@@ -1,46 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 BogDan Vatra <bog_dan_ro@yahoo.com>
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "qmakeandroidrunfactories.h"
#include "qmakeandroidrunconfiguration.h"
#include <android/androidconstants.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
namespace QmakeAndroidSupport {
namespace Internal {
const char ANDROID_RC_ID_PREFIX[] = "Qt4ProjectManager.AndroidRunConfiguration:";
QmakeAndroidRunConfigurationFactory::QmakeAndroidRunConfigurationFactory()
{
registerRunConfiguration<QmakeAndroidRunConfiguration>(ANDROID_RC_ID_PREFIX);
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(Android::Constants::ANDROID_DEVICE_TYPE);
}
} // namespace Internal
} // namespace Android
@@ -1,40 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 BogDan Vatra <bog_dan_ro@yahoo.com>
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#pragma once
#include <projectexplorer/runconfiguration.h>
namespace QmakeAndroidSupport {
namespace Internal {
class QmakeAndroidRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
QmakeAndroidRunConfigurationFactory();
};
} // namespace Internal
} // namespace QmakeAndroidSupport
@@ -9,7 +9,6 @@ HEADERS += \
createandroidmanifestwizard.h \
qmakeandroidsupport.h \
qmakeandroidrunconfiguration.h \
qmakeandroidrunfactories.h \
qmakeandroidbuildapkstep.h \
qmakeandroidbuildapkwidget.h \
androidqmakebuildconfigurationfactory.h \
@@ -20,7 +19,6 @@ SOURCES += \
createandroidmanifestwizard.cpp \
qmakeandroidsupport.cpp \
qmakeandroidrunconfiguration.cpp \
qmakeandroidrunfactories.cpp \
qmakeandroidbuildapkstep.cpp \
qmakeandroidbuildapkwidget.cpp \
androidqmakebuildconfigurationfactory.cpp \
@@ -29,8 +29,6 @@ QtcPlugin {
"androidqmakebuildconfigurationfactory.h",
"qmakeandroidrunconfiguration.cpp",
"qmakeandroidrunconfiguration.h",
"qmakeandroidrunfactories.cpp",
"qmakeandroidrunfactories.h",
"qmakeandroidsupport.cpp",
"qmakeandroidsupport.h",
"qmakeandroidsupportplugin.h",
@@ -27,7 +27,7 @@
#include "androidqmakebuildconfigurationfactory.h"
#include "qmakeandroidbuildapkstep.h"
#include "qmakeandroidrunfactories.h"
#include "qmakeandroidrunconfiguration.h"
#include "qmakeandroidsupport.h"
namespace QmakeAndroidSupport {
@@ -55,15 +55,14 @@ using namespace Utils;
namespace QmakeProjectManager {
namespace Internal {
const char QMAKE_RC_PREFIX[] = "Qt4ProjectManager.Qt4RunConfiguration:";
const char PRO_FILE_KEY[] = "Qt4ProjectManager.Qt4RunConfiguration.ProFile";
//
// DesktopQmakeRunConfiguration
//
DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target)
: RunConfiguration(target, QMAKE_RC_PREFIX)
DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
auto envAspect = new LocalEnvironmentAspect(this, [](RunConfiguration *rc, Environment &env) {
static_cast<DesktopQmakeRunConfiguration *>(rc)->addToBaseEnvironment(env);
@@ -172,7 +171,7 @@ QString DesktopQmakeRunConfiguration::defaultDisplayName()
DesktopQmakeRunConfigurationFactory::DesktopQmakeRunConfigurationFactory()
{
registerRunConfiguration<DesktopQmakeRunConfiguration>(QMAKE_RC_PREFIX);
registerRunConfiguration<DesktopQmakeRunConfiguration>("Qt4ProjectManager.Qt4RunConfiguration:");
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE);
}
@@ -38,7 +38,7 @@ class DesktopQmakeRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit DesktopQmakeRunConfiguration(ProjectExplorer::Target *target);
DesktopQmakeRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
QVariantMap toMap() const override;
@@ -31,7 +31,6 @@ namespace QmlProjectManager {
namespace Constants {
const char QML_PROJECT_ID[] = "QmlProjectManager.QmlProject";
const char QML_SCENE_RC_ID[] = "QmlProjectManager.QmlRunConfiguration.QmlScene";
const char QML_VIEWER_ARGUMENTS_KEY[] = "QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments";
const char QML_VIEWER_TARGET_DISPLAY_NAME[] = "QML Viewer";
const char QML_MAINSCRIPT_KEY[] = "QmlProjectManager.QmlRunConfiguration.MainScript";
@@ -52,8 +52,8 @@ namespace QmlProjectManager {
const char M_CURRENT_FILE[] = "CurrentFile";
QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target)
: RunConfiguration(target, Constants::QML_SCENE_RC_ID)
QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id)
: RunConfiguration(target, id)
{
addExtraAspect(new QmlProjectEnvironmentAspect(this));
setOutputFormatter<QtSupport::QtOutputFormatter>();
@@ -296,7 +296,8 @@ namespace Internal {
QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory()
: FixedRunConfigurationFactory(QmlProjectRunConfiguration::tr("QML Scene"), false)
{
registerRunConfiguration<QmlProjectRunConfiguration>(Constants::QML_SCENE_RC_ID);
registerRunConfiguration<QmlProjectRunConfiguration>
("QmlProjectManager.QmlRunConfiguration.QmlScene");
addSupportedProjectType(QmlProjectManager::Constants::QML_PROJECT_ID);
}
@@ -43,7 +43,7 @@ class QMLPROJECTMANAGER_EXPORT QmlProjectRunConfiguration : public ProjectExplor
friend class QmlProject; // to call updateEnabled()
public:
explicit QmlProjectRunConfiguration(ProjectExplorer::Target *target);
QmlProjectRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
ProjectExplorer::Runnable runnable() const override;
+2 -2
View File
@@ -35,8 +35,8 @@ using namespace RemoteLinux;
namespace Qnx {
namespace Internal {
QnxRunConfiguration::QnxRunConfiguration(Target *target)
: RemoteLinuxRunConfiguration(target, Constants::QNX_QNX_RUNCONFIGURATION_PREFIX)
QnxRunConfiguration::QnxRunConfiguration(Target *target, Core::Id id)
: RemoteLinuxRunConfiguration(target, id)
{
auto libAspect = new QtLibPathAspect(this);
libAspect->setSettingsKey("Qt4ProjectManager.QnxRunConfiguration.QtLibPath");
+1 -1
View File
@@ -44,7 +44,7 @@ class QnxRunConfiguration : public RemoteLinux::RemoteLinuxRunConfiguration
Q_OBJECT
public:
explicit QnxRunConfiguration(ProjectExplorer::Target *target);
QnxRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
private:
ProjectExplorer::Runnable runnable() const override;
@@ -40,8 +40,8 @@ using namespace Utils;
namespace RemoteLinux {
namespace Internal {
RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *target)
: RunConfiguration(target, runConfigId())
RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
auto exeAspect = new ExecutableAspect(this);
exeAspect->setSettingsKey("RemoteLinux.CustomRunConfig.RemoteExecutable");
@@ -33,8 +33,9 @@ namespace Internal {
class RemoteLinuxCustomRunConfiguration : public ProjectExplorer::RunConfiguration
{
Q_OBJECT
public:
explicit RemoteLinuxCustomRunConfiguration(ProjectExplorer::Target *target);
RemoteLinuxCustomRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
bool isConfigured() const override;
ConfigurationState ensureConfigured(QString *errorMessage) override;
@@ -43,11 +43,6 @@ using namespace Utils;
namespace RemoteLinux {
RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target)
: RemoteLinuxRunConfiguration(target, IdPrefix)
{
}
RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
@@ -36,17 +36,12 @@ class REMOTELINUX_EXPORT RemoteLinuxRunConfiguration : public ProjectExplorer::R
Q_OBJECT
public:
explicit RemoteLinuxRunConfiguration(ProjectExplorer::Target *target);
RemoteLinuxRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
static const char *IdPrefix;
protected:
// FIXME: Used by QNX, remove.
RemoteLinuxRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
private:
void doAdditionalSetup(const ProjectExplorer::RunConfigurationCreationInfo &) override;
private:
QString defaultDisplayName() const;
void updateTargetInformation();
};
-2
View File
@@ -14,7 +14,6 @@ HEADERS += \
winrtqtversionfactory.h \
winrtrunconfiguration.h \
winrtruncontrol.h \
winrtrunfactories.h \
winrtrunnerhelper.h
SOURCES += \
@@ -30,7 +29,6 @@ SOURCES += \
winrtqtversionfactory.cpp \
winrtrunconfiguration.cpp \
winrtruncontrol.cpp \
winrtrunfactories.cpp \
winrtrunnerhelper.cpp
DEFINES += WINRT_LIBRARY
-2
View File
@@ -38,8 +38,6 @@ QtcPlugin {
"winrtrunconfiguration.h",
"winrtruncontrol.cpp",
"winrtruncontrol.h",
"winrtrunfactories.cpp",
"winrtrunfactories.h",
"winrtrunnerhelper.cpp",
"winrtrunnerhelper.h"
]
-1
View File
@@ -39,7 +39,6 @@ const char WINRT_WINPHONEQT[] = "WinRt.QtVersion.WindowsPhone";
const char WINRT_QTMAP_SUBKEYNAME[] = "WinRt";
const char WINRT_QTMAP_OSFLAVOR[] = "OsFlavor";
const char WINRT_MANIFEST_EDITOR_ID[] = "WinRTManifestEditorID";
const char WINRT_RC_PREFIX[] = "WinRt.WinRtRunConfiguration:";
} // Constants
} // Internal
-1
View File
@@ -25,7 +25,6 @@
#include "winrtplugin.h"
#include "winrtconstants.h"
#include "winrtrunfactories.h"
#include "winrtdevice.h"
#include "winrtdevicefactory.h"
#include "winrtdeployconfiguration.h"
+15 -2
View File
@@ -36,6 +36,7 @@
#include <utils/detailswidget.h>
#include <qmakeprojectmanager/qmakeproject.h>
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
#include <QFormLayout>
@@ -57,8 +58,8 @@ public:
};
WinRtRunConfiguration::WinRtRunConfiguration(Target *target)
: RunConfiguration(target, Constants::WINRT_RC_PREFIX)
WinRtRunConfiguration::WinRtRunConfiguration(Target *target, Core::Id id)
: RunConfiguration(target, id)
{
setDisplayName(tr("Run App Package"));
addExtraAspect(new ArgumentsAspect(this, "WinRtRunConfigurationArgumentsId"));
@@ -135,6 +136,18 @@ QString WinRtRunConfiguration::executable() const
return executable;
}
// WinRtRunConfigurationFactory
WinRtRunConfigurationFactory::WinRtRunConfigurationFactory()
{
registerRunConfiguration<WinRtRunConfiguration>("WinRt.WinRtRunConfiguration:");
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_LOCAL);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_PHONE);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_EMULATOR);
}
} // namespace Internal
} // namespace WinRt
+7 -1
View File
@@ -35,7 +35,7 @@ class WinRtRunConfiguration : public ProjectExplorer::RunConfiguration
Q_OBJECT
public:
explicit WinRtRunConfiguration(ProjectExplorer::Target *target);
WinRtRunConfiguration(ProjectExplorer::Target *target, Core::Id id);
QWidget *createConfigurationWidget() override;
@@ -49,5 +49,11 @@ private:
QString executable() const;
};
class WinRtRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
WinRtRunConfigurationFactory();
};
} // namespace Internal
} // namespace WinRt
-48
View File
@@ -1,48 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "winrtrunfactories.h"
#include "winrtrunconfiguration.h"
#include "winrtruncontrol.h"
#include "winrtconstants.h"
#include <qmakeprojectmanager/qmakeprojectmanagerconstants.h>
using namespace ProjectExplorer;
namespace WinRt {
namespace Internal {
WinRtRunConfigurationFactory::WinRtRunConfigurationFactory()
{
registerRunConfiguration<WinRtRunConfiguration>(Constants::WINRT_RC_PREFIX);
addSupportedProjectType(QmakeProjectManager::Constants::QMAKEPROJECT_ID);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_LOCAL);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_PHONE);
addSupportedTargetDeviceType(Constants::WINRT_DEVICE_TYPE_EMULATOR);
}
} // namespace Internal
} // namespace WinRt
-42
View File
@@ -1,42 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#pragma once
#include <projectexplorer/runconfiguration.h>
#include <projectexplorer/devicesupport/idevicefactory.h>
#include <projectexplorer/deployconfiguration.h>
namespace WinRt {
namespace Internal {
class WinRtRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public:
WinRtRunConfigurationFactory();
};
} // namespace Internal
} // namespace WinRt