From fb74c8dc2f240f9e2c4f64633917ca5bd43c22a1 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 6 May 2010 17:07:53 +0300 Subject: QLineEdit / QDateEdit - white font on white background Currently QCoeFepInputContext uses default QLineEdit palette when setting up text format before passing the formatted text to native side (which uses it, for example, to show T9 suggested words). The above way is incorrect due to two reasons: - custom widget might not be anything like QLineEdit and might have really different palette from it - it ignores stylesheets (or modifications to the QLineEdit's palette) Therefore, the color for text format is picked up from focusWidget, if it is available (in most cases it should be). If the focusWidget is not available, then QLineEdit default palette is used. Task-number: QTBUG-9480 Reviewed-by: Janne Koskinen --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 610ac3c..d081cfd 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -484,9 +484,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) void QCoeFepInputContext::applyFormat(QList *attributes) { TCharFormat cFormat; - QColor styleTextColor = QApplication::palette("QLineEdit").text().color(); - TLogicalRgb tontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha())); - cFormat.iFontPresentation.iTextColor = tontColor; + const QColor styleTextColor = focusWidget() ? focusWidget()->palette().text().color() : + QApplication::palette("QLineEdit").text().color(); + const TLogicalRgb fontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha())); + cFormat.iFontPresentation.iTextColor = fontColor; TInt numChars = 0; TInt charPos = 0; -- cgit v0.12