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:
hjk
2024-12-02 16:27:05 +01:00
parent 3468a5c298
commit 4585c8ab8b
20 changed files with 63 additions and 127 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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>

View File

@@ -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);
} }

View File

@@ -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

View File

@@ -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};
} }

View File

@@ -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;
}; };

View File

@@ -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

View File

@@ -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

View File

@@ -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();

View File

@@ -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)

View File

@@ -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;
}; };

View File

@@ -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();

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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",

View File

@@ -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);
} }

View File

@@ -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;