diff options
| author | Peter Penz <[email protected]> | 2012-02-16 15:13:23 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-02-16 16:23:00 +0100 |
| commit | 613758b5ec7c57a5c115ae7a40ccaff71b923db2 (patch) | |
| tree | 6dea8f9267d72bafeec56f76a7f8d8877172218c /src/kitemviews/kitemlistview.cpp | |
| parent | 1a4ca3edb1f432b11a3d8d77a24e708ba5ea68b2 (diff) | |
Compact view: Padding- and margin-improvements for grouped alignments
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 4f0d68d2e..b7d4c2470 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1720,7 +1720,7 @@ void KItemListView::updateGroupHeaderLayout(KItemListWidget* widget) groupHeader->setPos(-widget->x(), -groupHeaderRect.height()); groupHeader->resize(size().width(), groupHeaderRect.size().height()); } else { - groupHeader->setPos(groupHeaderRect.x() - itemRect.x(), -groupHeaderRect.height()); + groupHeader->setPos(groupHeaderRect.x() - itemRect.x(), -widget->y()); groupHeader->resize(groupHeaderRect.size()); } } @@ -1976,15 +1976,21 @@ bool KItemListView::scrollBarRequired(const QSizeF& size) const void KItemListView::updateGroupHeaderHeight() { - const qreal groupHeaderHeight = m_styleOption.fontMetrics.height() + m_styleOption.padding * 2; - + qreal groupHeaderHeight = m_styleOption.fontMetrics.height(); qreal groupHeaderMargin = 0; + if (scrollOrientation() == Qt::Horizontal) { + // The vertical margin above and below the header should be + // equal to the horizontal margin, not the vertical margin + // from m_styleOption. + groupHeaderHeight += 2 * m_styleOption.horizontalMargin; groupHeaderMargin = m_styleOption.horizontalMargin; } else if (m_itemSize.isEmpty()){ - groupHeaderMargin = groupHeaderHeight / 2; + groupHeaderHeight += 2 * m_styleOption.padding; + groupHeaderMargin = m_styleOption.iconSize / 2; } else { - groupHeaderMargin = m_styleOption.verticalMargin * 2; + groupHeaderHeight += 2 * m_styleOption.padding; + groupHeaderMargin = m_styleOption.iconSize / 4; } m_layouter->setGroupHeaderHeight(groupHeaderHeight); m_layouter->setGroupHeaderMargin(groupHeaderMargin); |
