From d1676999327c6135ee2ea4087313f8ab70ea2acd Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Tue, 23 Apr 2013 22:50:01 +0200 Subject: [PATCH] Scroll to newly pasted files. If multiple files are pasted, scroll to the first pasted file. BUG: 315722 REVIEW: 109950 FIXED-IN: 4.11.0 --- src/views/dolphinview.cpp | 13 +++++++++++-- src/views/dolphinview.h | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index d1e154f68..abf572fec 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -102,6 +102,7 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) : m_restoredContentsPosition(), m_selectedUrls(), m_clearSelectionBeforeSelectingNewItems(false), + m_markFirstNewlySelectedItemAsCurrent(false), m_versionControlObserver(0) { m_topLayout = new QVBoxLayout(this); @@ -1070,7 +1071,13 @@ void DolphinView::slotMouseButtonPressed(int itemIndex, Qt::MouseButtons buttons void DolphinView::slotAboutToCreate(const KUrl::List& urls) { - m_selectedUrls << urls; + if (!urls.isEmpty()) { + if (m_markFirstNewlySelectedItemAsCurrent) { + markUrlAsCurrent(urls.first()); + m_markFirstNewlySelectedItemAsCurrent = false; + } + m_selectedUrls << urls; + } } void DolphinView::slotSelectionChanged(const QSet& current, const QSet& previous) @@ -1225,10 +1232,11 @@ void DolphinView::updateViewState() m_view->scrollToItem(currentIndex); m_scrollToCurrentItem = false; } + + m_currentItemUrl = KUrl(); } else { selectionManager->setCurrentItem(0); } - m_currentItemUrl = KUrl(); } if (!m_restoredContentsPosition.isNull()) { @@ -1533,6 +1541,7 @@ void DolphinView::pasteToUrl(const KUrl& url) KonqOperations* op = KonqOperations::doPasteV2(this, url); if (op) { m_clearSelectionBeforeSelectingNewItems = true; + m_markFirstNewlySelectedItemAsCurrent = true; connect(op, SIGNAL(aboutToCreate(KUrl::List)), this, SLOT(slotAboutToCreate(KUrl::List))); } } diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 13cc66545..e50dffcd8 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -769,6 +769,7 @@ private: QList m_selectedUrls; // Used for making the view to remember selections after F5 bool m_clearSelectionBeforeSelectingNewItems; + bool m_markFirstNewlySelectedItemAsCurrent; VersionControlObserver* m_versionControlObserver; -- 2.47.3