X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a237f42ee3f4e5d190d5553637f4fa2ffbe5bc7c..9592ffcf9d8b0a0ecf72dde1b7bf5e4aacdec496:/src/kitemviews/kfileitemmodel.cpp diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 0d851dcd9..d81ddd965 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -63,7 +63,7 @@ KFileItemModel::KFileItemModel(KDirLister* dirLister, QObject* parent) : Q_ASSERT(dirLister); connect(dirLister, SIGNAL(canceled()), this, SLOT(slotCanceled())); - connect(dirLister, SIGNAL(completed()), this, SLOT(slotCompleted())); + connect(dirLister, SIGNAL(completed(KUrl)), this, SLOT(slotCompleted())); connect(dirLister, SIGNAL(newItems(KFileItemList)), this, SLOT(slotNewItems(KFileItemList))); connect(dirLister, SIGNAL(itemsDeleted(KFileItemList)), this, SLOT(slotItemsDeleted(KFileItemList))); connect(dirLister, SIGNAL(refreshItems(QList >)), this, SLOT(slotRefreshItems(QList >))); @@ -367,6 +367,7 @@ void KFileItemModel::setRoles(const QSet& roles) } } + m_groups.clear(); resetRoles(); QSetIterator it(roles); @@ -1187,12 +1188,8 @@ QHash KFileItemModel::retrieveData(const KFileItem& item) if (forceRootExpansionLevel) { m_rootExpansionLevel = ForceRootExpansionLevel; } else { - const QString rootDir = rootUrl.directory(KUrl::AppendTrailingSlash); + const QString rootDir = rootUrl.path(KUrl::AddTrailingSlash); m_rootExpansionLevel = rootDir.count('/'); - if (m_rootExpansionLevel == 1) { - // Special case: The root is already reached and no parent is available - --m_rootExpansionLevel; - } } } @@ -1200,7 +1197,7 @@ QHash KFileItemModel::retrieveData(const KFileItem& item) data.insert("expansionLevel", -1); } else { const QString dir = item.url().directory(KUrl::AppendTrailingSlash); - const int level = dir.count('/') - m_rootExpansionLevel - 1; + const int level = dir.count('/') - m_rootExpansionLevel; data.insert("expansionLevel", level); } }