updateViewportColor();
}
-void DolphinView::setUrl(const KUrl& url)
+void DolphinView::updateView(const KUrl& url, const KUrl& rootUrl)
{
if (m_controller->url() == url) {
return;
}
+ const bool restoreColumnView = !isColumnViewActive()
+ && !rootUrl.isEmpty()
+ && !rootUrl.equals(url, KUrl::CompareWithoutTrailingSlash)
+ && rootUrl.isParentOf(url);
+
m_controller->setUrl(url); // emits urlChanged, which we forward
- applyViewProperties(url);
+ if (restoreColumnView) {
+ applyViewProperties(rootUrl);
+ Q_ASSERT(itemView() == m_columnView);
+ startDirLister(rootUrl);
+ m_columnView->showColumn(url);
+ } else {
+ applyViewProperties(url);
+ startDirLister(url);
+ }
- startDirLister(url);
itemView()->setFocus();
+
+ emit startedPathLoading(url);
+}
+
+void DolphinView::setUrl(const KUrl& url)
+{
+ updateView(url, KUrl());
}
void DolphinView::mouseReleaseEvent(QMouseEvent* event)