| 843 | } |
| 844 | |
| 845 | void WorksheetView::wheelEvent(QWheelEvent* event) { |
| 846 | if (isInteractive() && (m_mouseMode == MouseMode::ZoomSelection || (QApplication::keyboardModifiers() & Qt::ControlModifier))) { |
| 847 | if (!zoomFitNoneAction) |
| 848 | initActions(); |
| 849 | zoomFitNoneAction->setChecked(true); |
| 850 | m_worksheet->setZoomFit(Worksheet::ZoomFit::None); |
| 851 | updateScrollBarPolicy(); |
| 852 | |
| 853 | // https://wiki.qt.io/Smooth_Zoom_In_QGraphicsView |
| 854 | QPoint numDegrees = event->angleDelta() / 8; |
| 855 | int numSteps = numDegrees.y() / 15; // see QWheelEvent documentation |
| 856 | zoom(numSteps); |
| 857 | } else |
| 858 | QGraphicsView::wheelEvent(event); |
| 859 | |
| 860 | if (m_magnificationWindow && m_magnificationWindow->isVisible()) |
| 861 | updateMagnificationWindow(mapToScene(event->position().toPoint())); |
| 862 | } |
| 863 | |
| 864 | void WorksheetView::zoom(int numSteps) { |
| 865 | m_numScheduledScalings += numSteps; |
nothing calls this directly
no test coverage detected