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/kfileitemlistview.cpp | |
| parent | 6e0d247d3101eb131a636e885947a6dde313422c (diff) | |
Interface cleanups for drag and drop support
Diffstat (limited to 'src/kitemviews/kfileitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemlistview.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp index a7217d30c..d9742945a 100644 --- a/src/kitemviews/kfileitemlistview.cpp +++ b/src/kitemviews/kfileitemlistview.cpp @@ -27,6 +27,7 @@ #include <KStringHandler> #include <KDebug> +#include <KIcon> #include <QTextLine> #include <QTimer> @@ -46,6 +47,8 @@ KFileItemListView::KFileItemListView(QGraphicsWidget* parent) : m_updateIconSizeTimer(0), m_minimumRolesWidths() { + setAcceptDrops(true); + setScrollOrientation(Qt::Vertical); setWidgetCreator(new KItemListWidgetCreator<KFileItemListWidget>()); setGroupHeaderCreator(new KItemListGroupHeaderCreator<KItemListGroupHeader>()); @@ -204,6 +207,26 @@ QHash<QByteArray, QSizeF> KFileItemListView::visibleRoleSizes() const return sizes; } +QPixmap KFileItemListView::createDragPixmap(const QSet<int>& indexes) const +{ + QPixmap pixmap; + + if (model()) { + QSetIterator<int> it(indexes); + while (it.hasNext()) { + const int index = it.next(); + // TODO: Only one item is considered currently + pixmap = model()->data(index).value("iconPixmap").value<QPixmap>(); + if (pixmap.isNull()) { + KIcon icon(model()->data(index).value("iconName").toString()); + pixmap = icon.pixmap(itemSize().toSize()); + } + } + } + + return pixmap; +} + void KFileItemListView::initializeItemListWidget(KItemListWidget* item) { KFileItemListWidget* fileItemListWidget = static_cast<KFileItemListWidget*>(item); |
