diff --git a/companion/src/modeledit/modelpanel.cpp b/companion/src/modeledit/modelpanel.cpp index d25276add..157ecbf95 100644 --- a/companion/src/modeledit/modelpanel.cpp +++ b/companion/src/modeledit/modelpanel.cpp @@ -61,14 +61,23 @@ void ModelPanel::addDoubleSpring(QGridLayout * gridLayout, int col, int row) bool ModelPanel::eventFilter(QObject *object, QEvent * event) { - if (event->type() == QEvent::Wheel && qobject_cast(object)) { - if (qobject_cast(object)->focusPolicy() == Qt::WheelFocus) { - event->accept(); - return false; + QWidget * widget = qobject_cast(object); + if (widget) { + if (event->type() == QEvent::Wheel) { + if (widget->focusPolicy() == Qt::WheelFocus) { + event->accept(); + return false; + } + else { + event->ignore(); + return true; + } } - else { - event->ignore(); - return true; + else if (event->type() == QEvent::FocusIn) { + widget->setFocusPolicy(Qt::WheelFocus); + } + else if (event->type() == QEvent::FocusOut) { + widget->setFocusPolicy(Qt::StrongFocus); } } return QWidget::eventFilter(object, event);