From 756c648f62d03749fe464e6bb0b3d3595a4ced99 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 15 Dec 2011 00:04:57 +0100 Subject: [PATCH] Don't show an expansion toggle for locked expansions --- src/kitemviews/kfileitemlistwidget.cpp | 18 ++++++++++-------- src/kitemviews/kfileitemmodel.cpp | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp index 13832a80b..7fce4b74d 100644 --- a/src/kitemviews/kfileitemlistwidget.cpp +++ b/src/kitemviews/kfileitemlistwidget.cpp @@ -424,15 +424,17 @@ void KFileItemListWidget::updateExpansionArea() Q_ASSERT(values.contains("expansionLevel")); const KItemListStyleOption& option = styleOption(); const int expansionLevel = values.value("expansionLevel", 0).toInt(); - - const qreal widgetHeight = size().height(); - const qreal expansionLevelSize = KIconLoader::SizeSmall; - const qreal x = option.margin + expansionLevel * widgetHeight; - const qreal y = (widgetHeight - expansionLevelSize) / 2; - m_expansionArea = QRectF(x, y, expansionLevelSize, expansionLevelSize); - } else { - m_expansionArea = QRectF(); + if (expansionLevel >= 0) { + const qreal widgetHeight = size().height(); + const qreal expansionLevelSize = KIconLoader::SizeSmall; + const qreal x = option.margin + expansionLevel * widgetHeight; + const qreal y = (widgetHeight - expansionLevelSize) / 2; + m_expansionArea = QRectF(x, y, expansionLevelSize, expansionLevelSize); + return; + } } + + m_expansionArea = QRectF(); } void KFileItemListWidget::updatePixmapCache() diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index ed45e6975..04e3c8ca7 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -1158,7 +1158,7 @@ QHash KFileItemModel::retrieveData(const KFileItem& item) } if (m_rootExpansionLevel == ForceRootExpansionLevel) { - data.insert("expansionLevel", 0); + data.insert("expansionLevel", -1); } else { const QString dir = item.url().directory(KUrl::AppendTrailingSlash); const int level = dir.count('/') - m_rootExpansionLevel - 1; -- 2.47.3