diff options
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()) { |
