QTextEdit::event: refactor into switch statement

Replace if/else snake, made more complex by handling of QT_NO_*
configurations. Move the unconditional cases to the top, which also
fixes the handling of ShortcutOverride and ToolTip events when Qt was
built with QT_NO_CONTEXTMENU.

Change-Id: I1e2cc2c39e3cef9fe29a71e48595756cff0d2949
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 83f73df3e0e07242ce355fa12ae818fbb0ed6d03)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Volker Hilsheimer 2024-02-29 12:48:31 +01:00 committed by Qt Cherry-pick Bot
parent 67c5cbb8e1
commit fe5758e2d7

View File

@ -1080,9 +1080,18 @@ void QTextEdit::selectAll()
bool QTextEdit::event(QEvent *e) bool QTextEdit::event(QEvent *e)
{ {
Q_D(QTextEdit); Q_D(QTextEdit);
switch (e->type()) {
case QEvent::ShortcutOverride:
case QEvent::ToolTip:
d->sendControlEvent(e);
break;
case QEvent::WindowActivate:
case QEvent::WindowDeactivate:
d->control->setPalette(palette());
break;
#ifndef QT_NO_CONTEXTMENU #ifndef QT_NO_CONTEXTMENU
if (e->type() == QEvent::ContextMenu case QEvent::ContextMenu:
&& static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) { if (static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) {
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));
@ -1090,18 +1099,19 @@ 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 || e->type() == QEvent::ToolTip) { }
d->sendControlEvent(e); break;
} else
#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) { case QEvent::EnterEditFocus:
case QEvent::LeaveEditFocus:
if (QApplicationPrivate::keypadNavigationEnabled()) if (QApplicationPrivate::keypadNavigationEnabled())
d->sendControlEvent(e); d->sendControlEvent(e);
} else break;
#endif #endif
if (e->type() == QEvent::WindowActivate || e->type() == QEvent::WindowDeactivate) default:
d->control->setPalette(palette()); break;
}
return QAbstractScrollArea::event(e); return QAbstractScrollArea::event(e);
} }