From 13b36768575964d9009e94c38cd37db61d823632 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 8 May 2007 20:40:46 +0000 Subject: [PATCH] fix issue in column view that the wrong root directory is taken because of keeping old directories in KDirLister svn path=/trunk/KDE/kdebase/apps/; revision=662658 --- src/dolphinview.cpp | 13 ++++++++++++- src/dolphinview.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 4c2c5f02db..64722e1e21 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -67,6 +67,7 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow, QWidget(parent), m_showProgress(false), m_blockContentsMovedSignal(false), + m_initializeColumnView(false), m_mode(mode), m_iconSize(0), m_folderCount(0), @@ -650,6 +651,14 @@ void DolphinView::changeDirectory(const KUrl& url) m_mode = mode; createView(); emit modeChanged(); + + if (m_mode == ColumnView) { + // The mode has been changed to the Column View. When starting the dir + // lister with DolphinView::startDirLister() it is important to give a + // hint that the dir lister may not keep the current directory + // although this is the default for showing a hierarchy. + m_initializeColumnView = true; + } } const bool showHiddenFiles = props.showHiddenFiles(); @@ -896,7 +905,9 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) m_dirLister->stop(); bool openDir = true; - bool keepOldDirs = isColumnViewActive(); + bool keepOldDirs = isColumnViewActive() && !m_initializeColumnView; + m_initializeColumnView = false; + if (keepOldDirs) { if (reload) { keepOldDirs = false; diff --git a/src/dolphinview.h b/src/dolphinview.h index 953e8f11d3..3fe29cd550 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -593,6 +593,7 @@ private: bool m_showProgress; bool m_blockContentsMovedSignal; + bool m_initializeColumnView; Mode m_mode; int m_iconSize;