ProjectListWidget: Improve MiniProjectTargetSelector theming

In order to support theme tinting, Use Utils::StyleHelper().baseColor()
instead of MiniProjectTargetSelectorBackgroundColor and
MiniProjectTargetSelectorSummaryBackgroundColor roles. Also QPalette
instead of a style sheet.

The above two theming roles are marked for deprecation.

Change-Id: Ia9688a617056adbf55c64373d08f9e15ecc5af1f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Alessandro Portale
2019-12-19 17:46:17 +01:00
parent 6b38f0c47d
commit 4bc38f1101
2 changed files with 6 additions and 6 deletions

View File

@@ -96,9 +96,9 @@ public:
MenuBarItemTextColorNormal,
MenuItemTextColorDisabled,
MenuItemTextColorNormal,
MiniProjectTargetSelectorBackgroundColor,
MiniProjectTargetSelectorBackgroundColor, // TODO: Deprecate. -> Utils::StyleHelper().baseColor()
MiniProjectTargetSelectorBorderColor,
MiniProjectTargetSelectorSummaryBackgroundColor,
MiniProjectTargetSelectorSummaryBackgroundColor, // TODO: Deprecate. -> Utils::StyleHelper().baseColor()
MiniProjectTargetSelectorTextColor,
OutputPaneButtonFlashColor,
OutputPaneToggleButtonTextColorChecked,

View File

@@ -723,8 +723,9 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
m_summaryLabel = new QLabel(this);
m_summaryLabel->setContentsMargins(3, 3, 3, 3);
m_summaryLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop);
m_summaryLabel->setStyleSheet(QString::fromLatin1("background: %1;")
.arg(creatorTheme()->color(Theme::MiniProjectTargetSelectorSummaryBackgroundColor).name()));
QPalette pal = m_summaryLabel->palette();
pal.setColor(QPalette::Window, Utils::StyleHelper().baseColor());
m_summaryLabel->setPalette(pal);
m_summaryLabel->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
m_summaryLabel->setTextInteractionFlags(m_summaryLabel->textInteractionFlags() | Qt::LinksAccessibleByMouse);
@@ -1628,8 +1629,7 @@ void MiniProjectTargetSelector::updateSummary()
void MiniProjectTargetSelector::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setBrush(creatorTheme()->color(Theme::MiniProjectTargetSelectorBackgroundColor));
painter.drawRect(rect());
painter.fillRect(rect(), Utils::StyleHelper().baseColor());
painter.setPen(creatorTheme()->color(Theme::MiniProjectTargetSelectorBorderColor));
// draw border on top and right
QRectF borderRect = QRectF(rect()).adjusted(0.5, 0.5, -0.5, -0.5);