From b40b8a1a4eaadf80f0b99faaaed7b789002cda35 Mon Sep 17 00:00:00 2001 From: johanneshilden Date: Wed, 11 Oct 2017 22:44:35 +0300 Subject: [PATCH] Build out AppBar settings form --- examples/appbarsettingseditor.cpp | 21 +++++++++++++ examples/appbarsettingseditor.h | 1 + examples/appbarsettingsform.ui | 50 ++++++++++++++++++++++++++----- 3 files changed, 64 insertions(+), 8 deletions(-) diff --git a/examples/appbarsettingseditor.cpp b/examples/appbarsettingseditor.cpp index 1b131af..6548efd 100644 --- a/examples/appbarsettingseditor.cpp +++ b/examples/appbarsettingseditor.cpp @@ -1,5 +1,6 @@ #include "appbarsettingseditor.h" #include +#include #include #include @@ -23,10 +24,14 @@ AppBarSettingsEditor::AppBarSettingsEditor(QWidget *parent) layout = new QVBoxLayout; canvas->setLayout(layout); + canvas->setMaximumHeight(300); layout->addWidget(m_appBar); layout->addStretch(1); setupForm(); + + connect(ui->useThemeColorsCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateWidget())); + connect(ui->backgroundColorToolButton, SIGNAL(pressed()), this, SLOT(selectColor())); } AppBarSettingsEditor::~AppBarSettingsEditor() @@ -36,8 +41,24 @@ AppBarSettingsEditor::~AppBarSettingsEditor() void AppBarSettingsEditor::setupForm() { + ui->useThemeColorsCheckBox->setChecked(m_appBar->useThemeColors()); } void AppBarSettingsEditor::updateWidget() { + m_appBar->setUseThemeColors(ui->useThemeColorsCheckBox->isChecked()); +} + +void AppBarSettingsEditor::selectColor() +{ + QColorDialog dialog; + if (dialog.exec()) { + QColor color = dialog.selectedColor(); + QString senderName = sender()->objectName(); + if ("backgroundColorToolButton" == senderName) { + m_appBar->setBackgroundColor(color); + ui->backgroundColorLineEdit->setText(color.name(QColor::HexRgb)); + } + } + setupForm(); } diff --git a/examples/appbarsettingseditor.h b/examples/appbarsettingseditor.h index e1d4043..b2eb882 100644 --- a/examples/appbarsettingseditor.h +++ b/examples/appbarsettingseditor.h @@ -17,6 +17,7 @@ public: protected slots: void setupForm(); void updateWidget(); + void selectColor(); private: Ui::AppBarSettingsForm *const ui; diff --git a/examples/appbarsettingsform.ui b/examples/appbarsettingsform.ui index c352576..34c12e9 100644 --- a/examples/appbarsettingsform.ui +++ b/examples/appbarsettingsform.ui @@ -13,18 +13,52 @@ Form - + - 10 - 70 - 171 - 16 + 0 + 0 + 221 + 231 - - TODO - + + + + + Use theme colors + + + + + + + + + + Background color + + + + + + + + + false + + + + + + + ... + + + + + +