+ QTreeWidgetItem *it = itemAt(m_DragStartPosition);
+ if (!it) return;
+ if (it->type() == QTreeWidgetItem::UserType + 1) {
+ // subitem
+ SubProjectItem *clickItem = static_cast <SubProjectItem *>(it);
+ if (clickItem && (clickItem->flags() & Qt::ItemIsDragEnabled)) {
+ ProjectItem *clip = static_cast <ProjectItem *>(it->parent());
+ QDrag *drag = new QDrag(this);
+ QMimeData *mimeData = new QMimeData;
+
+ QStringList list;
+ list.append(clip->clipId());
+ QPoint p = clickItem->zone();
+ list.append(QString::number(p.x()));
+ list.append(QString::number(p.y()));
+ QByteArray data;
+ data.append(list.join(";").toUtf8());
+ mimeData->setData("kdenlive/clip", data);
+ drag->setMimeData(mimeData);
+ drag->setPixmap(clickItem->icon(0).pixmap(iconSize()));
+ drag->setHotSpot(QPoint(0, 50));
+ drag->exec();
+ }
+ } else {
+ ProjectItem *clickItem = static_cast <ProjectItem *>(it);