Qt5: fix deprecation warnings of QWheelEvent in Qt 5.15

This commit is contained in:
wmayer
2020-10-18 12:44:23 +02:00
parent f3bdaaa55a
commit 34f4b712d8
8 changed files with 54 additions and 1 deletions

View File

@@ -79,6 +79,17 @@ bool GraphicsViewZoom::eventFilter(QObject *object, QEvent *event) {
} else if (event->type() == QEvent::Wheel) {
QWheelEvent* wheel_event = static_cast<QWheelEvent*>(event);
if (QApplication::keyboardModifiers() == _modifiers) {
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
QPoint delta = wheel_event->angleDelta();
if (qAbs(delta.y()) > qAbs(delta.x())) { // vertical
double angle = -delta.y();
if (m_invert_zoom)
angle = -angle;
double factor = qPow(_zoom_factor_base, angle);
gentle_zoom(factor);
return true;
}
#else
if (wheel_event->orientation() == Qt::Vertical) {
double angle = -wheel_event->delta();
if (m_invert_zoom)
@@ -87,6 +98,7 @@ bool GraphicsViewZoom::eventFilter(QObject *object, QEvent *event) {
gentle_zoom(factor);
return true;
}
#endif
}
}
Q_UNUSED(object);

View File

@@ -692,7 +692,11 @@ void InputField::wheelEvent (QWheelEvent * event)
}
double factor = event->modifiers() & Qt::ControlModifier ? 10 : 1;
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
double step = event->angleDelta().y() > 0 ? StepSize : -StepSize;
#else
double step = event->delta() > 0 ? StepSize : -StepSize;
#endif
double val = actUnitValue + factor * step;
if (val > Maximum)
val = Maximum;

View File

@@ -168,7 +168,12 @@ const SoEvent *
MouseP::mouseWheelEvent(QWheelEvent * event)
{
PUBLIC(this)->setModifiers(this->wheel, event);
#if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
QPoint pos = event->position().toPoint();
SbVec2s pos(pos.x(), PUBLIC(this)->windowsize[1] - pos.y() - 1);
#else
SbVec2s pos(event->pos().x(), PUBLIC(this)->windowsize[1] - event->pos().y() - 1);
#endif
// the following corrects for high-dpi displays (e.g. mac retina)
#if QT_VERSION >= 0x050000
pos *= publ->quarter->devicePixelRatio();
@@ -182,7 +187,11 @@ MouseP::mouseWheelEvent(QWheelEvent * event)
// value indicates that the wheel was rotated backwards toward the
// user. A typical wheel click is 120, but values coming from touchpad
// can be a lot lower
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
this->wheel->setDelta(event->angleDelta().y());
#else
this->wheel->setDelta(event->delta());
#endif
return this->wheel;
}

View File

@@ -270,8 +270,13 @@ public:
// Thus, we filter out horizontal scrolling.
if (event->type() == QEvent::Wheel) {
QWheelEvent* we = static_cast<QWheelEvent*>(event);
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
if (qAbs(we->angleDelta().x()) > qAbs(we->angleDelta().y()))
return true;
#else
if (we->orientation() == Qt::Horizontal)
return true;
#endif
}
else if (event->type() == QEvent::KeyPress) {
QKeyEvent* ke = static_cast<QKeyEvent*>(event);

View File

@@ -197,7 +197,11 @@ void SvgView::paintEvent(QPaintEvent *event)
void SvgView::wheelEvent(QWheelEvent *event)
{
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
int delta = -event->angleDelta().y();
#else
int delta = -event->delta();
#endif
if (m_invertZoom)
delta = -delta;
qreal factor = std::pow(1.2, delta / 240.0);

View File

@@ -476,11 +476,21 @@ void ImageView::wheelEvent(QWheelEvent * cEvent)
// Mouse event coordinates are relative to top-left of image view (including toolbar!)
// Get current cursor position relative to top-left of image box
QPoint offset = _pGLImageBox->pos();
#if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
QPoint pos = cEvent->position().toPoint();
int box_x = pos.x() - offset.x();
int box_y = pos.y() - offset.y();
#else
int box_x = cEvent->x() - offset.x();
int box_y = cEvent->y() - offset.y();
#endif
// Zoom around centrally displayed image point
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
int numTicks = cEvent->angleDelta().y() / 120;
#else
int numTicks = cEvent->delta() / 120;
#endif
if (_invertZoom)
numTicks = -numTicks;

View File

@@ -1026,7 +1026,12 @@ void QGVPage::wheelEvent(QWheelEvent *event)
}
QPointF center = mapToScene(viewport()->rect().center());
qreal factor = std::pow(mouseBase, event->delta() / mouseAdjust);
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
int delta = event->angleDelta().y();
#else
int delta = event->delta();
#endif
qreal factor = std::pow(mouseBase, delta / mouseAdjust);
scale(factor, factor);
QPointF newCenter = mapToScene(viewport()->rect().center());

View File

@@ -277,7 +277,11 @@ void WebView::mousePressEvent(QMouseEvent *event)
void WebView::wheelEvent(QWheelEvent *event)
{
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
qreal factor = zoomFactor() + (-event->angleDelta().y() / 800.0);
#else
qreal factor = zoomFactor() + (-event->delta() / 800.0);
#endif
setZoomFactor(factor);
event->accept();
return;