From 84010807786c352aaeb2320caf27e5f9048d8dec Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 24 Aug 2011 18:11:55 +0200 Subject: Interface cleanups for drag and drop support --- src/kitemviews/kfileitemmodel.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/kitemviews/kfileitemmodel.cpp') diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index c54a982f6..5e3269799 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #define KFILEITEMMODEL_DEBUG @@ -132,6 +133,27 @@ bool KFileItemModel::supportsSorting() const return true; } +QMimeData* KFileItemModel::createMimeData(const QSet& indexes) const +{ + QMimeData* data = new QMimeData(); + + KUrl::List urls; + urls.reserve(indexes.count()); + + QSetIterator it(indexes); + while (it.hasNext()) { + const int index = it.next(); + const KUrl url = fileItem(index).url(); + if (url.isValid() && !url.isEmpty()) { + urls.append(url); + } + } + + urls.populateMimeData(data); + + return data; +} + KFileItem KFileItemModel::fileItem(int index) const { if (index >= 0 && index < count()) { -- cgit v1.3