┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemlistview.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/kfileitemlistview.cpp
parent6e0d247d3101eb131a636e885947a6dde313422c (diff)
Interface cleanups for drag and drop support
Diffstat (limited to 'src/kitemviews/kfileitemlistview.cpp')
-rw-r--r--src/kitemviews/kfileitemlistview.cpp23
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);