From c91d73afc3f825944b2b7550a070c912bdaad1c3 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 27 Aug 2022 15:02:16 +0200 Subject: [PATCH] Allow adding additional widgets to the heading of the settings dialog --- settingsdialog/settingsdialog.cpp | 8 ++++ settingsdialog/settingsdialog.h | 1 + settingsdialog/settingsdialog.ui | 68 +++++++++++++++---------------- 3 files changed, 42 insertions(+), 35 deletions(-) diff --git a/settingsdialog/settingsdialog.cpp b/settingsdialog/settingsdialog.cpp index 8dcc1cf..a6becb4 100644 --- a/settingsdialog/settingsdialog.cpp +++ b/settingsdialog/settingsdialog.cpp @@ -193,6 +193,14 @@ void SettingsDialog::setCornerWidget(QWidget *widget, Qt::Corner corner) m_ui->pagesTabWidget->setCornerWidget(widget, corner); } +/*! + * \brief Adds a widget next to the heading. + */ +void SettingsDialog::addHeadingWidget(QWidget *widget) +{ + m_ui->headingLayout->addWidget(widget); +} + /*! * \brief Updates the tab widget to show the pages for the current category. */ diff --git a/settingsdialog/settingsdialog.h b/settingsdialog/settingsdialog.h index 8c528d5..23c80e0 100644 --- a/settingsdialog/settingsdialog.h +++ b/settingsdialog/settingsdialog.h @@ -34,6 +34,7 @@ public: void setSingleCategory(OptionCategory *singleCategory); QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const; void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner); + void addHeadingWidget(QWidget *widget); Q_SIGNALS: void applied(); diff --git a/settingsdialog/settingsdialog.ui b/settingsdialog/settingsdialog.ui index 4e604a2..2018764 100644 --- a/settingsdialog/settingsdialog.ui +++ b/settingsdialog/settingsdialog.ui @@ -35,41 +35,6 @@ 3 - - - - - 0 - 0 - - - - - 500 - 16777215 - - - - No category selected - - - true - - - - - - - - 140 - 16777215 - - - - Filter - - - @@ -96,6 +61,39 @@ + + + + + + + 0 + 0 + + + + No category selected + + + true + + + + + + + + + + 140 + 16777215 + + + + Filter + + +