// 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();
}
}
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();
}
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);
}