diff --git a/src/domain/UBGraphicsSvgItem.cpp b/src/domain/UBGraphicsSvgItem.cpp index adfbac33..37f123e5 100644 --- a/src/domain/UBGraphicsSvgItem.cpp +++ b/src/domain/UBGraphicsSvgItem.cpp @@ -98,14 +98,17 @@ QVariant UBGraphicsSvgItem::itemChange(GraphicsItemChange change, const QVariant void UBGraphicsSvgItem::mousePressEvent(QGraphicsSceneMouseEvent *event) { - if (Delegate()->mousePressEvent(event)) - { - //NOOP - } - else - { + QMimeData* pMime = new QMimeData(); + QPixmap pixmap = toPixmapItem()->pixmap(); + pMime->setImageData(pixmap.toImage()); + Delegate()->setMimeData(pMime); + qreal k = (qreal)pixmap.width() / 100.0; + + QSize newSize((int)(pixmap.width() / k), (int)(pixmap.height() / k)); + + Delegate()->setDragPixmap(pixmap.scaled(newSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + if (!Delegate()->mousePressEvent(event)) QGraphicsSvgItem::mousePressEvent(event); - } }