┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodel.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-08-24 18:11:55 +0200
committerPeter Penz <[email protected]>2011-08-24 18:12:52 +0200
commit84010807786c352aaeb2320caf27e5f9048d8dec (patch)
tree5b9c5fe51b397bcc906f51061dc20303ed744c1d /src/kitemviews/kfileitemmodel.cpp
parent6e0d247d3101eb131a636e885947a6dde313422c (diff)
Interface cleanups for drag and drop support
Diffstat (limited to 'src/kitemviews/kfileitemmodel.cpp')
-rw-r--r--src/kitemviews/kfileitemmodel.cpp22
1 files changed, 22 insertions, 0 deletions
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 <KStringHandler>
#include <KDebug>
+#include <QMimeData>
#include <QTimer>
#define KFILEITEMMODEL_DEBUG
@@ -132,6 +133,27 @@ bool KFileItemModel::supportsSorting() const
return true;
}
+QMimeData* KFileItemModel::createMimeData(const QSet<int>& indexes) const
+{
+ QMimeData* data = new QMimeData();
+
+ KUrl::List urls;
+ urls.reserve(indexes.count());
+
+ QSetIterator<int> 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()) {