Layouting: Drop compile dependency on BoolAspect

Change-Id: I4068048f470db126a2583d6b1b90245205cfd601
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-04-25 10:51:14 +02:00
parent 9f0919c4a3
commit 8f345bbc35
11 changed files with 23 additions and 39 deletions

View File

@@ -1423,6 +1423,16 @@ void BoolAspect::addToLayout(Layouting::LayoutBuilder &builder)
this, &BoolAspect::volatileValueChanged); this, &BoolAspect::volatileValueChanged);
} }
std::function<void (QObject *)> BoolAspect::groupChecker()
{
return [this](QObject *target) {
auto groupBox = qobject_cast<QGroupBox *>(target);
QTC_ASSERT(groupBox, return);
registerSubWidget(groupBox);
d->m_groupBox = d->m_groupBox;
};
}
QAction *BoolAspect::action() QAction *BoolAspect::action()
{ {
if (hasAction()) if (hasAction())
@@ -1515,12 +1525,6 @@ void BoolAspect::setLabelPlacement(BoolAspect::LabelPlacement labelPlacement)
d->m_labelPlacement = labelPlacement; d->m_labelPlacement = labelPlacement;
} }
void BoolAspect::setHandlesGroup(QGroupBox *box)
{
registerSubWidget(box);
d->m_groupBox = box;
}
/*! /*!
\class Utils::SelectionAspect \class Utils::SelectionAspect
\inmodule QtCreator \inmodule QtCreator

View File

@@ -9,22 +9,16 @@
#include "macroexpander.h" #include "macroexpander.h"
#include "pathchooser.h" #include "pathchooser.h"
#include <QCoreApplication>
#include <functional> #include <functional>
#include <memory> #include <memory>
#include <optional> #include <optional>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QAction; class QAction;
class QGroupBox;
class QSettings; class QSettings;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Layouting { namespace Layouting { class LayoutBuilder; }
class LayoutBuilder;
class LayoutItem;
} // Layouting
namespace Utils { namespace Utils {
@@ -226,6 +220,7 @@ public:
}; };
void addToLayout(Layouting::LayoutBuilder &builder) override; void addToLayout(Layouting::LayoutBuilder &builder) override;
std::function<void(QObject *)> groupChecker();
QAction *action() override; QAction *action() override;
@@ -242,7 +237,6 @@ public:
void setLabel(const QString &labelText, void setLabel(const QString &labelText,
LabelPlacement labelPlacement = LabelPlacement::InExtraLabel); LabelPlacement labelPlacement = LabelPlacement::InExtraLabel);
void setLabelPlacement(LabelPlacement labelPlacement); void setLabelPlacement(LabelPlacement labelPlacement);
void setHandlesGroup(QGroupBox *box);
signals: signals:
void valueChanged(bool newValue); void valueChanged(bool newValue);

View File

@@ -3,7 +3,6 @@
#include "layoutbuilder.h" #include "layoutbuilder.h"
#include "aspects.h"
#include "qtcassert.h" #include "qtcassert.h"
#include <QFormLayout> #include <QFormLayout>
@@ -471,17 +470,12 @@ TabWidget::TabWidget(QTabWidget *tabWidget, std::initializer_list<Tab> tabs)
// "Properties" // "Properties"
LayoutItem::Setter title(const QString &title, Utils::BoolAspect *checker) LayoutItem::Setter title(const QString &title)
{ {
return [title, checker](QObject *target) { return [title](QObject *target) {
if (auto groupBox = qobject_cast<QGroupBox *>(target)) { if (auto groupBox = qobject_cast<QGroupBox *>(target)) {
groupBox->setTitle(title); groupBox->setTitle(title);
groupBox->setObjectName(title); groupBox->setObjectName(title);
if (checker) {
groupBox->setCheckable(true);
groupBox->setChecked(checker->value());
checker->setHandlesGroup(groupBox);
}
} else { } else {
QTC_CHECK(false); QTC_CHECK(false);
} }

View File

@@ -24,8 +24,6 @@ class QTextEdit;
class QWidget; class QWidget;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Utils { class BoolAspect; }
namespace Layouting { namespace Layouting {
enum AttachType { enum AttachType {
@@ -191,9 +189,7 @@ QTCREATOR_UTILS_EXPORT extern HorizontalRule hr;
// "Properties" // "Properties"
QTCREATOR_UTILS_EXPORT LayoutItem::Setter title(const QString &title, QTCREATOR_UTILS_EXPORT LayoutItem::Setter title(const QString &title);
Utils::BoolAspect *checker = nullptr);
QTCREATOR_UTILS_EXPORT LayoutItem::Setter text(const QString &text); QTCREATOR_UTILS_EXPORT LayoutItem::Setter text(const QString &text);
QTCREATOR_UTILS_EXPORT LayoutItem::Setter tooltip(const QString &toolTip); QTCREATOR_UTILS_EXPORT LayoutItem::Setter tooltip(const QString &toolTip);
QTCREATOR_UTILS_EXPORT LayoutItem::Setter onClicked(const std::function<void()> &func, QTCREATOR_UTILS_EXPORT LayoutItem::Setter onClicked(const std::function<void()> &func,

View File

@@ -133,11 +133,13 @@ CTestSettingsPage::CTestSettingsPage(CTestSettings *settings, Utils::Id settings
Row {s.stopOnFailure}, br, Row {s.stopOnFailure}, br,
Row {s.outputMode}, br, Row {s.outputMode}, br,
Group { Group {
title(Tr::tr("Repeat tests"), &s.repeat), title(Tr::tr("Repeat tests")),
s.repeat.groupChecker(),
Row {s.repetitionMode, s.repetitionCount}, Row {s.repetitionMode, s.repetitionCount},
}, br, }, br,
Group { Group {
title(Tr::tr("Run in parallel"), &s.parallel), title(Tr::tr("Run in parallel")),
s.parallel.groupChecker(),
Column { Column {
Row {s.jobs}, br, Row {s.jobs}, br,
Row {s.testLoad, s.threshold} Row {s.testLoad, s.threshold}

View File

@@ -15,8 +15,6 @@
#include <QPushButton> #include <QPushButton>
#include <QWidget> #include <QWidget>
using namespace Utils;
using namespace ClangFormat; using namespace ClangFormat;
ClangFormatChecks::ClangFormatChecks(QWidget *parent) ClangFormatChecks::ClangFormatChecks(QWidget *parent)

View File

@@ -20,8 +20,6 @@
#include <QSpinBox> #include <QSpinBox>
#include <QtDebug> #include <QtDebug>
using namespace Utils;
namespace CppEditor::Internal { namespace CppEditor::Internal {
class LineCountSpinBox : public QWidget class LineCountSpinBox : public QWidget

View File

@@ -12,8 +12,6 @@
#include <QLineEdit> #include <QLineEdit>
#include <QRegularExpressionValidator> #include <QRegularExpressionValidator>
using namespace Utils;
namespace Macros::Internal { namespace Macros::Internal {
SaveDialog::SaveDialog(QWidget *parent) : SaveDialog::SaveDialog(QWidget *parent) :

View File

@@ -11,8 +11,6 @@
#include <QGroupBox> #include <QGroupBox>
#include <QLineEdit> #include <QLineEdit>
using namespace Utils;
namespace Mercurial::Internal { namespace Mercurial::Internal {
RevertDialog::RevertDialog(QWidget *parent) RevertDialog::RevertDialog(QWidget *parent)

View File

@@ -243,7 +243,8 @@ PerforceSettingsPage::PerforceSettingsPage(PerforceSettings *settings)
}; };
Group environment { Group environment {
title(Tr::tr("Environment Variables"), &s.customEnv), title(Tr::tr("Environment Variables")),
s.customEnv.groupChecker(),
Row { s.p4Port, s.p4Client, s.p4User } Row { s.p4Port, s.p4Client, s.p4User }
}; };

View File

@@ -96,7 +96,8 @@ SubversionSettingsPage::SubversionSettingsPage(SubversionSettings *settings)
}, },
Group { Group {
title(Tr::tr("Authentication"), &s.useAuthentication), title(Tr::tr("Authentication")),
s.useAuthentication.groupChecker(),
Form { Form {
s.userName, s.userName,
s.password, s.password,