1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-07 10:51:45 +00:00

Minimize the duplicate items problem when using a proxy model and letting KDirLister keep its old directories.

svn path=/trunk/KDE/kdebase/apps/; revision=647294
This commit is contained in:
Peter Penz 2007-03-27 21:43:47 +00:00
parent c5534a5f93
commit b67c098347
2 changed files with 10 additions and 6 deletions

View File

@ -55,6 +55,7 @@ DolphinSortFilterProxyModel::DolphinSortFilterProxyModel(QObject* parent) :
// sort by the user visible string for now
setSortRole(Qt::DisplayRole);
setSortCaseSensitivity(Qt::CaseInsensitive);
sort(KDirModel::Name, Qt::Ascending);
}
DolphinSortFilterProxyModel::~DolphinSortFilterProxyModel()

View File

@ -841,12 +841,15 @@ void DolphinView::startDirLister(const KUrl& url, bool reload)
m_blockContentsMovedSignal = true;
m_dirLister->stop();
bool keepOldDirs = isColumnViewActive();
if (keepOldDirs && !m_dirLister->url().isParentOf(url)) {
// The current URL is not a child of the dir lister
// URL. This may happen when e. g. a bookmark has been selected
// and hence the view must be reset.
keepOldDirs = false;
bool keepOldDirs = isColumnViewActive() && !reload;
if (keepOldDirs) {
const KUrl& dirListerUrl = m_dirLister->url();
if ((dirListerUrl == url) || !m_dirLister->url().isParentOf(url)) {
// The current URL is not a child of the dir lister
// URL. This may happen when e. g. a bookmark has been selected
// and hence the view must be reset.
keepOldDirs = false;
}
}
m_dirLister->openUrl(url, keepOldDirs, reload);
}