summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Chen <chenke@deepin.org>2024-02-22 10:34:22 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-03-16 07:01:46 +0000
commit46bbff52aa41f966dc5e750f6e9768cbde4b1223 (patch)
tree1e7ccd9023eccec1e1093253773d0f35b1ec9524
parent8341bfd960a09576f95ebabb1e9ad767e85198b1 (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.cpp5
-rw-r--r--src/widgets/widgets/qtextedit.cpp13
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) {