From: Peter Penz Date: Thu, 17 May 2007 10:06:37 +0000 (+0000) Subject: improve drag & drop support for treeview sidebar: X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/6d88d801baf44dafa11975fde1007ea53063db29 improve drag & drop support for treeview sidebar: - allow to drag items within the tree - expand nodes automatically during a drag & drop operation svn path=/trunk/KDE/kdebase/apps/; revision=665588 --- diff --git a/src/sidebartreeview.cpp b/src/sidebartreeview.cpp index b6f9dc4a6..a40d26c13 100644 --- a/src/sidebartreeview.cpp +++ b/src/sidebartreeview.cpp @@ -34,6 +34,9 @@ SidebarTreeView::SidebarTreeView(QWidget* parent) : setEditTriggers(QAbstractItemView::NoEditTriggers); setSortingEnabled(true); setFrameStyle(QFrame::NoFrame); + setDragDropMode(QAbstractItemView::DragDrop); + setDropIndicatorShown(false); + setAutoExpandDelay(300); viewport()->setAttribute(Qt::WA_Hover); @@ -42,7 +45,8 @@ SidebarTreeView::SidebarTreeView(QWidget* parent) : } SidebarTreeView::~SidebarTreeView() -{} +{ +} bool SidebarTreeView::event(QEvent* event) { @@ -65,12 +69,13 @@ void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event) if (event->mimeData()->hasUrls()) { event->acceptProposedAction(); } + QTreeView::dragEnterEvent(event); } void SidebarTreeView::dropEvent(QDropEvent* event) { const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (urls.isEmpty() || (event->source() == this)) { + if (urls.isEmpty()) { QTreeView::dropEvent(event); } else { event->acceptProposedAction();