summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2021-04-09 08:50:15 +0200
committerEirik Aavitsland <eirik.aavitsland@qt.io>2021-04-09 09:44:21 +0200
commitf3a042c5ab998c0d283017f3569bb72c392580b7 (patch)
tree0baafb502dfeaf979c05532f3d9cb22cadb3e6fc /src/widgets/styles
parentd74261b59487ed66c1c14f099920bac01fd39d1c (diff)
Fix read-only pseudo-state in QPlainTextEdit stylesheet
Was implemented for the other text edit widgets, but not for QPlainTextEdit. Pick-to: 6.1 6.0 5.15 Fixes: QTBUG-92490 Change-Id: Idd2a1b5c743fc030d3f2d4dd24e98f806b58f4d9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/widgets/styles')
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index 71a8914091..068cc95ffe 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -60,6 +60,7 @@
#if QT_CONFIG(textedit)
#include <qtextedit.h>
#endif
+#include <qplaintextedit.h>
#include <private/qwindowsstyle_p.h>
#if QT_CONFIG(combobox)
#include <qcombobox.h>
@@ -2106,6 +2107,9 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption
}
#endif
+ else if (const QPlainTextEdit *edit = qobject_cast<const QPlainTextEdit *>(obj)) {
+ extraClass |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable);
+ }
#if QT_CONFIG(textedit)
else if (const QTextEdit *edit = qobject_cast<const QTextEdit *>(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<const QPlainTextEdit *>(w)) {
+ pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable);
+ }
return pc;
}