std::swap(nextItemKey, previousItemKey);
break;
case KFileItemListView::CompactLayout:
- std::swap(nextItemKey, previousItemKey);
+ std::swap(nextRowKey, previousRowKey);
break;
default:
break;
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 1);
spyItemActivated.clear();
+ QVERIFY2(!m_view->controller()->selectionManager()->hasSelection(), "An item should not be implicitly selected during activation. @see bug 424723");
// Set the global setting to "double click activation".
m_testStyle->setActivateItemOnSingleClick(false);
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 0);
spyItemActivated.clear();
+ QVERIFY(m_view->controller()->selectionManager()->hasSelection());
// Enforce single click activation in the controller.
m_controller->setSingleClickActivationEnforced(true);
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 1);
spyItemActivated.clear();
+ constexpr const char *reasonWhySelectionShouldPersist = "An item was selected before this mouse click. The click should not have cleared this selection.";
+ QVERIFY2(m_view->controller()->selectionManager()->hasSelection(), reasonWhySelectionShouldPersist);
// Do not enforce single click activation in the controller.
m_controller->setSingleClickActivationEnforced(false);
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 0);
spyItemActivated.clear();
+ QVERIFY2(m_view->controller()->selectionManager()->hasSelection(), reasonWhySelectionShouldPersist);
// Set the global setting back to "single click activation".
m_testStyle->setActivateItemOnSingleClick(true);
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 1);
spyItemActivated.clear();
+ QVERIFY2(m_view->controller()->selectionManager()->hasSelection(), reasonWhySelectionShouldPersist);
// Enforce single click activation in the controller.
m_controller->setSingleClickActivationEnforced(true);
m_view->event(&mouseReleaseEvent);
QCOMPARE(spyItemActivated.count(), 1);
spyItemActivated.clear();
+ QVERIFY2(m_view->controller()->selectionManager()->hasSelection(), reasonWhySelectionShouldPersist);
// Restore previous settings.
m_controller->setSingleClickActivationEnforced(true);