X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ca7aaecbdbddb27f7442e69d2770b97b4307f338..040bdcea237e2576aad744bc4e7b5cadedcc98dc:/src/dolphiniconsview.cpp diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index 9947a2755..0dd7dd719 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -209,12 +209,12 @@ void DolphinIconsView::startDrag(Qt::DropActions supportedActions) // TODO: invoking KCategorizedView::startDrag() should not be necessary, we'll // fix this in KDE 4.1 KCategorizedView::startDrag(supportedActions); - DragAndDropHelper::startDrag(this, supportedActions); + DragAndDropHelper::instance().startDrag(this, supportedActions, m_controller); } void DolphinIconsView::dragEnterEvent(QDragEnterEvent* event) { - if (event->mimeData()->hasUrls()) { + if (DragAndDropHelper::instance().isMimeDataSupported(event->mimeData())) { event->acceptProposedAction(); } } @@ -242,7 +242,7 @@ void DolphinIconsView::dragMoveEvent(QDragMoveEvent* event) m_dropRect.setSize(QSize()); // set as invalid } } - if (event->mimeData()->hasUrls()) { + if (DragAndDropHelper::instance().isMimeDataSupported(event->mimeData())) { // accept url drops, independently from the destination item event->acceptProposedAction(); } @@ -252,17 +252,9 @@ void DolphinIconsView::dragMoveEvent(QDragMoveEvent* event) void DolphinIconsView::dropEvent(QDropEvent* event) { - if (!selectionModel()->isSelected(indexAt(event->pos()))) { - const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (!urls.isEmpty()) { - const QModelIndex index = indexAt(event->pos()); - const KFileItem item = m_controller->itemForIndex(index); - m_controller->indicateDroppedUrls(urls, - m_controller->url(), - item); - event->acceptProposedAction(); - } - } + const QModelIndex index = indexAt(event->pos()); + const KFileItem item = m_controller->itemForIndex(index); + m_controller->indicateDroppedUrls(item, m_controller->url(), event); KCategorizedView::dropEvent(event); }