diff options
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 8a102c94f..1e29716d3 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -842,9 +842,22 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) m_dirLister->stop(); bool openDir = true; - bool keepOldDirs = isColumnViewActive() && !reload; + bool keepOldDirs = isColumnViewActive(); if (keepOldDirs) { - if (m_dirLister->directories().contains(url)) { + if (reload) { + keepOldDirs = false; + + const KUrl& dirListerUrl = m_dirLister->url(); + if (dirListerUrl.isValid()) { + const KUrl::List dirs = m_dirLister->directories(); + KUrl url; + foreach (url, dirs) { + m_dirLister->updateDirectory(url); + } + openDir = false; + } + } + else if (m_dirLister->directories().contains(url)) { // The dir lister contains the directory already, so // KDirLister::openUrl() may not been invoked twice. m_dirLister->updateDirectory(url); |
