From 248ce7c57a86f964c82c8e0b48e9c07d52c3934e Mon Sep 17 00:00:00 2001 From: Simon Paul St James Date: Sun, 25 Jan 2009 19:46:08 +0000 Subject: Refactor the folder expansion system. Main effect: instead of having a list of m_expandedViews which cannot yet be deleted, we more accurately identify the current source of the drag operation if any and store only this for later deletion. This also fixes folder-expansion not working in Column view. svn path=/trunk/KDE/kdebase/apps/; revision=916701 --- src/draganddrophelper.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/draganddrophelper.cpp') diff --git a/src/draganddrophelper.cpp b/src/draganddrophelper.cpp index 3ff7d296a..002394155 100644 --- a/src/draganddrophelper.cpp +++ b/src/draganddrophelper.cpp @@ -80,10 +80,18 @@ void DragAndDropHelper::startDrag(QAbstractItemView* itemView, } drag->setPixmap(pixmap); drag->setMimeData(data); + + m_dragSource = itemView; drag->exec(supportedActions, Qt::IgnoreAction); + m_dragSource = 0; } } +bool DragAndDropHelper::isDragSource(QAbstractItemView* itemView) +{ + return (m_dragSource != 0) && (m_dragSource == itemView); +} + void DragAndDropHelper::dropUrls(const KFileItem& destItem, const KUrl& destPath, QDropEvent* event, @@ -115,6 +123,7 @@ void DragAndDropHelper::dropUrls(const KFileItem& destItem, } DragAndDropHelper::DragAndDropHelper() + : m_dragSource(0) { } -- cgit v1.3