diff options
| author | Peter Penz <[email protected]> | 2007-03-30 05:51:05 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-30 05:51:05 +0000 |
| commit | 271d620f3d171066dbb50e1de906922796ae029d (patch) | |
| tree | 428b573c3293f4d7cbdedf410be6acae0d854f4c /src/dolphinview.cpp | |
| parent | f8a61efc8d03532d5b22cae0bdc65afc90303509 (diff) | |
take care when reloading KDirLister if a column view is shown
svn path=/trunk/KDE/kdebase/apps/; revision=648001
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); |
