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:
parent
67c5cbb8e1
commit
fe5758e2d7
@ -1080,28 +1080,38 @@ void QTextEdit::selectAll()
|
||||
bool QTextEdit::event(QEvent *e)
|
||||
{
|
||||
Q_D(QTextEdit);
|
||||
#ifndef QT_NO_CONTEXTMENU
|
||||
if (e->type() == QEvent::ContextMenu
|
||||
&& static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) {
|
||||
ensureCursorVisible();
|
||||
const QPoint cursorPos = cursorRect().center();
|
||||
QContextMenuEvent ce(QContextMenuEvent::Keyboard, cursorPos, d->viewport->mapToGlobal(cursorPos));
|
||||
ce.setAccepted(e->isAccepted());
|
||||
const bool result = QAbstractScrollArea::event(&ce);
|
||||
e->setAccepted(ce.isAccepted());
|
||||
return result;
|
||||
} else if (e->type() == QEvent::ShortcutOverride || e->type() == QEvent::ToolTip) {
|
||||
switch (e->type()) {
|
||||
case QEvent::ShortcutOverride:
|
||||
case QEvent::ToolTip:
|
||||
d->sendControlEvent(e);
|
||||
} else
|
||||
break;
|
||||
case QEvent::WindowActivate:
|
||||
case QEvent::WindowDeactivate:
|
||||
d->control->setPalette(palette());
|
||||
break;
|
||||
#ifndef QT_NO_CONTEXTMENU
|
||||
case QEvent::ContextMenu:
|
||||
if (static_cast<QContextMenuEvent *>(e)->reason() == QContextMenuEvent::Keyboard) {
|
||||
ensureCursorVisible();
|
||||
const QPoint cursorPos = cursorRect().center();
|
||||
QContextMenuEvent ce(QContextMenuEvent::Keyboard, cursorPos, d->viewport->mapToGlobal(cursorPos));
|
||||
ce.setAccepted(e->isAccepted());
|
||||
const bool result = QAbstractScrollArea::event(&ce);
|
||||
e->setAccepted(ce.isAccepted());
|
||||
return result;
|
||||
}
|
||||
break;
|
||||
#endif // QT_NO_CONTEXTMENU
|
||||
#ifdef QT_KEYPAD_NAVIGATION
|
||||
if (e->type() == QEvent::EnterEditFocus || e->type() == QEvent::LeaveEditFocus) {
|
||||
case QEvent::EnterEditFocus:
|
||||
case QEvent::LeaveEditFocus:
|
||||
if (QApplicationPrivate::keypadNavigationEnabled())
|
||||
d->sendControlEvent(e);
|
||||
} else
|
||||
break;
|
||||
#endif
|
||||
if (e->type() == QEvent::WindowActivate || e->type() == QEvent::WindowDeactivate)
|
||||
d->control->setPalette(palette());
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return QAbstractScrollArea::event(e);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user