const KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
const QSet<int> selectedIndexes = selectionManager->selectedItems();
- QList<int> sortedIndexes = selectedIndexes.toList();
- qSort(sortedIndexes);
-
KFileItemList selectedItems;
- QListIterator<int> it(sortedIndexes);
+ QSetIterator<int> it(selectedIndexes);
while (it.hasNext()) {
const int index = it.next();
selectedItems.append(model->fileItem(index));
void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event)
{
- const KFileItem destItem = fileItemModel()->fileItem(index);
+ KFileItem destItem = fileItemModel()->fileItem(index);
+ if (destItem.isNull()) {
+ destItem = fileItemModel()->rootItem();
+ if (destItem.isNull()) {
+ kWarning() << "No destination item available for drop operation.";
+ return;
+ }
+ }
QDropEvent dropEvent(event->pos().toPoint(),
event->possibleActions(),
event->buttons(),
event->modifiers());
- const QString error = DragAndDropHelper::dropUrls(destItem, url(), &dropEvent);
+ const QString error = DragAndDropHelper::dropUrls(destItem, &dropEvent);
if (!error.isEmpty()) {
emit errorMessage(error);
}