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 <daniel.teske@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-10-13 15:52:59 +02:00
parent 9b52d193a3
commit 23ab77bfa8
5 changed files with 33 additions and 12 deletions

View File

@@ -59,4 +59,20 @@ QString KitConfigWidget::msgManage()
return tr("Manage..."); 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 } // namespace ProjectExplorer

View File

@@ -72,6 +72,9 @@ public:
Kit *kit() const { return m_kit; } Kit *kit() const { return m_kit; }
virtual void setPalette(const QPalette &p);
virtual void setStyle(QStyle *s);
signals: signals:
void dirty(); void dirty();

View File

@@ -93,6 +93,12 @@ QString SysRootInformationConfigWidget::toolTip() const
"Leave empty when building for the desktop."); "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() void SysRootInformationConfigWidget::refresh()
{ {
if (!m_ignoreChange) if (!m_ignoreChange)

View File

@@ -72,6 +72,8 @@ public:
QWidget *mainWidget() const; QWidget *mainWidget() const;
QString toolTip() const; QString toolTip() const;
void setPalette(const QPalette &p);
private: private:
void pathWasChanged(); void pathWasChanged();

View File

@@ -583,22 +583,16 @@ void KitAreaWidget::setKit(Kit *k)
if (k && k->isMutable(ki->id())) { if (k && k->isMutable(ki->id())) {
KitConfigWidget *widget = ki->createConfigWidget(k); KitConfigWidget *widget = ki->createConfigWidget(k);
m_widgets << widget; m_widgets << widget;
QList<QWidget *> rowWidgets;
QLabel *label = new QLabel(widget->displayName()); QLabel *label = new QLabel(widget->displayName());
m_labels << label; m_labels << label;
rowWidgets.append(label); widget->setStyle(QStyleFactory::create(QLatin1String("fusion")));
rowWidgets.append(widget->mainWidget()); widget->setPalette(palette());
rowWidgets.append(widget->buttonWidget());
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; ++row;
} }
} }