diff options
| author | arnav dhamija <[email protected]> | 2017-02-13 22:23:41 +0530 |
|---|---|---|
| committer | arnav dhamija <[email protected]> | 2017-02-13 22:23:41 +0530 |
| commit | 41253c0c81bafb54a0b6c82e5282e3add85e8a50 (patch) | |
| tree | 9a5ccfbade73ee481884ac53aa7e2fe724f25272 /src/kitemviews/private/kitemlistsizehintresolver.cpp | |
| parent | 67099640b90588af1c72c340756253400da3e95b (diff) | |
| parent | 7fce8f0e9b1e0bb2deb6e32fe88d5411b9be2834 (diff) | |
Merge branch 'master' of git.kde.org:dolphin
Diffstat (limited to 'src/kitemviews/private/kitemlistsizehintresolver.cpp')
| -rw-r--r-- | src/kitemviews/private/kitemlistsizehintresolver.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/kitemviews/private/kitemlistsizehintresolver.cpp b/src/kitemviews/private/kitemlistsizehintresolver.cpp index 1d8067026..02f1865b3 100644 --- a/src/kitemviews/private/kitemlistsizehintresolver.cpp +++ b/src/kitemviews/private/kitemlistsizehintresolver.cpp @@ -25,6 +25,7 @@ KItemListSizeHintResolver::KItemListSizeHintResolver(const KItemListView* itemLi m_itemListView(itemListView), m_logicalHeightHintCache(), m_logicalWidthHint(0.0), + m_logicalHeightHint(0.0), m_needsResolving(false) { } @@ -33,6 +34,12 @@ KItemListSizeHintResolver::~KItemListSizeHintResolver() { } +QSizeF KItemListSizeHintResolver::maxSizeHint() +{ + updateCache(); + return QSizeF(m_logicalWidthHint, m_logicalHeightHint); +} + QSizeF KItemListSizeHintResolver::sizeHint(int index) { updateCache(); @@ -149,6 +156,12 @@ void KItemListSizeHintResolver::updateCache() { if (m_needsResolving) { m_itemListView->calculateItemSizeHints(m_logicalHeightHintCache, m_logicalWidthHint); + // Set logical height as the max cached height (if the cache is not empty). + if (m_logicalHeightHintCache.isEmpty()) { + m_logicalHeightHint = 0.0; + } else { + m_logicalHeightHint = *std::max_element(m_logicalHeightHintCache.begin(), m_logicalHeightHintCache.end()); + } m_needsResolving = false; } } |
