X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/122fee5625f0285ec4ebda79162c72390989eb2a..fdf854bd81d9e42df2d8672d49a0b7fcdb7443a5:/src/kitemviews/kitemlistcontroller.cpp diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 392dc410e..821e1b75f 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -700,6 +700,15 @@ bool KItemListController::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event, const QPointF pos = transform.map(event->pos()); const std::optional index = m_view->itemAt(pos); + if (event->button() & (Qt::ForwardButton | Qt::BackButton)) { + // "Forward" and "Back" are reserved for quickly navigating through the + // history. Double-clicking those buttons should be interpreted as two + // separate button presses. We arrive here for the second click, which + // we now react to just as we would for a singular click + Q_EMIT mouseButtonPressed(index.value_or(-1), event->button()); + return false; + } + if (!index.has_value()) { Q_EMIT doubleClickViewBackground(event->button()); return false; @@ -713,7 +722,7 @@ bool KItemListController::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event, } } - if (event->button() & Qt::RightButton) { + if (event->button() & ~Qt::LeftButton) { return false; }