flag. This completely fixes the problem for all cases, the problem was the hovered cached index being updated at indexAt() method used for general purposes. Now it is
updated on the MouseMove method, and this gives consistence.
CCMAIL: peter.penz@gmx.at
svn path=/trunk/KDE/kdebase/apps/; revision=748970
option.state |= QStyle::State_Editing;
}
option.state |= QStyle::State_Editing;
}
- if ((index == d->hovered) && !d->mouseButtonPressed && (this->state() != QAbstractItemView::DraggingState))
+ // we are only interested to give the mouse over feedback when no
+ // dragging is happening (ereslibre)
+ if ((index == d->hovered) && !d->mouseButtonPressed &&
+ (this->state() == QAbstractItemView::NoState))
option.state |= QStyle::State_MouseOver;
else
option.state &= ~QStyle::State_MouseOver;
option.state |= QStyle::State_MouseOver;
else
option.state &= ~QStyle::State_MouseOver;
+ QModelIndexList item = d->intersectionSet(QRect(event->pos(), event->pos()));
+
+ if (item.count() == 1)
+ {
+ d->hovered = item[0];
+ }
+ else
+ {
+ d->hovered = QModelIndex();
+ }
+
const QString previousHoveredCategory = d->hoveredCategory;
d->mousePosition = event->pos();
const QString previousHoveredCategory = d->hoveredCategory;
d->mousePosition = event->pos();