return m_singleClickActivationEnforced;
}
-bool KItemListController::showEvent(QShowEvent* event)
-{
- Q_UNUSED(event);
- return false;
-}
-
-bool KItemListController::hideEvent(QHideEvent* event)
-{
- Q_UNUSED(event);
- return false;
-}
-
bool KItemListController::keyPressEvent(QKeyEvent* event)
{
int index = m_selectionManager->currentItem();
const bool shiftPressed = event->modifiers() & Qt::ShiftModifier;
const bool controlPressed = event->modifiers() & Qt::ControlModifier;
const bool shiftOrControlPressed = shiftPressed || controlPressed;
+ const bool navigationPressed = key == Qt::Key_Home || key == Qt::Key_End ||
+ key == Qt::Key_Up || key == Qt::Key_Down ||
+ key == Qt::Key_Left || key == Qt::Key_Right;
const int itemCount = m_model->count();
}
}
- const bool selectSingleItem = m_selectionBehavior != NoSelection &&
- itemCount == 1 &&
- (key == Qt::Key_Home || key == Qt::Key_End ||
- key == Qt::Key_Up || key == Qt::Key_Down ||
- key == Qt::Key_Left || key == Qt::Key_Right);
+ const bool selectSingleItem = m_selectionBehavior != NoSelection && itemCount == 1 && navigationPressed;
+
if (selectSingleItem) {
const int current = m_selectionManager->currentItem();
m_selectionManager->setSelected(current);
}
}
}
- // fall through
- // to the default case and add the Space to the current search string.
+ Q_FALLTHROUGH(); // fall through to the default case and add the Space to the current search string.
default:
m_keyboardManager->addKeys(event->text());
// Make sure unconsumed events get propagated up the chain. #302329
}
break;
}
+ }
- m_view->scrollToItem(index);
+ if (navigationPressed) {
+ if (index < m_view->firstVisibleIndex() || index > m_view->lastVisibleIndex()) {
+ m_view->scrollToItem(index);
+ }
}
return true;
}