+
+ if (activated) {
+ switch (selectionBehavior) {
+ case KItemListController::MultiSelection:
+ if (!selection.isEmpty()) {
+ // The selected items should be activated.
+ if (selection.count() == 1) {
+ QVERIFY(!spySingleItemActivated.isEmpty());
+ QCOMPARE(qvariant_cast<int>(spySingleItemActivated.takeFirst().at(0)), selection.toList().at(0));
+ QVERIFY(spyMultipleItemsActivated.isEmpty());
+ } else {
+ QVERIFY(spySingleItemActivated.isEmpty());
+ QVERIFY(!spyMultipleItemsActivated.isEmpty());
+ QCOMPARE(qvariant_cast<QSet<int> >(spyMultipleItemsActivated.takeFirst().at(0)), selection);
+ }
+ break;
+ }
+ // No items are selected. Therefore, the current item should be activated.
+ // This is handled by falling through to the NoSelection/SingleSelection case.
+ case KItemListController::NoSelection:
+ case KItemListController::SingleSelection:
+ // In NoSelection and SingleSelection mode, the current item should be activated.
+ QVERIFY(!spySingleItemActivated.isEmpty());
+ QCOMPARE(qvariant_cast<int>(spySingleItemActivated.takeFirst().at(0)), current);
+ QVERIFY(spyMultipleItemsActivated.isEmpty());
+ break;
+ }
+ }