From 7bba5a5fc5db6c339d3df4169aabe424f68fe092 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Fri, 9 Apr 2021 08:50:15 +0200 Subject: [PATCH] Fix read-only pseudo-state in QPlainTextEdit stylesheet Was implemented for the other text edit widgets, but not for QPlainTextEdit. Fixes: QTBUG-92490 Change-Id: Idd2a1b5c743fc030d3f2d4dd24e98f806b58f4d9 Reviewed-by: Volker Hilsheimer (cherry picked from commit f3a042c5ab998c0d283017f3569bb72c392580b7) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/styles/qstylesheetstyle.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index b9c0aaa1998..7c75be2fc73 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -60,6 +60,7 @@ #if QT_CONFIG(textedit) #include #endif +#include #include #if QT_CONFIG(combobox) #include @@ -2106,6 +2107,9 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption } #endif + else if (const QPlainTextEdit *edit = qobject_cast(obj)) { + extraClass |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); + } #if QT_CONFIG(textedit) else if (const QTextEdit *edit = qobject_cast(obj)) { extraClass |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); @@ -2541,7 +2545,9 @@ static quint64 extendedPseudoClass(const QWidget *w) pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); } else #endif - { } // required for the above ifdef'ery to work + if (const QPlainTextEdit *edit = qobject_cast(w)) { + pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); + } return pc; }