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.6 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>
This commit is contained in:
parent
79ac8b110a
commit
dd52aed320
@ -1557,6 +1557,10 @@ bool QPlainTextEdit::event(QEvent *e)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
#endif // QT_NO_GESTURES
|
#endif // QT_NO_GESTURES
|
||||||
|
case QEvent::WindowActivate:
|
||||||
|
case QEvent::WindowDeactivate:
|
||||||
|
d->control->setPalette(palette());
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2298,7 +2302,6 @@ void QPlainTextEdit::changeEvent(QEvent *e)
|
|||||||
d->control->document()->setDefaultFont(font());
|
d->control->document()->setDefaultFont(font());
|
||||||
break;
|
break;
|
||||||
case QEvent::ActivationChange:
|
case QEvent::ActivationChange:
|
||||||
d->control->setPalette(palette());
|
|
||||||
if (!isActiveWindow())
|
if (!isActiveWindow())
|
||||||
d->autoScrollTimer.stop();
|
d->autoScrollTimer.stop();
|
||||||
break;
|
break;
|
||||||
|
@ -1083,7 +1083,6 @@ bool QTextEdit::event(QEvent *e)
|
|||||||
#ifndef QT_NO_CONTEXTMENU
|
#ifndef QT_NO_CONTEXTMENU
|
||||||
if (e->type() == QEvent::ContextMenu
|
if (e->type() == QEvent::ContextMenu
|
||||||
&& static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) {
|
&& static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) {
|
||||||
Q_D(QTextEdit);
|
|
||||||
ensureCursorVisible();
|
ensureCursorVisible();
|
||||||
const QPoint cursorPos = cursorRect().center();
|
const QPoint cursorPos = cursorRect().center();
|
||||||
QContextMenuEvent ce(QContextMenuEvent::Keyboard, cursorPos, d->viewport->mapToGlobal(cursorPos));
|
QContextMenuEvent ce(QContextMenuEvent::Keyboard, cursorPos, d->viewport->mapToGlobal(cursorPos));
|
||||||
@ -1091,19 +1090,18 @@ bool QTextEdit::event(QEvent *e)
|
|||||||
const bool result = QAbstractScrollArea::event(&ce);
|
const bool result = QAbstractScrollArea::event(&ce);
|
||||||
e->setAccepted(ce.isAccepted());
|
e->setAccepted(ce.isAccepted());
|
||||||
return result;
|
return result;
|
||||||
} else if (e->type() == QEvent::ShortcutOverride
|
} else if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::ToolTip) {
|
||||||
|| e->type() == QEvent::ToolTip) {
|
|
||||||
d->sendControlEvent(e);
|
d->sendControlEvent(e);
|
||||||
}
|
} else
|
||||||
#else
|
|
||||||
Q_UNUSED(d);
|
|
||||||
#endif // QT_NO_CONTEXTMENU
|
#endif // QT_NO_CONTEXTMENU
|
||||||
#ifdef QT_KEYPAD_NAVIGATION
|
#ifdef QT_KEYPAD_NAVIGATION
|
||||||
if (e->type() == QEvent::EnterEditFocus || e->type() == QEvent::LeaveEditFocus) {
|
if (e->type() == QEvent::EnterEditFocus || e->type() == QEvent::LeaveEditFocus) {
|
||||||
if (QApplicationPrivate::keypadNavigationEnabled())
|
if (QApplicationPrivate::keypadNavigationEnabled())
|
||||||
d->sendControlEvent(e);
|
d->sendControlEvent(e);
|
||||||
}
|
} else
|
||||||
#endif
|
#endif
|
||||||
|
if (e->type() == QEvent::WindowActivate || e->type() == QEvent::WindowDeactivate)
|
||||||
|
d->control->setPalette(palette());
|
||||||
return QAbstractScrollArea::event(e);
|
return QAbstractScrollArea::event(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1906,7 +1904,6 @@ void QTextEdit::changeEvent(QEvent *e)
|
|||||||
|| e->type() == QEvent::FontChange) {
|
|| e->type() == QEvent::FontChange) {
|
||||||
d->control->document()->setDefaultFont(font());
|
d->control->document()->setDefaultFont(font());
|
||||||
} else if (e->type() == QEvent::ActivationChange) {
|
} else if (e->type() == QEvent::ActivationChange) {
|
||||||
d->control->setPalette(palette());
|
|
||||||
if (!isActiveWindow())
|
if (!isActiveWindow())
|
||||||
d->autoScrollTimer.stop();
|
d->autoScrollTimer.stop();
|
||||||
} else if (e->type() == QEvent::EnabledChange) {
|
} else if (e->type() == QEvent::EnabledChange) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user