Commit cd369a15 authored by Felix Ernst's avatar Felix Ernst 🇺🇦
Browse files

Always select items on activation

There is an unintended side-effect in
d3839617 which this MR fixes.

Normally in Dolphin, when clicking on an item to open/activate it,
it is both selected by the click and opened/activated.

Prior to this MR, the item wasn't selected when all of these
conditions were met:
- Use ActivateItemOnSingleClick also knwon as single-click mode
- Have more than one item selected already
- Click on an item that was previously not selected

Prior to this MR, the click would deselect all items and
activate the clicked item but not select it.

With this MR, the click will deselect all items, activate
the clicked item and also select it and move the anchor there.

When testing this with folders, make sure to navigate back after activating the folder. The folder should then still be selected.

This is then consistent with the behaviour when the specific
conditions mentioned above are not met.
parent e8dc49e4
Pipeline #145045 passed with stage
in 1 minute and 43 seconds
......@@ -1521,6 +1521,12 @@ bool KItemListController::onPress(const QPoint& screenPos, const QPointF& pos, c
// and short-circuit for single-click activation (it will then propagate to onRelease and activate the item)
// or we just keep going for double-click activation
if (m_view->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick) || m_singleClickActivationEnforced) {
if (!pressedItemAlreadySelected) {
// An unselected item was clicked directly while deselecting multiple other items so we select it.
m_selectionManager->setSelected(m_pressedIndex.value(), 1, KItemListSelectionManager::Toggle);
m_selectionManager->setCurrentItem(m_pressedIndex.value());
m_selectionManager->beginAnchoredSelection(m_pressedIndex.value());
}
return true; // event handled, don't create rubber band
}
} else {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment