summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <peter.penz19@gmail.com>2012-02-07 16:16:10 (GMT)
committerPeter Penz <peter.penz19@gmail.com>2012-02-07 16:17:54 (GMT)
commit44b8e12e54f53a687ece168baa97801b37ec09bb (patch)
tree9fe7cd6face6b02b473741cd94c942e045cf06bd
parent54a19b50e9ec0bf490c2e13a12b0d3c0c0c56a5e (diff)
Compact view: Don't hide items at the bottom when grouping is turned on
When grouping has been turned on, it was possible that items aligned at the bottom have been hidden. BUG: 291640 FIXED-IN: 4.8.1
-rw-r--r--dolphin/src/kitemviews/kitemlistviewlayouter.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/dolphin/src/kitemviews/kitemlistviewlayouter.cpp b/dolphin/src/kitemviews/kitemlistviewlayouter.cpp
index 4e7a910..e30c9aa 100644
--- a/dolphin/src/kitemviews/kitemlistviewlayouter.cpp
+++ b/dolphin/src/kitemviews/kitemlistviewlayouter.cpp
@@ -277,13 +277,24 @@ void KItemListViewLayouter::doLayout()
QSizeF itemSize = m_itemSize;
QSizeF size = m_size;
+
+ const bool grouped = createGroupHeaders();
const bool horizontalScrolling = (m_scrollOrientation == Qt::Horizontal);
if (horizontalScrolling) {
+ // Flip everything so that the layout logically can work like having
+ // a vertical scrolling
itemSize.setWidth(m_itemSize.height());
itemSize.setHeight(m_itemSize.width());
size.setWidth(m_size.height());
size.setHeight(m_size.width());
+
+ if (grouped) {
+ // In the horizontal scrolling case all groups are aligned
+ // at the top, which decreases the available height. For the
+ // flipped data this means that the width must be decreased.
+ size.rwidth() -= m_groupHeaderHeight;
+ }
}
m_columnWidth = itemSize.width();
@@ -311,8 +322,6 @@ void KItemListViewLayouter::doLayout()
qreal y = m_headerHeight;
int rowIndex = 0;
- const bool grouped = createGroupHeaders();
-
int index = 0;
while (index < itemCount) {
qreal x = m_xPosInc;