┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kstandarditemlistwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitemviews/kstandarditemlistwidget.cpp')
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index 3f470b8cf..0cd11d363 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -405,6 +405,32 @@ QRectF KStandardItemListWidget::selectionToggleRect() const
return QRectF(pos, QSizeF(toggleSize, toggleSize));
}
+QPixmap KStandardItemListWidget::createDragPixmap(const QStyleOptionGraphicsItem* option,
+ QWidget* widget)
+{
+ QPixmap pixmap = KItemListWidget::createDragPixmap(option, widget);
+ if (m_layout != DetailsLayout || styleOption().extendedSelectionRegion) {
+ return pixmap;
+ }
+
+ // Only return the content of the text-column as pixmap
+ const int leftClip = m_pixmapPos.x();
+
+ const TextInfo* textInfo = m_textInfo.value("text");
+ const int rightClip = textInfo->pos.x() +
+ textInfo->staticText.size().width() +
+ 2 * styleOption().padding;
+
+ QPixmap clippedPixmap(rightClip - leftClip + 1, pixmap.height());
+ clippedPixmap.fill(Qt::transparent);
+
+ QPainter painter(&clippedPixmap);
+ painter.drawPixmap(-leftClip, 0, pixmap);
+
+ return clippedPixmap;
+}
+
+
KItemListWidgetInformant* KStandardItemListWidget::createInformant()
{
return new KStandardItemListWidgetInformant();