diff options
Diffstat (limited to 'src/plugins/Ui/qsui/listwidget.cpp')
| -rw-r--r-- | src/plugins/Ui/qsui/listwidget.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/plugins/Ui/qsui/listwidget.cpp b/src/plugins/Ui/qsui/listwidget.cpp index b92928782..f0dce45b1 100644 --- a/src/plugins/Ui/qsui/listwidget.cpp +++ b/src/plugins/Ui/qsui/listwidget.cpp @@ -631,37 +631,31 @@ void ListWidget::updateSkin() void ListWidget::dragEnterEvent(QDragEnterEvent *event) { - if (event->mimeData()->hasFormat("text/uri-list") || event->mimeData()->hasFormat("application/json")) + if(event->mimeData()->hasFormat("text/uri-list") || event->mimeData()->hasFormat("application/json")) event->acceptProposedAction(); } void ListWidget::dropEvent(QDropEvent *event) { - if (!m_filterMode && event->mimeData()->hasUrls()) + if(!m_filterMode && (event->mimeData()->hasUrls() || event->mimeData()->hasFormat("application/json"))) { - QList<QUrl> list_urls = event->mimeData()->urls(); 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, 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) + if(event->mimeData()->hasUrls()) { - index = qMin(m_first + m_row_count, m_model->count()); + QList<QUrl> list_urls = event->mimeData()->urls(); + m_model->insert(index, list_urls); + } + else if(event->mimeData()->hasFormat("application/json")) + { + QByteArray json = event->mimeData()->data("application/json"); + m_model->insert(index, json); } - m_model->insert(index, json); } m_drop_index = INVALID_INDEX; } |
