diff options
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 9eadcecb2..6fad094f7 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -701,7 +701,7 @@ void DolphinView::deleteSelectedItems() void DolphinView::cutSelectedItems() { - QMimeData* mimeData = new QMimeData(); + QMimeData* mimeData = selectionMimeData(); const KUrl::List kdeUrls = simplifiedSelectedUrls(); const KUrl::List mostLocalUrls; KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, true); @@ -710,7 +710,7 @@ void DolphinView::cutSelectedItems() void DolphinView::copySelectedItems() { - QMimeData* mimeData = new QMimeData(); + QMimeData* mimeData = selectionMimeData(); const KUrl::List kdeUrls = selectedUrls(); const KUrl::List mostLocalUrls; KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, false); @@ -1424,4 +1424,16 @@ bool DolphinView::itemsExpandable() const return (m_detailsView != 0) && m_detailsView->itemsExpandable(); } +QMimeData* DolphinView::selectionMimeData() const +{ + if (isColumnViewActive()) { + return m_columnView->selectionMimeData(); + } + + const QAbstractItemView* view = itemView(); + Q_ASSERT((view != 0) && (view->selectionModel() != 0)); + const QItemSelection selection = m_proxyModel->mapSelectionToSource(view->selectionModel()->selection()); + return m_dolphinModel->mimeData(selection.indexes()); +} + #include "dolphinview.moc" |
