From 321c5cded30388ba6d50b1f70d84109049348cac Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 10 Jun 2007 11:54:12 +0000 Subject: [PATCH] don't reset the x-position to 0 in the Column View, if a new directory is loaded svn path=/trunk/KDE/kdebase/apps/; revision=673500 --- src/dolphinview.cpp | 13 +++++++++---- src/dolphinview.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 65ec4c9d30..d69626f65f 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -61,7 +61,7 @@ DolphinView::DolphinView(QWidget* parent, Mode mode) : QWidget(parent), m_active(true), - m_blockContentsMovedSignal(false), + m_loadingDirectory(false), m_initializeColumnView(false), m_mode(mode), m_topLayout(0), @@ -337,7 +337,7 @@ void DolphinView::setContentsPosition(int x, int y) view->horizontalScrollBar()->setValue(x); view->verticalScrollBar()->setValue(y); - m_blockContentsMovedSignal = false; + m_loadingDirectory = false; } QPoint DolphinView::contentsPosition() const @@ -541,7 +541,7 @@ void DolphinView::startDirLister(const KUrl& url, bool reload) } m_cutItemsCache.clear(); - m_blockContentsMovedSignal = true; + m_loadingDirectory = true; m_dirLister->stop(); @@ -754,7 +754,12 @@ void DolphinView::updateSortOrder(Qt::SortOrder order) void DolphinView::emitContentsMoved() { - if (!m_blockContentsMovedSignal) { + // only emit the contents moved signal if: + // - no directory loading is ongoing (this would reset the contents position + // always to (0, 0)) + // - if the Column View is active: the column view does an automatic + // positioning during the loading operation, which must be remembered + if (!m_loadingDirectory || isColumnViewActive()) { const QPoint pos(contentsPosition()); emit contentsMoved(pos.x(), pos.y()); } diff --git a/src/dolphinview.h b/src/dolphinview.h index ebca53e99a..3d0f9a548d 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -527,7 +527,7 @@ private: }; bool m_active; - bool m_blockContentsMovedSignal; + bool m_loadingDirectory; bool m_initializeColumnView; Mode m_mode;