mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
Always go back/forward in history when pressing the respective buttons
Before this patch, pressing one of these buttons while an item is hovered selected this item. The motivation for this behavior was to provide a fast way to select items. However, this was counter-intuitive and confusing for many users. BUG: 310288 FIXED-IN: 4.13.0 REVIEW: 116469
This commit is contained in:
parent
b740404447
commit
eab1b76b76
|
@ -538,11 +538,10 @@ bool KItemListController::mousePressEvent(QGraphicsSceneMouseEvent* event, const
|
|||
m_pressedIndex = m_view->itemAt(m_pressedMousePos);
|
||||
emit mouseButtonPressed(m_pressedIndex, event->buttons());
|
||||
|
||||
if ((event->buttons() & (Qt::XButton1 | Qt::XButton2)) && m_pressedIndex < 0) {
|
||||
// Do not select items when clicking the empty part of the view with
|
||||
// the back/forward buttons, see https://bugs.kde.org/show_bug.cgi?id=327412.
|
||||
// Note that clicking an item with these buttons selects it, see comment in
|
||||
// DolphinView::slotMouseButtonPressed(int, Qt::MouseButtons).
|
||||
// TODO: Qt5: Replace Qt::XButton1 by Qt::BackButton and Qt::XButton2 by Qt::ForwardButton
|
||||
if (event->buttons() & (Qt::XButton1 | Qt::XButton2)) {
|
||||
// Do not select items when clicking the back/forward buttons, see
|
||||
// https://bugs.kde.org/show_bug.cgi?id=327412.
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1071,17 +1071,15 @@ void DolphinView::slotModelChanged(KItemModelBase* current, KItemModelBase* prev
|
|||
|
||||
void DolphinView::slotMouseButtonPressed(int itemIndex, Qt::MouseButtons buttons)
|
||||
{
|
||||
Q_UNUSED(itemIndex);
|
||||
|
||||
hideToolTip();
|
||||
|
||||
if (itemIndex < 0) {
|
||||
// Trigger the history navigation only when clicking on the viewport:
|
||||
// Above an item the XButtons provide a simple way to select items in
|
||||
// the singleClick mode.
|
||||
if (buttons & Qt::XButton1) {
|
||||
emit goBackRequested();
|
||||
} else if (buttons & Qt::XButton2) {
|
||||
emit goForwardRequested();
|
||||
}
|
||||
// TODO: Qt5: Replace Qt::XButton1 by Qt::BackButton and Qt::XButton2 by Qt::ForwardButton
|
||||
if (buttons & Qt::XButton1) {
|
||||
emit goBackRequested();
|
||||
} else if (buttons & Qt::XButton2) {
|
||||
emit goForwardRequested();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue