diff options
| author | Peter Penz <[email protected]> | 2007-05-17 10:06:37 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-05-17 10:06:37 +0000 |
| commit | 6d88d801baf44dafa11975fde1007ea53063db29 (patch) | |
| tree | 4652a36959032cb441788399e4cde2eea06f8806 | |
| parent | fb37c0fb53493181de9390397ef7c35d7041ab23 (diff) | |
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
| -rw-r--r-- | src/sidebartreeview.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
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(); |
