diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-01-16 14:21:46 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-01-16 14:21:46 +0000 |
| commit | 87f088c76f029859fdbfa54e95bb074b41391fdd (patch) | |
| tree | c662291529b8cae1eb056b40ecb06464a9390bab /src/plugins/Ui/qsui | |
| parent | c20f469b2021f070cbf5cf5a73ce430ddcd2fbd0 (diff) | |
| download | qmmp-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.cpp | 15 |
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; } |
