]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphiniconsview.cpp
when changing the view mode if the preview is turned on, the directory must get reloa...
[dolphin.git] / src / dolphiniconsview.cpp
index 9947a27551e8a40e6711190d28e9a211dbef20fa..0dd7dd7190ebb85fd697180770d8220d38679b6d 100644 (file)
@@ -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);
 }