┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-05-17 10:06:37 +0000
committerPeter Penz <[email protected]>2007-05-17 10:06:37 +0000
commit6d88d801baf44dafa11975fde1007ea53063db29 (patch)
tree4652a36959032cb441788399e4cde2eea06f8806
parentfb37c0fb53493181de9390397ef7c35d7041ab23 (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.cpp9
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();