┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphincolumnview.cpp5
-rw-r--r--src/dolphincolumnview.h6
-rw-r--r--src/dolphincolumnwidget.cpp6
-rw-r--r--src/dolphincolumnwidget.h5
-rw-r--r--src/dolphinview.cpp16
-rw-r--r--src/dolphinview.h5
6 files changed, 41 insertions, 2 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 40a579f5a..24d618720 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -269,6 +269,11 @@ KFileItemList DolphinColumnView::selectedItems() const
return activeColumn()->selectedItems();
}
+QMimeData* DolphinColumnView::selectionMimeData() const
+{
+ return activeColumn()->selectionMimeData();
+}
+
void DolphinColumnView::selectAll()
{
activeColumn()->selectAll();
diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h
index ba50d943c..1fdd75850 100644
--- a/src/dolphincolumnview.h
+++ b/src/dolphincolumnview.h
@@ -112,6 +112,12 @@ public:
* Returns the selected items of the active column.
*/
KFileItemList selectedItems() const;
+
+ /**
+ * Returns the MIME data for the selected items
+ * of the active column.
+ */
+ QMimeData* selectionMimeData() const;
public slots:
/** @see QAbstractItemView::selectAll() */
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index 31f5c6193..86ab88207 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -277,6 +277,12 @@ KFileItemList DolphinColumnWidget::selectedItems() const
return itemList;
}
+QMimeData* DolphinColumnWidget::selectionMimeData() const
+{
+ const QItemSelection selection = m_proxyModel->mapSelectionToSource(selectionModel()->selection());
+ return m_dolphinModel->mimeData(selection.indexes());
+}
+
QStyleOptionViewItem DolphinColumnWidget::viewOptions() const
{
QStyleOptionViewItem viewOptions = QListView::viewOptions();
diff --git a/src/dolphincolumnwidget.h b/src/dolphincolumnwidget.h
index 8e4f6dfcf..b3cd741fc 100644
--- a/src/dolphincolumnwidget.h
+++ b/src/dolphincolumnwidget.h
@@ -111,6 +111,11 @@ public:
KFileItem itemAt(const QPoint& pos) const;
KFileItemList selectedItems() const;
+
+ /**
+ * Returns the MIME data for the selected items.
+ */
+ QMimeData* selectionMimeData() const;
protected:
virtual QStyleOptionViewItem viewOptions() const;
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"
diff --git a/src/dolphinview.h b/src/dolphinview.h
index 955f974d8..7d8d06bf2 100644
--- a/src/dolphinview.h
+++ b/src/dolphinview.h
@@ -704,6 +704,11 @@ private:
* is currently shown.
*/
void deleteExpandedViews();
+
+ /**
+ * Returns the MIME data for all selected items.
+ */
+ QMimeData* selectionMimeData() const;
private:
bool m_active : 1;