From 8e68c4235daee7ab269f6b497a28ea15b11ac543 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 5 May 2012 22:02:21 +0200 Subject: [PATCH] Assure that a newly created item gets selected/focused and visible Thanks to Franz Fellner for the patch! CCBUG: 291064 CCMAIL: alpine.art.de@googlemail.com --- src/views/dolphinview.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 2f744386f..f738dc078 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -1124,23 +1124,23 @@ KFileItem DolphinView::rootItem() const void DolphinView::observeCreatedItem(const KUrl& url) { m_createdItemUrl = url; - //connect(m_dirModel, SIGNAL(rowsInserted(QModelIndex,int,int)), - // this, SLOT(selectAndScrollToCreatedItem())); + connect(m_model, SIGNAL(directoryLoadingCompleted()), + this, SLOT(selectAndScrollToCreatedItem())); } void DolphinView::selectAndScrollToCreatedItem() { - /*const QModelIndex dirIndex = m_viewAccessor.dirModel()->indexForUrl(m_createdItemUrl); - if (dirIndex.isValid()) { - const QModelIndex proxyIndex = m_viewAccessor.proxyModel()->mapFromSource(dirIndex); - QAbstractItemView* view = m_viewAccessor.itemView(); - if (view) { - view->setCurrentIndex(proxyIndex); - } + KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager(); + const int index = m_model->index(m_createdItemUrl); + if (index != -1) { + selectionManager->setCurrentItem(index); + selectionManager->clearSelection(); + selectionManager->setSelected(index); + m_view->scrollToItem(index); } - disconnect(m_viewAccessor.dirModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(selectAndScrollToCreatedItem()));*/ + disconnect(m_model, SIGNAL(directoryLoadingCompleted()), + this, SLOT(selectAndScrollToCreatedItem())); m_createdItemUrl = KUrl(); } -- 2.47.3