- if (!m_dragStarted) return;
- if ((event->pos() - m_DragStartPosition).manhattanLength()
- < QApplication::startDragDistance())
- return;
-
- {
- QTreeWidgetItem *clickItem = itemAt(event->pos());
- if (clickItem && clickItem->data(0, TypeRole).toInt() != (int)EFFECT_FOLDER) {
- QDrag *drag = new QDrag(this);
- QMimeData *mimeData = new QMimeData;
- const QList <QTreeWidgetItem *>list = selectedItems();
- QDomDocument doc;
- foreach(QTreeWidgetItem *item, list) {
- const QDomElement e = itemEffect(item);
- if (!e.isNull()) doc.appendChild(doc.importNode(e, true));
- }
- QByteArray data;
- data.append(doc.toString().toUtf8());
- mimeData->setData("kdenlive/effectslist", data);
- drag->setMimeData(mimeData);
- //QPixmap pix = qVariantValue<QPixmap>(clickItem->data(Qt::DecorationRole));
- //drag->setPixmap(pix);
- //drag->setHotSpot(QPoint(0, 50));
- drag->start(Qt::CopyAction);
+ QDomDocument doc;
+ foreach(QTreeWidgetItem *item, list) {
+ if (item->flags() & Qt::ItemIsDragEnabled) {
+ const QDomElement e = itemEffect(item);
+ if (!e.isNull()) doc.appendChild(doc.importNode(e, true));