From e81ef9c4744a759783af03ddb01508386b5f33cd Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 7 Apr 2011 15:43:06 +0300 Subject: Labels are not visible in dialogs with all themes QS60Style uses different theme background for dialogs. However, labels use just one color irregardless of background texture. Therefore, in certain themes, this might produce an issue, where foreground color (label) is not visible from background. To fix this, set the label color to correct theme color when label is contained within a dialog. Task-number: QT-4559 Reviewed-by: Tomi Vihria --- src/gui/styles/qs60style.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 05243a7..879d2e8 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -683,6 +683,13 @@ void QS60StylePrivate::setThemePalette(QWidget *widget) if (header->viewport()) header->viewport()->setPalette(widgetPalette); QApplication::setPalette(widgetPalette, "QHeaderView"); + } else if (qobject_cast(widget)) { + if (widget->window() && widget->window()->windowType() == Qt::Dialog) { + QPalette widgetPalette = widget->palette(); + widgetPalette.setColor(QPalette::WindowText, + s60Color(QS60StyleEnums::CL_QsnTextColors, 19, 0)); + widget->setPalette(widgetPalette); + } } } -- cgit v0.12