diff options
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 10 | ||||
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.h | 2 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 8687872ee..d0bcd6ceb 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -1583,14 +1583,10 @@ bool KItemListController::onRelease(const QPointF& pos, const Qt::KeyboardModifi Q_EMIT itemExpansionToggleClicked(index); emitItemActivated = false; - } else if (shiftOrControlPressed) { - // The mouse click should only update the selection, not trigger the item + } else if (shiftOrControlPressed && m_selectionBehavior != SingleSelection) { + // The mouse click should only update the selection, not trigger the item, except when + // we are in single selection mode emitItemActivated = false; - // When Ctrl-clicking an item when in single selection mode - // i.e. where Ctrl won't change the selection, pretend it was middle clicked - if (controlPressed && m_selectionBehavior == SingleSelection) { - Q_EMIT itemMiddleClicked(index); - } } else if (!(m_view->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick) || m_singleClickActivationEnforced)) { if (touch) { emitItemActivated = true; diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h index 24339134e..f4092576a 100644 --- a/src/kitemviews/kitemlistcontroller.h +++ b/src/kitemviews/kitemlistcontroller.h @@ -137,7 +137,7 @@ Q_SIGNALS: * Is emitted if more than one item has been activated by pressing Return/Enter * when having a selection. */ - void itemsActivated(const KItemSet& indexes); + void itemsActivated(const KItemSet &indexes); void itemMiddleClicked(int index); |
