From e9d29bcf30ccbd7c76ba37ce9efcfac1649fc46e Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 18 May 2012 23:21:49 +0200 Subject: Enable basic drag and drop support for the Places Panel The dropping has not been implemented yet, however in the context of this step the creating of the drag-pixmap is now forwarded to the item-widgets. This allows creating some optimized dragging-pixmaps e.g. for the details-view, where only the name and icon should be provided as drag-pixmap. --- src/kitemviews/kitemlistwidget.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/kitemviews/kitemlistwidget.cpp') diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index f304aa41d..45329afb3 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -360,6 +360,22 @@ QRectF KItemListWidget::expansionToggleRect() const return QRectF(); } +QPixmap KItemListWidget::createDragPixmap(const QStyleOptionGraphicsItem* option, + QWidget* widget) +{ + QPixmap pixmap(size().toSize()); + pixmap.fill(Qt::transparent); + + QPainter painter(&pixmap); + + const bool oldAlternateBackground = m_alternateBackground; + setAlternateBackground(false); + paint(&painter, option, widget); + setAlternateBackground(oldAlternateBackground); + + return pixmap; +} + void KItemListWidget::dataChanged(const QHash& current, const QSet& roles) { -- cgit v1.3