┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kcategorizedview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kcategorizedview.cpp')
-rw-r--r--src/kcategorizedview.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/kcategorizedview.cpp b/src/kcategorizedview.cpp
index 3255de9a4..cc83e2de9 100644
--- a/src/kcategorizedview.cpp
+++ b/src/kcategorizedview.cpp
@@ -98,6 +98,17 @@ const QModelIndexList &KCategorizedView::Private::intersectionSet(const QRect &r
intersectedIndexes.clear();
+ int itemHeight;
+
+ if (listView->gridSize().isEmpty())
+ {
+ itemHeight = biggestItemSize.height();
+ }
+ else
+ {
+ itemHeight = listView->gridSize().height();
+ }
+
// Lets find out where we should start
int top = proxyModel->rowCount() - 1;
int bottom = 0;
@@ -108,10 +119,13 @@ const QModelIndexList &KCategorizedView::Private::intersectionSet(const QRect &r
index = elementDictionary[proxyModel->index(middle, 0)];
indexVisualRect = visualRect(index);
+ // We need the whole height (not only the visualRect). This will help us to update
+ // all needed indexes correctly (ereslibre)
+ indexVisualRect.setHeight(indexVisualRect.height() + (itemHeight - indexVisualRect.height()));
if (qMax(indexVisualRect.topLeft().y(),
indexVisualRect.bottomRight().y()) < qMin(rect.topLeft().y(),
- rect.bottomRight().y()))
+ rect.bottomRight().y()))
{
bottom = middle + 1;
}