forked from qt-creator/qt-creator
ProjectExplorer: Dismantle NamedWidget
... which was really just a widget with a name. Providing the name separately simplifies the code and makes the setup structurally more similar to the BaseAspect::addToLayout() machinery. Change-Id: I0c528e0afb3c22eb0acac8f181cc36a6ab74d95b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -37,7 +37,6 @@
|
|||||||
#include <projectexplorer/environmentwidget.h>
|
#include <projectexplorer/environmentwidget.h>
|
||||||
#include <projectexplorer/kitaspect.h>
|
#include <projectexplorer/kitaspect.h>
|
||||||
#include <projectexplorer/kitmanager.h>
|
#include <projectexplorer/kitmanager.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/processparameters.h>
|
#include <projectexplorer/processparameters.h>
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
#include <projectexplorer/projectexplorer.h>
|
#include <projectexplorer/projectexplorer.h>
|
||||||
@@ -111,7 +110,7 @@ const char VXWORKS_DEVICE_TYPE[] = "VxWorks.Device.Type";
|
|||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class CMakeBuildSettingsWidget : public NamedWidget
|
class CMakeBuildSettingsWidget : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc);
|
explicit CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc);
|
||||||
@@ -193,7 +192,6 @@ static CMakeConfigItem getPackageManagerAutoSetupParameter()
|
|||||||
}
|
}
|
||||||
|
|
||||||
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) :
|
CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) :
|
||||||
NamedWidget(Tr::tr("CMake")),
|
|
||||||
m_buildConfig(bc),
|
m_buildConfig(bc),
|
||||||
m_configModel(new ConfigModel(this)),
|
m_configModel(new ConfigModel(this)),
|
||||||
m_configFilterModel(new CategorySortFilterModel(this)),
|
m_configFilterModel(new CategorySortFilterModel(this)),
|
||||||
@@ -1408,6 +1406,7 @@ static Utils::EnvironmentItems getEnvironmentItemsFromCMakeBuildPreset(
|
|||||||
CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
|
CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
|
||||||
: BuildConfiguration(target, id)
|
: BuildConfiguration(target, id)
|
||||||
{
|
{
|
||||||
|
setConfigWidgetDisplayName(Tr::tr("CMake"));
|
||||||
m_buildSystem = new CMakeBuildSystem(this);
|
m_buildSystem = new CMakeBuildSystem(this);
|
||||||
|
|
||||||
buildDirectoryAspect()->setValueAcceptor(
|
buildDirectoryAspect()->setValueAcceptor(
|
||||||
@@ -1839,7 +1838,7 @@ QString CMakeBuildSystem::warning() const
|
|||||||
return m_warning;
|
return m_warning;
|
||||||
}
|
}
|
||||||
|
|
||||||
NamedWidget *CMakeBuildConfiguration::createConfigWidget()
|
QWidget *CMakeBuildConfiguration::createConfigWidget()
|
||||||
{
|
{
|
||||||
m_configWidget = new CMakeBuildSettingsWidget(this);
|
m_configWidget = new CMakeBuildSettingsWidget(this);
|
||||||
return m_configWidget;
|
return m_configWidget;
|
||||||
|
@@ -105,9 +105,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
BuildType buildType() const override;
|
BuildType buildType() const override;
|
||||||
|
QWidget *createConfigWidget() override;
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
|
||||||
|
|
||||||
virtual CMakeConfig signingFlags() const;
|
virtual CMakeConfig signingFlags() const;
|
||||||
|
|
||||||
void setInitialBuildAndCleanSteps(const ProjectExplorer::Target *target);
|
void setInitialBuildAndCleanSteps(const ProjectExplorer::Target *target);
|
||||||
|
@@ -18,7 +18,6 @@
|
|||||||
#include <projectexplorer/gcctoolchain.h>
|
#include <projectexplorer/gcctoolchain.h>
|
||||||
#include <projectexplorer/headerpath.h>
|
#include <projectexplorer/headerpath.h>
|
||||||
#include <projectexplorer/kitmanager.h>
|
#include <projectexplorer/kitmanager.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/projectnodes.h>
|
#include <projectexplorer/projectnodes.h>
|
||||||
#include <projectexplorer/projectupdater.h>
|
#include <projectexplorer/projectupdater.h>
|
||||||
|
@@ -9,7 +9,6 @@
|
|||||||
#include <projectexplorer/buildconfiguration.h>
|
#include <projectexplorer/buildconfiguration.h>
|
||||||
#include <projectexplorer/buildinfo.h>
|
#include <projectexplorer/buildinfo.h>
|
||||||
#include <projectexplorer/buildsteplist.h>
|
#include <projectexplorer/buildsteplist.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
#include <projectexplorer/projectexplorerconstants.h>
|
#include <projectexplorer/projectexplorerconstants.h>
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
@@ -34,6 +33,7 @@ public:
|
|||||||
HaskellBuildConfiguration(Target *target, Utils::Id id)
|
HaskellBuildConfiguration(Target *target, Utils::Id id)
|
||||||
: BuildConfiguration(target, id)
|
: BuildConfiguration(target, id)
|
||||||
{
|
{
|
||||||
|
setConfigWidgetDisplayName(Tr::tr("General"));
|
||||||
setInitializer([this](const BuildInfo &info) {
|
setInitializer([this](const BuildInfo &info) {
|
||||||
setBuildDirectory(info.buildDirectory);
|
setBuildDirectory(info.buildDirectory);
|
||||||
setBuildType(info.buildType);
|
setBuildType(info.buildType);
|
||||||
@@ -42,7 +42,7 @@ public:
|
|||||||
appendInitialBuildStep(Constants::C_STACK_BUILD_STEP_ID);
|
appendInitialBuildStep(Constants::C_STACK_BUILD_STEP_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
NamedWidget *createConfigWidget() final;
|
QWidget *createConfigWidget() final;
|
||||||
|
|
||||||
BuildType buildType() const final
|
BuildType buildType() const final
|
||||||
{
|
{
|
||||||
@@ -58,11 +58,10 @@ private:
|
|||||||
BuildType m_buildType = BuildType::Release;
|
BuildType m_buildType = BuildType::Release;
|
||||||
};
|
};
|
||||||
|
|
||||||
class HaskellBuildConfigurationWidget final : public NamedWidget
|
class HaskellBuildConfigurationWidget final : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
HaskellBuildConfigurationWidget(HaskellBuildConfiguration *bc)
|
HaskellBuildConfigurationWidget(HaskellBuildConfiguration *bc)
|
||||||
: NamedWidget(Tr::tr("General"))
|
|
||||||
{
|
{
|
||||||
setLayout(new QVBoxLayout);
|
setLayout(new QVBoxLayout);
|
||||||
layout()->setContentsMargins(0, 0, 0, 0);
|
layout()->setContentsMargins(0, 0, 0, 0);
|
||||||
@@ -95,7 +94,7 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
NamedWidget *HaskellBuildConfiguration::createConfigWidget()
|
QWidget *HaskellBuildConfiguration::createConfigWidget()
|
||||||
{
|
{
|
||||||
return new HaskellBuildConfigurationWidget(this);
|
return new HaskellBuildConfigurationWidget(this);
|
||||||
}
|
}
|
||||||
|
@@ -8,7 +8,6 @@
|
|||||||
#include "iostr.h"
|
#include "iostr.h"
|
||||||
|
|
||||||
#include <projectexplorer/devicesupport/devicekitaspects.h>
|
#include <projectexplorer/devicesupport/devicekitaspects.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/target.h>
|
#include <projectexplorer/target.h>
|
||||||
|
|
||||||
#include <cmakeprojectmanager/cmakebuildconfiguration.h>
|
#include <cmakeprojectmanager/cmakebuildconfiguration.h>
|
||||||
@@ -44,7 +43,7 @@ const char autoManagedSigningKey[] = "Ios.AutoManagedSigning";
|
|||||||
|
|
||||||
const int IdentifierRole = Qt::UserRole+1;
|
const int IdentifierRole = Qt::UserRole+1;
|
||||||
|
|
||||||
class IosSigningSettingsWidget final : public NamedWidget
|
class IosSigningSettingsWidget final : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit IosSigningSettingsWidget(BuildConfiguration *buildConfiguration,
|
explicit IosSigningSettingsWidget(BuildConfiguration *buildConfiguration,
|
||||||
@@ -84,8 +83,7 @@ private:
|
|||||||
IosSigningSettingsWidget::IosSigningSettingsWidget(BuildConfiguration *buildConfiguration,
|
IosSigningSettingsWidget::IosSigningSettingsWidget(BuildConfiguration *buildConfiguration,
|
||||||
BoolAspect *autoManagedSigning,
|
BoolAspect *autoManagedSigning,
|
||||||
StringAspect *signingIdentifier)
|
StringAspect *signingIdentifier)
|
||||||
: NamedWidget(Tr::tr("iOS Settings"))
|
: m_autoManagedSigning(autoManagedSigning)
|
||||||
, m_autoManagedSigning(autoManagedSigning)
|
|
||||||
, m_signingIdentifier(signingIdentifier)
|
, m_signingIdentifier(signingIdentifier)
|
||||||
, m_isDevice(RunDeviceTypeKitAspect::deviceTypeId(buildConfiguration->kit())
|
, m_isDevice(RunDeviceTypeKitAspect::deviceTypeId(buildConfiguration->kit())
|
||||||
== Constants::IOS_DEVICE_TYPE)
|
== Constants::IOS_DEVICE_TYPE)
|
||||||
@@ -376,7 +374,7 @@ public:
|
|||||||
IosQmakeBuildConfiguration(Target *target, Id id);
|
IosQmakeBuildConfiguration(Target *target, Id id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<NamedWidget *> createSubConfigWidgets() final;
|
void addSubConfigWidgets(const BuildConfiguration::WidgetAdder &adder) final;
|
||||||
void fromMap(const Store &map) final;
|
void fromMap(const Store &map) final;
|
||||||
|
|
||||||
void updateQmakeCommand();
|
void updateQmakeCommand();
|
||||||
@@ -403,16 +401,13 @@ IosQmakeBuildConfiguration::IosQmakeBuildConfiguration(Target *target, Id id)
|
|||||||
&IosQmakeBuildConfiguration::updateQmakeCommand);
|
&IosQmakeBuildConfiguration::updateQmakeCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<NamedWidget *> IosQmakeBuildConfiguration::createSubConfigWidgets()
|
void IosQmakeBuildConfiguration::addSubConfigWidgets(const BuildConfiguration::WidgetAdder &adder)
|
||||||
{
|
{
|
||||||
auto subConfigWidgets = QmakeBuildConfiguration::createSubConfigWidgets();
|
|
||||||
|
|
||||||
// Ownership of this widget is with BuildSettingsWidget
|
// Ownership of this widget is with BuildSettingsWidget
|
||||||
auto buildSettingsWidget = new IosSigningSettingsWidget(this,
|
adder(new IosSigningSettingsWidget(this, &m_autoManagedSigning, &m_signingIdentifier),
|
||||||
&m_autoManagedSigning,
|
Tr::tr("iOS Settings"));
|
||||||
&m_signingIdentifier);
|
|
||||||
subConfigWidgets.prepend(buildSettingsWidget);
|
QmakeBuildConfiguration::addSubConfigWidgets(adder);
|
||||||
return subConfigWidgets;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IosQmakeBuildConfiguration::fromMap(const Store &map)
|
void IosQmakeBuildConfiguration::fromMap(const Store &map)
|
||||||
@@ -493,7 +488,7 @@ public:
|
|||||||
IosCMakeBuildConfiguration(Target *target, Id id);
|
IosCMakeBuildConfiguration(Target *target, Id id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<NamedWidget *> createSubConfigWidgets() final;
|
void addSubConfigWidgets(const BuildConfiguration::WidgetAdder &adder) final;
|
||||||
|
|
||||||
CMakeProjectManager::CMakeConfig signingFlags() const final;
|
CMakeProjectManager::CMakeConfig signingFlags() const final;
|
||||||
|
|
||||||
@@ -519,16 +514,12 @@ IosCMakeBuildConfiguration::IosCMakeBuildConfiguration(Target *target, Id id)
|
|||||||
&IosCMakeBuildConfiguration::signingFlagsChanged);
|
&IosCMakeBuildConfiguration::signingFlagsChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<NamedWidget *> IosCMakeBuildConfiguration::createSubConfigWidgets()
|
void IosCMakeBuildConfiguration::addSubConfigWidgets(const WidgetAdder &adder)
|
||||||
{
|
{
|
||||||
auto subConfigWidgets = CMakeBuildConfiguration::createSubConfigWidgets();
|
|
||||||
|
|
||||||
// Ownership of this widget is with BuildSettingsWidget
|
// Ownership of this widget is with BuildSettingsWidget
|
||||||
auto buildSettingsWidget = new IosSigningSettingsWidget(this,
|
adder(new IosSigningSettingsWidget(this, &m_autoManagedSigning, &m_signingIdentifier),
|
||||||
&m_autoManagedSigning,
|
Tr::tr("iOS Settings"));
|
||||||
&m_signingIdentifier);
|
CMakeBuildConfiguration::addSubConfigWidgets(adder);
|
||||||
subConfigWidgets.prepend(buildSettingsWidget);
|
|
||||||
return subConfigWidgets;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMakeConfig IosCMakeBuildConfiguration::signingFlags() const
|
CMakeConfig IosCMakeBuildConfiguration::signingFlags() const
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#include <projectexplorer/buildstep.h>
|
#include <projectexplorer/buildstep.h>
|
||||||
#include <projectexplorer/buildsteplist.h>
|
#include <projectexplorer/buildsteplist.h>
|
||||||
#include <projectexplorer/kit.h>
|
#include <projectexplorer/kit.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/project.h>
|
#include <projectexplorer/project.h>
|
||||||
#include <projectexplorer/projectconfiguration.h>
|
#include <projectexplorer/projectconfiguration.h>
|
||||||
#include <projectexplorer/projectexplorer.h>
|
#include <projectexplorer/projectexplorer.h>
|
||||||
@@ -70,6 +69,7 @@ static FilePath shadowBuildDirectory(const FilePath &projectFilePath,
|
|||||||
MesonBuildConfiguration::MesonBuildConfiguration(ProjectExplorer::Target *target, Id id)
|
MesonBuildConfiguration::MesonBuildConfiguration(ProjectExplorer::Target *target, Id id)
|
||||||
: BuildConfiguration(target, id)
|
: BuildConfiguration(target, id)
|
||||||
{
|
{
|
||||||
|
setConfigWidgetDisplayName(Tr::tr("Meson"));
|
||||||
appendInitialBuildStep(Constants::MESON_BUILD_STEP_ID);
|
appendInitialBuildStep(Constants::MESON_BUILD_STEP_ID);
|
||||||
appendInitialCleanStep(Constants::MESON_BUILD_STEP_ID);
|
appendInitialCleanStep(Constants::MESON_BUILD_STEP_ID);
|
||||||
setInitializer([this, target](const ProjectExplorer::BuildInfo &info) {
|
setInitializer([this, target](const ProjectExplorer::BuildInfo &info) {
|
||||||
@@ -152,11 +152,11 @@ void MesonBuildConfiguration::fromMap(const Store &map)
|
|||||||
m_parameters = map.value(Constants::BuildConfiguration::PARAMETERS_KEY).toString();
|
m_parameters = map.value(Constants::BuildConfiguration::PARAMETERS_KEY).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
class MesonBuildSettingsWidget : public NamedWidget
|
class MesonBuildSettingsWidget : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit MesonBuildSettingsWidget(MesonBuildConfiguration *buildCfg)
|
explicit MesonBuildSettingsWidget(MesonBuildConfiguration *buildCfg)
|
||||||
: NamedWidget(Tr::tr("Meson")), m_progressIndicator(ProgressIndicatorSize::Large)
|
: m_progressIndicator(ProgressIndicatorSize::Large)
|
||||||
{
|
{
|
||||||
auto configureButton = new QPushButton(Tr::tr("Apply Configuration Changes"));
|
auto configureButton = new QPushButton(Tr::tr("Apply Configuration Changes"));
|
||||||
configureButton->setEnabled(false);
|
configureButton->setEnabled(false);
|
||||||
@@ -300,7 +300,7 @@ private:
|
|||||||
QTimer m_showProgressTimer;
|
QTimer m_showProgressTimer;
|
||||||
};
|
};
|
||||||
|
|
||||||
NamedWidget *MesonBuildConfiguration::createConfigWidget()
|
QWidget *MesonBuildConfiguration::createConfigWidget()
|
||||||
{
|
{
|
||||||
return new MesonBuildSettingsWidget{this};
|
return new MesonBuildSettingsWidget{this};
|
||||||
}
|
}
|
||||||
|
@@ -34,7 +34,7 @@ private:
|
|||||||
void fromMap(const Utils::Store &map) override;
|
void fromMap(const Utils::Store &map) override;
|
||||||
|
|
||||||
MesonBuildType m_buildType;
|
MesonBuildType m_buildType;
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() final;
|
QWidget *createConfigWidget() final;
|
||||||
MesonBuildSystem *m_buildSystem = nullptr;
|
MesonBuildSystem *m_buildSystem = nullptr;
|
||||||
QString m_parameters;
|
QString m_parameters;
|
||||||
};
|
};
|
||||||
|
@@ -116,7 +116,6 @@ add_qtc_plugin(ProjectExplorer
|
|||||||
miniprojecttargetselector.cpp miniprojecttargetselector.h
|
miniprojecttargetselector.cpp miniprojecttargetselector.h
|
||||||
msvcparser.cpp msvcparser.h
|
msvcparser.cpp msvcparser.h
|
||||||
msvctoolchain.cpp msvctoolchain.h
|
msvctoolchain.cpp msvctoolchain.h
|
||||||
namedwidget.cpp namedwidget.h
|
|
||||||
osparser.cpp osparser.h
|
osparser.cpp osparser.h
|
||||||
panelswidget.cpp panelswidget.h
|
panelswidget.cpp panelswidget.h
|
||||||
parseissuesdialog.cpp parseissuesdialog.h
|
parseissuesdialog.cpp parseissuesdialog.h
|
||||||
|
@@ -13,7 +13,6 @@
|
|||||||
#include "devicesupport/devicekitaspects.h"
|
#include "devicesupport/devicekitaspects.h"
|
||||||
#include "environmentwidget.h"
|
#include "environmentwidget.h"
|
||||||
#include "kit.h"
|
#include "kit.h"
|
||||||
#include "namedwidget.h"
|
|
||||||
#include "projectexplorerconstants.h"
|
#include "projectexplorerconstants.h"
|
||||||
#include "projectexplorer.h"
|
#include "projectexplorer.h"
|
||||||
#include "projectexplorertr.h"
|
#include "projectexplorertr.h"
|
||||||
@@ -54,12 +53,10 @@ Q_LOGGING_CATEGORY(bcLog, "qtc.buildconfig", QtWarningMsg)
|
|||||||
namespace ProjectExplorer {
|
namespace ProjectExplorer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class BuildEnvironmentWidget : public NamedWidget
|
class BuildEnvironmentWidget : public QWidget
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit BuildEnvironmentWidget(BuildConfiguration *bc)
|
explicit BuildEnvironmentWidget(BuildConfiguration *bc)
|
||||||
: NamedWidget(Tr::tr("Build Environment"))
|
|
||||||
{
|
{
|
||||||
auto clearBox = new QCheckBox(Tr::tr("Clear system environment"), this);
|
auto clearBox = new QCheckBox(Tr::tr("Clear system environment"), this);
|
||||||
clearBox->setChecked(!bc->useSystemEnvironment());
|
clearBox->setChecked(!bc->useSystemEnvironment());
|
||||||
@@ -97,10 +94,10 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class CustomParsersBuildWidget : public NamedWidget
|
class CustomParsersBuildWidget : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CustomParsersBuildWidget(BuildConfiguration *bc) : NamedWidget(Tr::tr("Custom Output Parsers"))
|
CustomParsersBuildWidget(BuildConfiguration *bc)
|
||||||
{
|
{
|
||||||
const auto layout = new QVBoxLayout(this);
|
const auto layout = new QVBoxLayout(this);
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
@@ -254,17 +251,17 @@ void BuildConfiguration::setBuildDirectory(const FilePath &dir)
|
|||||||
emitBuildDirectoryChanged();
|
emitBuildDirectoryChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfiguration::addConfigWidgets(const std::function<void(NamedWidget *)> &adder)
|
void BuildConfiguration::addConfigWidgets(const WidgetAdder &adder)
|
||||||
{
|
{
|
||||||
if (NamedWidget *generalConfigWidget = createConfigWidget())
|
if (QWidget *generalConfigWidget = createConfigWidget())
|
||||||
adder(generalConfigWidget);
|
adder(generalConfigWidget, d->m_configWidgetDisplayName);
|
||||||
|
|
||||||
adder(new Internal::BuildStepListWidget(buildSteps()));
|
//: %1 is the name returned by BuildStepList::displayName
|
||||||
adder(new Internal::BuildStepListWidget(cleanSteps()));
|
const QString title = Tr::tr("%1 Steps");
|
||||||
|
adder(new Internal::BuildStepListWidget(buildSteps()), title.arg(buildSteps()->displayName()));
|
||||||
|
adder(new Internal::BuildStepListWidget(cleanSteps()), title.arg(cleanSteps()->displayName()));
|
||||||
|
|
||||||
const QList<NamedWidget *> subConfigWidgets = createSubConfigWidgets();
|
addSubConfigWidgets(adder);
|
||||||
for (NamedWidget *subConfigWidget : subConfigWidgets)
|
|
||||||
adder(subConfigWidget);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildConfiguration::doInitialize(const BuildInfo &info)
|
void BuildConfiguration::doInitialize(const BuildInfo &info)
|
||||||
@@ -316,9 +313,9 @@ void BuildConfiguration::setInitializer(const std::function<void(const BuildInfo
|
|||||||
d->m_initializer = initializer;
|
d->m_initializer = initializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
NamedWidget *BuildConfiguration::createConfigWidget()
|
QWidget *BuildConfiguration::createConfigWidget()
|
||||||
{
|
{
|
||||||
NamedWidget *named = new NamedWidget(d->m_configWidgetDisplayName);
|
QWidget *named = new QWidget;
|
||||||
|
|
||||||
QWidget *widget = nullptr;
|
QWidget *widget = nullptr;
|
||||||
|
|
||||||
@@ -348,12 +345,10 @@ NamedWidget *BuildConfiguration::createConfigWidget()
|
|||||||
return named;
|
return named;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<NamedWidget *> BuildConfiguration::createSubConfigWidgets()
|
void BuildConfiguration::addSubConfigWidgets(const WidgetAdder &adder)
|
||||||
{
|
{
|
||||||
return {
|
adder(new Internal::BuildEnvironmentWidget(this), Tr::tr("Build Environment"));
|
||||||
new Internal::BuildEnvironmentWidget(this),
|
adder(new Internal::CustomParsersBuildWidget(this), Tr::tr("Custom Output Parsers"));
|
||||||
new Internal::CustomParsersBuildWidget(this)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildSystem *BuildConfiguration::buildSystem() const
|
BuildSystem *BuildConfiguration::buildSystem() const
|
||||||
|
@@ -21,7 +21,6 @@ class BuildInfo;
|
|||||||
class BuildSystem;
|
class BuildSystem;
|
||||||
class BuildStepList;
|
class BuildStepList;
|
||||||
class Kit;
|
class Kit;
|
||||||
class NamedWidget;
|
|
||||||
class Node;
|
class Node;
|
||||||
class RunConfiguration;
|
class RunConfiguration;
|
||||||
class Target;
|
class Target;
|
||||||
@@ -43,8 +42,11 @@ public:
|
|||||||
|
|
||||||
virtual BuildSystem *buildSystem() const;
|
virtual BuildSystem *buildSystem() const;
|
||||||
|
|
||||||
virtual NamedWidget *createConfigWidget();
|
virtual QWidget *createConfigWidget();
|
||||||
virtual QList<NamedWidget *> createSubConfigWidgets();
|
|
||||||
|
using WidgetAdder = std::function<void(QWidget *, const QString &)>;
|
||||||
|
void addConfigWidgets(const WidgetAdder &adder);
|
||||||
|
virtual void addSubConfigWidgets(const WidgetAdder &adder);
|
||||||
|
|
||||||
// Maybe the BuildConfiguration is not the best place for the environment
|
// Maybe the BuildConfiguration is not the best place for the environment
|
||||||
Utils::Environment baseEnvironment() const;
|
Utils::Environment baseEnvironment() const;
|
||||||
@@ -107,8 +109,6 @@ public:
|
|||||||
void setConfigWidgetHasFrame(bool configWidgetHasFrame);
|
void setConfigWidgetHasFrame(bool configWidgetHasFrame);
|
||||||
void setBuildDirectorySettingsKey(const Utils::Key &key);
|
void setBuildDirectorySettingsKey(const Utils::Key &key);
|
||||||
|
|
||||||
void addConfigWidgets(const std::function<void (NamedWidget *)> &adder);
|
|
||||||
|
|
||||||
void doInitialize(const BuildInfo &info);
|
void doInitialize(const BuildInfo &info);
|
||||||
|
|
||||||
bool createBuildDirectory();
|
bool createBuildDirectory();
|
||||||
|
@@ -6,7 +6,6 @@
|
|||||||
#include "buildconfiguration.h"
|
#include "buildconfiguration.h"
|
||||||
#include "buildinfo.h"
|
#include "buildinfo.h"
|
||||||
#include "buildmanager.h"
|
#include "buildmanager.h"
|
||||||
#include "namedwidget.h"
|
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
#include "projectconfigurationmodel.h"
|
#include "projectconfigurationmodel.h"
|
||||||
#include "projectexplorertr.h"
|
#include "projectexplorertr.h"
|
||||||
@@ -121,13 +120,13 @@ BuildSettingsWidget::BuildSettingsWidget(Target *target) :
|
|||||||
connect(m_target, &Target::kitChanged, this, &BuildSettingsWidget::updateAddButtonMenu);
|
connect(m_target, &Target::kitChanged, this, &BuildSettingsWidget::updateAddButtonMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::addSubWidget(NamedWidget *widget)
|
void BuildSettingsWidget::addSubWidget(QWidget *widget, const QString &displayName)
|
||||||
{
|
{
|
||||||
widget->setParent(this);
|
widget->setParent(this);
|
||||||
widget->setContentsMargins(0, 2, 0, 0);
|
widget->setContentsMargins(0, 2, 0, 0);
|
||||||
|
|
||||||
auto label = new QLabel(this);
|
auto label = new QLabel(this);
|
||||||
label->setText(widget->displayName());
|
label->setText(displayName);
|
||||||
label->setFont(StyleHelper::uiFont(StyleHelper::UiElementH4));
|
label->setFont(StyleHelper::uiFont(StyleHelper::UiElementH4));
|
||||||
|
|
||||||
label->setContentsMargins(0, 18, 0, 0);
|
label->setContentsMargins(0, 18, 0, 0);
|
||||||
@@ -174,8 +173,11 @@ void BuildSettingsWidget::updateBuildSettings()
|
|||||||
m_renameButton->setEnabled(!bcs.isEmpty());
|
m_renameButton->setEnabled(!bcs.isEmpty());
|
||||||
m_cloneButton->setEnabled(!bcs.isEmpty());
|
m_cloneButton->setEnabled(!bcs.isEmpty());
|
||||||
|
|
||||||
if (m_buildConfiguration)
|
if (m_buildConfiguration) {
|
||||||
m_buildConfiguration->addConfigWidgets([this](NamedWidget *w) { addSubWidget(w); });
|
m_buildConfiguration->addConfigWidgets([this](QWidget *w, const QString &displayName) {
|
||||||
|
addSubWidget(w, displayName);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::currentIndexChanged(int index)
|
void BuildSettingsWidget::currentIndexChanged(int index)
|
||||||
|
@@ -16,7 +16,6 @@ namespace ProjectExplorer {
|
|||||||
|
|
||||||
class BuildConfiguration;
|
class BuildConfiguration;
|
||||||
class BuildInfo;
|
class BuildInfo;
|
||||||
class NamedWidget;
|
|
||||||
class Target;
|
class Target;
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
@@ -29,7 +28,7 @@ public:
|
|||||||
~BuildSettingsWidget() override;
|
~BuildSettingsWidget() override;
|
||||||
|
|
||||||
void clearWidgets();
|
void clearWidgets();
|
||||||
void addSubWidget(NamedWidget *widget);
|
void addSubWidget(QWidget *widget, const QString &displayName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateBuildSettings();
|
void updateBuildSettings();
|
||||||
@@ -56,7 +55,7 @@ private:
|
|||||||
QComboBox *m_buildConfigurationComboBox = nullptr;
|
QComboBox *m_buildConfigurationComboBox = nullptr;
|
||||||
QMenu *m_addButtonMenu = nullptr;
|
QMenu *m_addButtonMenu = nullptr;
|
||||||
|
|
||||||
QList<NamedWidget *> m_subWidgets;
|
QList<QWidget *> m_subWidgets;
|
||||||
QList<QLabel *> m_labels;
|
QList<QLabel *> m_labels;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -167,8 +167,7 @@ BuildStepsWidgetData::~BuildStepsWidgetData()
|
|||||||
}
|
}
|
||||||
|
|
||||||
BuildStepListWidget::BuildStepListWidget(BuildStepList *bsl)
|
BuildStepListWidget::BuildStepListWidget(BuildStepList *bsl)
|
||||||
//: %1 is the name returned by BuildStepList::displayName
|
: m_buildStepList(bsl)
|
||||||
: NamedWidget(Tr::tr("%1 Steps").arg(bsl->displayName())), m_buildStepList(bsl)
|
|
||||||
{
|
{
|
||||||
setupUi();
|
setupUi();
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "buildstep.h"
|
#include "buildstep.h"
|
||||||
#include "namedwidget.h"
|
|
||||||
#include <utils/detailsbutton.h>
|
#include <utils/detailsbutton.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
@@ -65,7 +65,7 @@ public:
|
|||||||
ToolWidget *toolWidget;
|
ToolWidget *toolWidget;
|
||||||
};
|
};
|
||||||
|
|
||||||
class BuildStepListWidget : public NamedWidget
|
class BuildStepListWidget : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
||||||
|
|
||||||
#include "namedwidget.h"
|
|
||||||
|
|
||||||
namespace ProjectExplorer {
|
|
||||||
|
|
||||||
NamedWidget::NamedWidget(const QString &displayName, QWidget *parent)
|
|
||||||
: QWidget(parent), m_displayName(displayName)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QString NamedWidget::displayName() const
|
|
||||||
{
|
|
||||||
return m_displayName;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // ProjectExplorer
|
|
@@ -1,23 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "projectexplorer_export.h"
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
namespace ProjectExplorer {
|
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT NamedWidget : public QWidget
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit NamedWidget(const QString &displayName, QWidget *parent = nullptr);
|
|
||||||
|
|
||||||
QString displayName() const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString m_displayName;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace ProjectExplorer
|
|
@@ -52,7 +52,6 @@
|
|||||||
#include "kitfeatureprovider.h"
|
#include "kitfeatureprovider.h"
|
||||||
#include "kitmanager.h"
|
#include "kitmanager.h"
|
||||||
#include "miniprojecttargetselector.h"
|
#include "miniprojecttargetselector.h"
|
||||||
#include "namedwidget.h"
|
|
||||||
#include "outputparser_test.h"
|
#include "outputparser_test.h"
|
||||||
#include "parseissuesdialog.h"
|
#include "parseissuesdialog.h"
|
||||||
#include "processstep.h"
|
#include "processstep.h"
|
||||||
|
@@ -90,7 +90,6 @@ QtcPlugin {
|
|||||||
"miniprojecttargetselector.cpp", "miniprojecttargetselector.h",
|
"miniprojecttargetselector.cpp", "miniprojecttargetselector.h",
|
||||||
"msvcparser.cpp", "msvcparser.h",
|
"msvcparser.cpp", "msvcparser.h",
|
||||||
"msvctoolchain.cpp", "msvctoolchain.h",
|
"msvctoolchain.cpp", "msvctoolchain.h",
|
||||||
"namedwidget.cpp", "namedwidget.h",
|
|
||||||
"osparser.cpp", "osparser.h",
|
"osparser.cpp", "osparser.h",
|
||||||
"panelswidget.cpp", "panelswidget.h",
|
"panelswidget.cpp", "panelswidget.h",
|
||||||
"parseissuesdialog.cpp", "parseissuesdialog.h",
|
"parseissuesdialog.cpp", "parseissuesdialog.h",
|
||||||
|
@@ -23,7 +23,6 @@
|
|||||||
#include <projectexplorer/buildsteplist.h>
|
#include <projectexplorer/buildsteplist.h>
|
||||||
#include <projectexplorer/buildsystem.h>
|
#include <projectexplorer/buildsystem.h>
|
||||||
#include <projectexplorer/environmentaspect.h>
|
#include <projectexplorer/environmentaspect.h>
|
||||||
#include <projectexplorer/namedwidget.h>
|
|
||||||
#include <projectexplorer/processparameters.h>
|
#include <projectexplorer/processparameters.h>
|
||||||
#include <projectexplorer/projectexplorer.h>
|
#include <projectexplorer/projectexplorer.h>
|
||||||
#include <projectexplorer/projectnodes.h>
|
#include <projectexplorer/projectnodes.h>
|
||||||
@@ -211,11 +210,10 @@ Id PySideBuildStep::id()
|
|||||||
return Id("Python.PysideBuildStep");
|
return Id("Python.PysideBuildStep");
|
||||||
}
|
}
|
||||||
|
|
||||||
class PythonBuildSettingsWidget : public NamedWidget
|
class PythonBuildSettingsWidget : public QWidget
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PythonBuildSettingsWidget(PythonBuildConfiguration *bc)
|
PythonBuildSettingsWidget(PythonBuildConfiguration *bc)
|
||||||
: NamedWidget(Tr::tr("Python"))
|
|
||||||
{
|
{
|
||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
m_configureDetailsWidget = new DetailsWidget;
|
m_configureDetailsWidget = new DetailsWidget;
|
||||||
@@ -262,6 +260,7 @@ PythonBuildConfiguration::PythonBuildConfiguration(Target *target, const Id &id)
|
|||||||
, m_buildSystem(std::make_unique<PythonBuildSystem>(this))
|
, m_buildSystem(std::make_unique<PythonBuildSystem>(this))
|
||||||
{
|
{
|
||||||
setInitializer([this](const BuildInfo &info) { initialize(info); });
|
setInitializer([this](const BuildInfo &info) { initialize(info); });
|
||||||
|
setConfigWidgetDisplayName(Tr::tr("Python"));
|
||||||
|
|
||||||
updateCacheAndEmitEnvironmentChanged();
|
updateCacheAndEmitEnvironmentChanged();
|
||||||
|
|
||||||
@@ -288,7 +287,7 @@ PythonBuildConfiguration::PythonBuildConfiguration(Target *target, const Id &id)
|
|||||||
&PythonBuildConfiguration::handlePythonUpdated);
|
&PythonBuildConfiguration::handlePythonUpdated);
|
||||||
}
|
}
|
||||||
|
|
||||||
NamedWidget *PythonBuildConfiguration::createConfigWidget()
|
QWidget *PythonBuildConfiguration::createConfigWidget()
|
||||||
{
|
{
|
||||||
return new PythonBuildSettingsWidget(this);
|
return new PythonBuildSettingsWidget(this);
|
||||||
}
|
}
|
||||||
|
@@ -52,7 +52,7 @@ class PythonBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
|||||||
public:
|
public:
|
||||||
PythonBuildConfiguration(ProjectExplorer::Target *target, const Utils::Id &id);
|
PythonBuildConfiguration(ProjectExplorer::Target *target, const Utils::Id &id);
|
||||||
|
|
||||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
QWidget *createConfigWidget() override;
|
||||||
void fromMap(const Utils::Store &map) override;
|
void fromMap(const Utils::Store &map) override;
|
||||||
void toMap(Utils::Store &map) const override;
|
void toMap(Utils::Store &map) const override;
|
||||||
ProjectExplorer::BuildSystem *buildSystem() const override;
|
ProjectExplorer::BuildSystem *buildSystem() const override;
|
||||||
|
Reference in New Issue
Block a user