aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-01-16 14:21:46 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-01-16 14:21:46 +0000
commit87f088c76f029859fdbfa54e95bb074b41391fdd (patch)
treec662291529b8cae1eb056b40ecb06464a9390bab /src/plugins/Ui/qsui
parentc20f469b2021f070cbf5cf5a73ce430ddcd2fbd0 (diff)
downloadqmmp-87f088c76f029859fdbfa54e95bb074b41391fdd.tar.gz
qmmp-87f088c76f029859fdbfa54e95bb074b41391fdd.tar.bz2
qmmp-87f088c76f029859fdbfa54e95bb074b41391fdd.zip
library: using JSON for drag and drop data
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9635 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui')
-rw-r--r--src/plugins/Ui/qsui/listwidget.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/plugins/Ui/qsui/listwidget.cpp b/src/plugins/Ui/qsui/listwidget.cpp
index c7df9e82b..b92928782 100644
--- a/src/plugins/Ui/qsui/listwidget.cpp
+++ b/src/plugins/Ui/qsui/listwidget.cpp
@@ -631,7 +631,7 @@ void ListWidget::updateSkin()
void ListWidget::dragEnterEvent(QDragEnterEvent *event)
{
- if (event->mimeData()->hasFormat("text/uri-list"))
+ if (event->mimeData()->hasFormat("text/uri-list") || event->mimeData()->hasFormat("application/json"))
event->acceptProposedAction();
}
@@ -650,6 +650,19 @@ void ListWidget::dropEvent(QDropEvent *event)
}
m_model->insert(index, list_urls);
}
+ else if (!m_filterMode && event->mimeData()->hasFormat("application/json"))
+ {
+ QByteArray json = event->mimeData()->data("application/json");
+ event->acceptProposedAction();
+ QApplication::restoreOverrideCursor();
+
+ int index = indexAt(event->pos().y());
+ if(index == INVALID_INDEX)
+ {
+ index = qMin(m_first + m_row_count, m_model->count());
+ }
+ m_model->insert(index, json);
+ }
m_drop_index = INVALID_INDEX;
}