16 #include <QApplication>
25 if (event->type() == QEvent::KeyPress) {
26 QKeyEvent* keyEvent =
static_cast<QKeyEvent*
>(event);
27 bool res = QObject::eventFilter(obj, event);
29 if (keyEvent->key() == Qt::Key_Space) {
36 return QObject::eventFilter(obj, event);
46 if (QAbstractSpinBox* spinBox = qobject_cast<QAbstractSpinBox*>(obj)) {
48 if (event->type() == QEvent::Wheel) {
49 if (spinBox->focusPolicy() == Qt::WheelFocus) {
56 }
else if (event->type() == QEvent::FocusIn) {
57 spinBox->setFocusPolicy(Qt::WheelFocus);
58 }
else if (event->type() == QEvent::FocusOut) {
59 spinBox->setFocusPolicy(Qt::StrongFocus);
61 }
else if (qobject_cast<QComboBox*>(obj)) {
62 if (event->type() == QEvent::Wheel) {
70 return QObject::eventFilter(obj, event);
78 if (event->type() == QEvent::KeyPress) {
79 QKeyEvent* keyEvent =
static_cast<QKeyEvent*
>(event);
80 if (keyEvent->key() == Qt::Key_Delete)
83 return QObject::eventFilter(dist, event);
92 if (event->type() == QEvent::FocusOut)
95 return QObject::eventFilter(obj, event);
101 : QObject(parent), m_shortcode(shortcode), m_index(0)
108 if (event->type() == QEvent::KeyPress) {
109 QKeyEvent* keyEvent =
static_cast<QKeyEvent*
>(event);
134 if (event->type() == QEvent::MouseButtonPress) {
135 QMouseEvent* mouseEvent =
static_cast<QMouseEvent*
>(event);
136 if (mouseEvent->button() == Qt::RightButton) {
145 return QObject::eventFilter(obj, event);
155 if (parent->focusProxy())
156 parent->focusProxy()->installEventFilter(
this);
161 if (event->type() == QEvent::KeyPress) {
162 QKeyEvent* keyEvent =
static_cast<QKeyEvent*
>(event);
163 if (keyEvent->key() == Qt::Key_Tab || keyEvent->key() == Qt::Key_Backtab) {
165 QApplication::postEvent(
166 m_parent,
new QKeyEvent(keyEvent->type(), keyEvent->key(), keyEvent->modifiers()));
173 else if (event->type() == QEvent::FocusOut) {
174 QFocusEvent* focusEvent =
static_cast<QFocusEvent*
>(event);
175 QApplication::postEvent(
this,
new QFocusEvent(focusEvent->type(), focusEvent->reason()));
181 return QObject::eventFilter(obj, event);
Defines classes releted to event filtering.
bool eventFilter(QObject *dist, QEvent *event)
LostFocusFilter(QObject *parent=0)
bool eventFilter(QObject *obj, QEvent *event)
bool eventFilter(QObject *obj, QEvent *event)
ShortcodeFilter(const QString &shortcode, QObject *parent=0)
SpaceKeyEater(QObject *parent=0)
bool eventFilter(QObject *obj, QEvent *event)
bool eventFilter(QObject *obj, QEvent *event)
TabFromFocusProxy(QWidget *parent=0)
Passing focus-related events from child widget (e.g.
WheelEventEater(QObject *parent=0)
bool eventFilter(QObject *obj, QEvent *event)