From 87f088c76f029859fdbfa54e95bb074b41391fdd Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 16 Jan 2021 14:21:46 +0000 Subject: 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 --- src/plugins/Ui/qsui/listwidget.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/plugins/Ui') 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; } -- cgit v1.2.3-13-gbd6f