From 23ab77bfa8bd5bec9dd2d498a572d65f7a1471da Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 13 Oct 2015 15:52:59 +0200 Subject: KitInformation: Improve handling of styling Make the styling work better, especially when the kit information is displayed in the MiniProjectTargetSelector. Change-Id: I562c1c92942afbfec1b960740a326c4dd002864f Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kitconfigwidget.cpp | 16 ++++++++++++++++ src/plugins/projectexplorer/kitconfigwidget.h | 3 +++ .../projectexplorer/kitinformationconfigwidget.cpp | 6 ++++++ .../projectexplorer/kitinformationconfigwidget.h | 2 ++ .../projectexplorer/miniprojecttargetselector.cpp | 18 ++++++------------ 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/plugins/projectexplorer/kitconfigwidget.cpp b/src/plugins/projectexplorer/kitconfigwidget.cpp index e0eb8264a4..7e8a8ab756 100644 --- a/src/plugins/projectexplorer/kitconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitconfigwidget.cpp @@ -59,4 +59,20 @@ QString KitConfigWidget::msgManage() return tr("Manage..."); } +void KitConfigWidget::setPalette(const QPalette &p) +{ + if (mainWidget()) + mainWidget()->setPalette(p); + if (buttonWidget()) + buttonWidget()->setPalette(p); +} + +void KitConfigWidget::setStyle(QStyle *s) +{ + if (mainWidget()) + mainWidget()->setStyle(s); + if (buttonWidget()) + buttonWidget()->setStyle(s); +} + } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitconfigwidget.h b/src/plugins/projectexplorer/kitconfigwidget.h index 0ccc36dd91..65258357dc 100644 --- a/src/plugins/projectexplorer/kitconfigwidget.h +++ b/src/plugins/projectexplorer/kitconfigwidget.h @@ -72,6 +72,9 @@ public: Kit *kit() const { return m_kit; } + virtual void setPalette(const QPalette &p); + virtual void setStyle(QStyle *s); + signals: void dirty(); diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp index 3797a03887..db62738ab5 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp @@ -93,6 +93,12 @@ QString SysRootInformationConfigWidget::toolTip() const "Leave empty when building for the desktop."); } +void SysRootInformationConfigWidget::setPalette(const QPalette &p) +{ + KitConfigWidget::setPalette(p); + m_chooser->setOkColor(p.color(QPalette::Active, QPalette::Text)); +} + void SysRootInformationConfigWidget::refresh() { if (!m_ignoreChange) diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.h b/src/plugins/projectexplorer/kitinformationconfigwidget.h index c21ef0cdb5..40e518e85a 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.h +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.h @@ -72,6 +72,8 @@ public: QWidget *mainWidget() const; QString toolTip() const; + void setPalette(const QPalette &p); + private: void pathWasChanged(); diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index b0cbad1f1f..ccde03301c 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -583,22 +583,16 @@ void KitAreaWidget::setKit(Kit *k) if (k && k->isMutable(ki->id())) { KitConfigWidget *widget = ki->createConfigWidget(k); m_widgets << widget; - QList rowWidgets; QLabel *label = new QLabel(widget->displayName()); m_labels << label; - rowWidgets.append(label); - rowWidgets.append(widget->mainWidget()); - rowWidgets.append(widget->buttonWidget()); + widget->setStyle(QStyleFactory::create(QLatin1String("fusion"))); + widget->setPalette(palette()); + + m_layout->addWidget(label, row, 0); + m_layout->addWidget(widget->mainWidget(), row, 1); + m_layout->addWidget(widget->buttonWidget(), row, 2); - for (int i = 0; i < rowWidgets.count(); ++i) { - QWidget *w = rowWidgets.at(i); - m_layout->addWidget(w, row, i); - if (w && i > 0) { - w->setStyle(QStyleFactory::create(QLatin1String("fusion"))); - w->setPalette(palette()); - } - } ++row; } } -- cgit v1.2.1