WebView: Better HANDLE_EVENT macro

remotes/origin/falkon
David Rosca 11 years ago
parent e93c3fe58d
commit bcf50f9343
  1. 26
      src/lib/webengine/webview.cpp

@ -1139,34 +1139,34 @@ bool WebView::eventFilter(QObject *obj, QEvent *event)
// Forward events to WebView
if (obj == m_rwhvqt) {
bool ret = false;
bool wasAccepted = event->isAccepted();
#define HANDLE_EVENT(x) \
#define HANDLE_EVENT(f, t) \
{ \
bool wasAccepted = event->isAccepted(); \
event->setAccepted(false); \
(x); \
ret = event->isAccepted(); \
f(static_cast<t*>(event)); \
bool ret = event->isAccepted(); \
event->setAccepted(wasAccepted); \
return ret
return ret; \
}
switch (event->type()) {
case QEvent::KeyPress:
HANDLE_EVENT(_keyPressEvent(static_cast<QKeyEvent*>(event)));
HANDLE_EVENT(_keyPressEvent, QKeyEvent);
case QEvent::KeyRelease:
HANDLE_EVENT(_keyReleaseEvent(static_cast<QKeyEvent*>(event)));
HANDLE_EVENT(_keyReleaseEvent, QKeyEvent);
case QEvent::MouseButtonPress:
HANDLE_EVENT(_mousePressEvent(static_cast<QMouseEvent*>(event)));
HANDLE_EVENT(_mousePressEvent, QMouseEvent);
case QEvent::MouseButtonRelease:
HANDLE_EVENT(_mouseReleaseEvent(static_cast<QMouseEvent*>(event)));
HANDLE_EVENT(_mouseReleaseEvent, QMouseEvent);
case QEvent::MouseMove:
HANDLE_EVENT(_mouseMoveEvent(static_cast<QMouseEvent*>(event)));
HANDLE_EVENT(_mouseMoveEvent, QMouseEvent);
case QEvent::Wheel:
HANDLE_EVENT(_wheelEvent(static_cast<QWheelEvent*>(event)));
HANDLE_EVENT(_wheelEvent, QWheelEvent);
default:
break;

Loading…
Cancel
Save