From 2054f451b1fc182fb3f53976b8f1e0026cfcd89a Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Tue, 12 Jan 2021 17:51:26 +0100 Subject: Fix read-only pseudo-state in QTextEdit/Browser stylesheet Was implemented for QLineEdit but not QTextEdit. Fixes: QTBUG-83056 Pick-to: 6.0 5.15 Change-Id: I1e67ad0f1c230a062a1e12e8bc0b209c5289dc32 Reviewed-by: Volker Hilsheimer --- src/widgets/styles/qstylesheetstyle.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/widgets') diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 6d3a9fcfeb..e7662ba5c6 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -57,6 +57,9 @@ #if QT_CONFIG(lineedit) #include #endif +#if QT_CONFIG(textedit) +#include +#endif #include #if QT_CONFIG(combobox) #include @@ -2103,6 +2106,11 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption } #endif +#if QT_CONFIG(textedit) + else if (const QTextEdit *edit = qobject_cast(obj)) { + extraClass |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); + } +#endif #if QT_CONFIG(lineedit) // LineEdit sets Sunken flag to indicate Sunken frame (argh) if (const QLineEdit *lineEdit = qobject_cast(obj)) { @@ -2527,6 +2535,11 @@ static quint64 extendedPseudoClass(const QWidget *w) if (const QLineEdit *edit = qobject_cast(w)) { pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); } else +#endif +#if QT_CONFIG(textedit) + if (const QTextEdit *edit = qobject_cast(w)) { + pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); + } else #endif { } // required for the above ifdef'ery to work return pc; -- cgit v1.2.3