From 49f881f5ec01014e7b6b0c7fa14abd7e99f605fc Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 11 Mar 2007 11:13:07 +0000 Subject: Fixed some drag & drop issues: - allow drag & drop inside the view - prevent a dragging from a directory into itself - use QModelIndex instead of the position svn path=/trunk/KDE/kdebase/apps/; revision=641451 --- src/dolphindetailsview.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/dolphindetailsview.cpp') diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 773779976..c019f8eb0 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -43,6 +43,8 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setSortingEnabled(true); setUniformRowHeights(true); setSelectionBehavior(SelectItems); + setDragDropMode(QAbstractItemView::DragDrop); + setDropIndicatorShown(false); viewport()->setAttribute(Qt::WA_Hover); @@ -145,13 +147,13 @@ void DolphinDetailsView::dragEnterEvent(QDragEnterEvent* event) void DolphinDetailsView::dropEvent(QDropEvent* event) { const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (urls.isEmpty() || (event->source() == this)) { - QTreeView::dropEvent(event); - } - else { + if (!urls.isEmpty()) { event->acceptProposedAction(); - m_controller->indicateDroppedUrls(urls, event->pos()); + m_controller->indicateDroppedUrls(urls, + indexAt(event->pos()), + event->source()); } + QTreeView::dropEvent(event); } void DolphinDetailsView::setSortIndicatorSection(DolphinView::Sorting sorting) -- cgit v1.3