aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/listwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/qsui/listwidget.cpp')
-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;
}