diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2021-01-12 17:51:26 +0100 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2021-01-13 17:22:34 +0100 |
commit | 2054f451b1fc182fb3f53976b8f1e0026cfcd89a (patch) | |
tree | a6ced78323bbc3b448e34be40045a1d4c9c4e5ae /src/widgets | |
parent | ee409a536e7e1e4da28e235c4979a31cf40bb3c4 (diff) |
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 <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/styles/qstylesheetstyle.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
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 <qlineedit.h> #endif +#if QT_CONFIG(textedit) +#include <qtextedit.h> +#endif #include <private/qwindowsstyle_p.h> #if QT_CONFIG(combobox) #include <qcombobox.h> @@ -2103,6 +2106,11 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption } #endif +#if QT_CONFIG(textedit) + else if (const QTextEdit *edit = qobject_cast<const QTextEdit *>(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<const QLineEdit *>(obj)) { @@ -2528,6 +2536,11 @@ static quint64 extendedPseudoClass(const QWidget *w) pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); } else #endif +#if QT_CONFIG(textedit) + if (const QTextEdit *edit = qobject_cast<const QTextEdit *>(w)) { + pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); + } else +#endif { } // required for the above ifdef'ery to work return pc; } |