From 373032925d1fde4a39f0368e542de8e3cb53d907 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 29 Aug 2022 17:38:41 +0200 Subject: [PATCH] Utils: Use 'hr' for horizontal rule in layouts More HTML-ish. Change-Id: I45d2e474b2810f00422a03603aac125c6f845b81 Reviewed-by: Alessandro Portale --- src/libs/utils/layoutbuilder.cpp | 14 ++++++++------ src/libs/utils/layoutbuilder.h | 14 ++++++++------ src/plugins/android/androidsdkmanagerwidget.cpp | 2 +- src/plugins/ios/iossettingswidget.cpp | 2 +- src/plugins/perfprofiler/perfloaddialog.cpp | 2 +- src/plugins/projectexplorer/sessiondialog.cpp | 2 +- .../qbsprojectmanager/qbsprofilessettingspage.cpp | 2 +- src/shared/help/bookmarkmanager.cpp | 2 +- 8 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index a24d9b7f2a8..d5608784604 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -142,6 +142,8 @@ static void addItemToBoxLayout(QBoxLayout *layout, const LayoutBuilder::LayoutIt layout->addStretch(item.specialValue.toInt()); } else if (item.specialType == LayoutBuilder::SpecialType::Space) { layout->addSpacing(item.specialValue.toInt()); + } else if (item.specialType == LayoutBuilder::SpecialType::HorizontalRule) { + layout->addWidget(Layouting::createHr()); } else if (!item.text.isEmpty()) { layout->addWidget(new QLabel(item.text)); } else { @@ -441,6 +443,11 @@ LayoutBuilder::Span::Span(int span_, const LayoutItem &item) span = span_; } +LayoutBuilder::HorizontalRule::HorizontalRule() +{ + specialType = SpecialType::HorizontalRule; +} + namespace Layouting { // "Widgets" @@ -472,12 +479,6 @@ PushButton::PushButton(std::initializer_list items) applyItems(widget, items); } -HorizontalRule::HorizontalRule(std::initializer_list items) -{ - widget = createHr(); - applyItems(widget, items); -} - // "Properties" LayoutBuilder::Setter title(const QString &title, BoolAspect *checker) @@ -541,6 +542,7 @@ QWidget *createHr(QWidget *parent) LayoutBuilder::Break br; LayoutBuilder::Stretch st; LayoutBuilder::Space empty(0); +LayoutBuilder::HorizontalRule hr; } // Layouting } // Utils diff --git a/src/libs/utils/layoutbuilder.h b/src/libs/utils/layoutbuilder.h index fa7a17511ac..215dc57fcc1 100644 --- a/src/libs/utils/layoutbuilder.h +++ b/src/libs/utils/layoutbuilder.h @@ -51,6 +51,7 @@ public: Space, Stretch, Break, + HorizontalRule, }; using Setter = std::function; @@ -128,6 +129,12 @@ public: Break(); }; + class QTCREATOR_UTILS_EXPORT HorizontalRule : public LayoutItem + { + public: + HorizontalRule(); + }; + protected: explicit LayoutBuilder(); // Adds to existing layout. @@ -173,12 +180,6 @@ public: PushButton(std::initializer_list items); }; -class QTCREATOR_UTILS_EXPORT HorizontalRule : public LayoutBuilder::LayoutItem -{ -public: - HorizontalRule(std::initializer_list items); -}; - class QTCREATOR_UTILS_EXPORT Column : public LayoutBuilder { public: @@ -213,6 +214,7 @@ using Span = LayoutBuilder::Span; QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Break br; QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Stretch st; QTCREATOR_UTILS_EXPORT extern LayoutBuilder::Space empty; +QTCREATOR_UTILS_EXPORT extern LayoutBuilder::HorizontalRule hr; } // Layouting } // Utils diff --git a/src/plugins/android/androidsdkmanagerwidget.cpp b/src/plugins/android/androidsdkmanagerwidget.cpp index 052a152b5cb..c4c8d91f481 100644 --- a/src/plugins/android/androidsdkmanagerwidget.cpp +++ b/src/plugins/android/androidsdkmanagerwidget.cpp @@ -137,7 +137,7 @@ AndroidSdkManagerWidget::AndroidSdkManagerWidget(AndroidConfig &config, Column { Row { tr("Channel:"), channelCheckbox }, obsoleteCheckBox, - HorizontalRule {}, + hr, showAvailableRadio, showInstalledRadio, showAllRadio, diff --git a/src/plugins/ios/iossettingswidget.cpp b/src/plugins/ios/iossettingswidget.cpp index 4eb75051097..560db47174a 100644 --- a/src/plugins/ios/iossettingswidget.cpp +++ b/src/plugins/ios/iossettingswidget.cpp @@ -116,7 +116,7 @@ IosSettingsWidget::IosSettingsWidget() st }, }, - HorizontalRule {}, + hr, Row { tr("Screenshot directory:"), m_pathWidget } } } diff --git a/src/plugins/perfprofiler/perfloaddialog.cpp b/src/plugins/perfprofiler/perfloaddialog.cpp index 2cfa0726ad4..b1f4e2b34eb 100644 --- a/src/plugins/perfprofiler/perfloaddialog.cpp +++ b/src/plugins/perfprofiler/perfloaddialog.cpp @@ -57,7 +57,7 @@ PerfLoadDialog::PerfLoadDialog(QWidget *parent) label3, Span(2, m_kitChooser) }, st, - HorizontalRule {}, + hr, buttonBox }.attachTo(this); diff --git a/src/plugins/projectexplorer/sessiondialog.cpp b/src/plugins/projectexplorer/sessiondialog.cpp index e902e736aa9..e7a7983cb42 100644 --- a/src/plugins/projectexplorer/sessiondialog.cpp +++ b/src/plugins/projectexplorer/sessiondialog.cpp @@ -152,7 +152,7 @@ SessionDialog::SessionDialog(QWidget *parent) : QDialog(parent) } }, m_autoLoadCheckBox, - HorizontalRule {}, + hr, Row { whatsASessionLabel, buttonBox }, }.attachTo(this); diff --git a/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp b/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp index 8d51b07f123..b9ac277df0b 100644 --- a/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp +++ b/src/plugins/qbsprojectmanager/qbsprofilessettingspage.cpp @@ -140,7 +140,7 @@ QbsProfilesSettingsWidget::QbsProfilesSettingsWidget() tr("Kit:"), m_kitsComboBox, br, tr("Associated profile:"), m_profileValueLabel, br, }, - HorizontalRule {}, + hr, tr("Profile properties:"), Row { m_propertiesView, diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp index 4e6cf48437c..0e50817a150 100644 --- a/src/shared/help/bookmarkmanager.cpp +++ b/src/shared/help/bookmarkmanager.cpp @@ -79,7 +79,7 @@ BookmarkDialog::BookmarkDialog(BookmarkManager *manager, const QString &title, tr("Bookmark:"), m_bookmarkEdit, br, tr("Add in folder:"), m_bookmarkFolders, br, }, - Row { m_toolButton, HorizontalRule {}, }, + Row { m_toolButton, hr }, m_treeView, Row { m_newFolderButton, m_buttonBox, } }.attachTo(this);