X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2bce082049cf757709237daa7636d3e9109baa60..bbc814c7fa79b545ceef3e6f7eaf00398eef896c:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 8a102c94f..bb84d32c0 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -295,8 +295,8 @@ void DolphinView::renameSelectedItems() name.replace(replaceIndex, 1, number); if (oldUrl.fileName() != name) { - KUrl newUrl(oldUrl.upUrl()); - newUrl.addPath(name); + KUrl newUrl = oldUrl; + newUrl.setFileName(name); m_mainWindow->rename(oldUrl, newUrl); } ++it; @@ -323,8 +323,8 @@ void DolphinView::renameSelectedItems() } else { const KUrl& oldUrl = urls.first(); - KUrl newUrl = oldUrl.upUrl(); - newUrl.addPath(newName); + KUrl newUrl = oldUrl; + newUrl.setFileName(newName); m_mainWindow->rename(oldUrl, newUrl); } } @@ -355,11 +355,6 @@ int DolphinView::contentsY() const return itemView()->verticalScrollBar()->value(); } -void DolphinView::refreshSettings() -{ - startDirLister(m_urlNavigator->url()); -} - void DolphinView::emitRequestItemInfo(const KUrl& url) { emit requestItemInfo(url); @@ -842,9 +837,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);