bool BaseViewer::zoomOnWheelEvent(QEvent * e) { if (e->type() == QEvent::Wheel) { QWheelEvent * event = static_cast<QWheelEvent*>(e); // mouse has X units that covers 360 degrees. Zoom when 15 degrees is provided #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) QPoint numDegrees = event->angleDelta() / 8; #else QPoint numDegrees(0,event->delta() / 8); #endif if (!numDegrees.isNull()) { if (numDegrees.y() >= 15) { // Zoom in if (_zoomLevel+1<=_zoomMaxLevel) centerOnAtZoom(_zoomLevel+1); } else if (numDegrees.y() <= -15) { // Zoom out if (_zoomLevel-1>=_zoomMinLevel) centerOnAtZoom(_zoomLevel-1); } event->accept(); return true; } return true; } return false; }
bool Widget::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::Wheel) { QWheelEvent * whlEvnt = static_cast< QWheelEvent * >( event ); whlEvnt->angleDelta().setX(0); } return false; }
bool MainWindow::eventFilter(QObject * /*obj*/, QEvent *event) { if (event->type() == QEvent::Wheel) { QWheelEvent *wheelEvent = (QWheelEvent*)event; QSlider *slider = nullptr; if (QApplication::keyboardModifiers() & Qt::ControlModifier) { slider = dock->zoomLevelSlider; } else if (QApplication::keyboardModifiers() & Qt::ShiftModifier) { slider = dock->fftSizeSlider; } if (slider != nullptr) { if (wheelEvent->angleDelta().y() > 0) { slider->setValue(slider->value() + 1); } else if (wheelEvent->angleDelta().y() < 0) { slider->setValue(slider->value() - 1); } return true; } } return false; }
bool UIGraphicsScrollArea::eventFilter(QObject *pObject, QEvent *pEvent) { /* Handle layout requests for m_pViewport if set: */ if ( m_pViewport && pObject == m_pViewport && pEvent->type() == QEvent::LayoutRequest) layoutWidgets(); /* Handle wheel events for first scene view if set: */ if ( scene() && !scene()->views().isEmpty() && pObject == scene()->views().first() && pEvent->type() == QEvent::Wheel) { QWheelEvent *pWheelEvent = static_cast<QWheelEvent*>(pEvent); const QPoint angleDelta = pWheelEvent->angleDelta(); #ifdef VBOX_WS_MAC const QPoint pixelDelta = pWheelEvent->pixelDelta(); #endif switch (m_enmOrientation) { /* Scroll viewport horizontally: */ case Qt::Horizontal: { if (angleDelta.x() > 0) m_pScrollBar->setValue(m_pScrollBar->value() - m_pScrollBar->step()); else if (angleDelta.x() < 0) m_pScrollBar->setValue(m_pScrollBar->value() + m_pScrollBar->step()); break; } /* Scroll viewport vertically: */ case Qt::Vertical: { if (angleDelta.y() > 0) #ifdef VBOX_WS_MAC m_pScrollBar->setValue(m_pScrollBar->value() - pixelDelta.y()); #else m_pScrollBar->setValue(m_pScrollBar->value() - m_pScrollBar->step()); #endif else if (angleDelta.y() < 0) #ifdef VBOX_WS_MAC m_pScrollBar->setValue(m_pScrollBar->value() - pixelDelta.y()); #else m_pScrollBar->setValue(m_pScrollBar->value() + m_pScrollBar->step()); #endif break; } }