An item should only be triggered after a mouse release
event if the mouse press has been done at the same position.
m_selectionBehavior(NoSelection),
m_model(0),
m_view(0),
m_selectionBehavior(NoSelection),
m_model(0),
m_view(0),
- m_selectionManager(new KItemListSelectionManager(this))
+ m_selectionManager(new KItemListSelectionManager(this)),
+ m_pressedIndex(-1)
{
Q_UNUSED(event);
Q_UNUSED(transform);
{
Q_UNUSED(event);
Q_UNUSED(transform);
+ const QPointF pos = transform.map(event->pos());
+ m_pressedIndex = m_view->itemAt(pos);
if (m_view) {
const QPointF pos = transform.map(event->pos());
const int index = m_view->itemAt(pos);
if (m_view) {
const QPointF pos = transform.map(event->pos());
const int index = m_view->itemAt(pos);
+ if (index >= 0 && index == m_pressedIndex) {
bool emitItemClicked = true;
if (event->button() & Qt::LeftButton) {
if (m_view->isAboveExpansionToggle(index, pos)) {
bool emitItemClicked = true;
if (event->button() & Qt::LeftButton) {
if (m_view->isAboveExpansionToggle(index, pos)) {
KItemModelBase* m_model;
KItemListView* m_view;
KItemListSelectionManager* m_selectionManager;
KItemModelBase* m_model;
KItemListView* m_view;
KItemListSelectionManager* m_selectionManager;