diff options
| author | Peter Penz <[email protected]> | 2011-08-24 18:11:55 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-08-24 18:12:52 +0200 |
| commit | 84010807786c352aaeb2320caf27e5f9048d8dec (patch) | |
| tree | 5b9c5fe51b397bcc906f51061dc20303ed744c1d /src/kitemviews/kfileitemmodel.cpp | |
| parent | 6e0d247d3101eb131a636e885947a6dde313422c (diff) | |
Interface cleanups for drag and drop support
Diffstat (limited to 'src/kitemviews/kfileitemmodel.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 22 |
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()) { |
