]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
SVN_SILENT: assure that the order of the methods match in the h + cpp file
[dolphin.git] / src / dolphinview.cpp
index 9eadcecb206c9a95701257ed6c1ee67752ae90d8..9fb3f4b9459eb89335cb1cea5d26eb0403c65529 100644 (file)
@@ -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);
@@ -1052,6 +1052,11 @@ bool DolphinView::isTabsForFilesEnabled() const
     return m_tabsForFiles;
 }
 
+bool DolphinView::itemsExpandable() const
+{
+    return (m_detailsView != 0) && m_detailsView->itemsExpandable();
+}
+
 void DolphinView::emitContentsMoved()
 {
     // only emit the contents moved signal if:
@@ -1419,9 +1424,16 @@ void DolphinView::deleteExpandedViews()
     m_expandedViews.clear();
 }
 
-bool DolphinView::itemsExpandable() const
+QMimeData* DolphinView::selectionMimeData() const
 {
-    return (m_detailsView != 0) && m_detailsView->itemsExpandable();
+    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"