Fixed deprecated method QWheelEvent::delta (#2647)

Reference: https://doc.qt.io/qt-5/qwheelevent-obsolete.html#delta and https://doc.qt.io/qt-5/qwheelevent-obsolete.html#orientation

Changes in behavior introduced in this commit

Change from `event->delta()` to `event->angleDelta().y()` makes it, so you can no longer scroll horizontally (with trackpad / touchpad) to select next/previous tab (until now, you were able to do it, but I believe this is wrong anyways).

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
Paweł 2021-04-26 21:38:16 +02:00 committed by GitHub
parent e587d1ef81
commit 9c41adca2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View file

@ -1110,8 +1110,10 @@ void ChannelView::drawMessages(QPainter &painter)
void ChannelView::wheelEvent(QWheelEvent *event) void ChannelView::wheelEvent(QWheelEvent *event)
{ {
if (event->orientation() != Qt::Vertical) if (!event->angleDelta().y())
{
return; return;
}
if (event->modifiers() & Qt::ControlModifier) if (event->modifiers() & Qt::ControlModifier)
{ {
@ -1124,7 +1126,7 @@ void ChannelView::wheelEvent(QWheelEvent *event)
float mouseMultiplier = getSettings()->mouseScrollMultiplier; float mouseMultiplier = getSettings()->mouseScrollMultiplier;
qreal desired = this->scrollBar_->getDesiredValue(); qreal desired = this->scrollBar_->getDesiredValue();
qreal delta = event->delta() * qreal(1.5) * mouseMultiplier; qreal delta = event->angleDelta().y() * qreal(1.5) * mouseMultiplier;
auto snapshot = this->getMessagesSnapshot(); auto snapshot = this->getMessagesSnapshot();
int snapshotLength = int(snapshot.size()); int snapshotLength = int(snapshot.size());

View file

@ -600,7 +600,7 @@ void NotebookTab::mouseMoveEvent(QMouseEvent *event)
void NotebookTab::wheelEvent(QWheelEvent *event) void NotebookTab::wheelEvent(QWheelEvent *event)
{ {
const auto defaultMouseDelta = 120; const auto defaultMouseDelta = 120;
const auto delta = event->delta(); const auto verticalDelta = event->angleDelta().y();
const auto selectTab = [this](int delta) { const auto selectTab = [this](int delta) {
delta > 0 ? this->notebook_->selectPreviousTab() delta > 0 ? this->notebook_->selectPreviousTab()
: this->notebook_->selectNextTab(); : this->notebook_->selectNextTab();
@ -608,9 +608,9 @@ void NotebookTab::wheelEvent(QWheelEvent *event)
// If it's true // If it's true
// Then the user uses the trackpad or perhaps the most accurate mouse // Then the user uses the trackpad or perhaps the most accurate mouse
// Which has small delta. // Which has small delta.
if (std::abs(delta) < defaultMouseDelta) if (std::abs(verticalDelta) < defaultMouseDelta)
{ {
this->mouseWheelDelta_ += delta; this->mouseWheelDelta_ += verticalDelta;
if (std::abs(this->mouseWheelDelta_) >= defaultMouseDelta) if (std::abs(this->mouseWheelDelta_) >= defaultMouseDelta)
{ {
selectTab(this->mouseWheelDelta_); selectTab(this->mouseWheelDelta_);
@ -619,7 +619,7 @@ void NotebookTab::wheelEvent(QWheelEvent *event)
} }
else else
{ {
selectTab(delta); selectTab(verticalDelta);
} }
} }