diff options
author | Mike Chen <chenke@deepin.org> | 2024-02-22 10:34:22 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-03-16 07:01:46 +0000 |
commit | 46bbff52aa41f966dc5e750f6e9768cbde4b1223 (patch) | |
tree | 1e7ccd9023eccec1e1093253773d0f35b1ec9524 | |
parent | 8341bfd960a09576f95ebabb1e9ad767e85198b1 (diff) |
Fix QTextEdit/QPlanTextEdit palette not updated
QPlainTextEdit/QTextEdit, etc. never received ActivationChange
when used as child widget. Set palette to control on
WindowActivate/WindowDeactivate
Pick-to: 6.5
Change-Id: Iae75d9dcfba0c6171c556626551b37d4549006c7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 402cb510e1d40825d74447af831918f4a2a951f2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dd52aed32026efd169c31703209cc7d375548e48)
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 13 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index 305d5a0e05..8362c6c629 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -1557,6 +1557,10 @@ bool QPlainTextEdit::event(QEvent *e) } return true; #endif // QT_NO_GESTURES + case QEvent::WindowActivate: + case QEvent::WindowDeactivate: + d->control->setPalette(palette()); + break; default: break; } @@ -2298,7 +2302,6 @@ void QPlainTextEdit::changeEvent(QEvent *e) d->control->document()->setDefaultFont(font()); break; case QEvent::ActivationChange: - d->control->setPalette(palette()); if (!isActiveWindow()) d->autoScrollTimer.stop(); break; diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index ad532f6c98..be6b63a3f8 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -1068,7 +1068,6 @@ bool QTextEdit::event(QEvent *e) #ifndef QT_NO_CONTEXTMENU if (e->type() == QEvent::ContextMenu && static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) { - Q_D(QTextEdit); ensureCursorVisible(); const QPoint cursorPos = cursorRect().center(); QContextMenuEvent ce(QContextMenuEvent::Keyboard, cursorPos, d->viewport->mapToGlobal(cursorPos)); @@ -1076,19 +1075,18 @@ bool QTextEdit::event(QEvent *e) const bool result = QAbstractScrollArea::event(&ce); e->setAccepted(ce.isAccepted()); return result; - } else if (e->type() == QEvent::ShortcutOverride - || e->type() == QEvent::ToolTip) { + } else if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::ToolTip) { d->sendControlEvent(e); - } -#else - Q_UNUSED(d); + } else #endif // QT_NO_CONTEXTMENU #ifdef QT_KEYPAD_NAVIGATION if (e->type() == QEvent::EnterEditFocus || e->type() == QEvent::LeaveEditFocus) { if (QApplicationPrivate::keypadNavigationEnabled()) d->sendControlEvent(e); - } + } else #endif + if (e->type() == QEvent::WindowActivate || e->type() == QEvent::WindowDeactivate) + d->control->setPalette(palette()); return QAbstractScrollArea::event(e); } @@ -1897,7 +1895,6 @@ void QTextEdit::changeEvent(QEvent *e) || e->type() == QEvent::FontChange) { d->control->document()->setDefaultFont(font()); } else if (e->type() == QEvent::ActivationChange) { - d->control->setPalette(palette()); if (!isActiveWindow()) d->autoScrollTimer.stop(); } else if (e->type() == QEvent::EnabledChange) { |