]> cloud.milkyroute.net Git - dolphin.git/commitdiff
use KDirModel::mimeData() for cut/copy operations as suggested by David Faure
authorPeter Penz <peter.penz19@gmail.com>
Wed, 3 Dec 2008 07:14:37 +0000 (07:14 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 3 Dec 2008 07:14:37 +0000 (07:14 +0000)
CCMAIL: faure@kde.org

svn path=/trunk/KDE/kdebase/apps/; revision=891865

src/dolphincolumnview.cpp
src/dolphincolumnview.h
src/dolphincolumnwidget.cpp
src/dolphincolumnwidget.h
src/dolphinview.cpp
src/dolphinview.h

index 40a579f5a61b3e722f84e3d0b67f5d2c8bffd570..24d61872004f31d5376611fb01f4066d44990407 100644 (file)
@@ -269,6 +269,11 @@ KFileItemList DolphinColumnView::selectedItems() const
     return activeColumn()->selectedItems();
 }
 
     return activeColumn()->selectedItems();
 }
 
+QMimeData* DolphinColumnView::selectionMimeData() const
+{
+    return activeColumn()->selectionMimeData();
+}
+
 void DolphinColumnView::selectAll()
 {
     activeColumn()->selectAll();
 void DolphinColumnView::selectAll()
 {
     activeColumn()->selectAll();
index ba50d943c4eff2add37626c8a9f7fad91fda504d..1fdd75850b0d61c01a94233f633b3e2d5fa5e2dd 100644 (file)
@@ -112,6 +112,12 @@ public:
      * Returns the selected items of the active column.
      */
     KFileItemList selectedItems() const;
      * 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() */
 
 public slots:
     /** @see QAbstractItemView::selectAll() */
index 31f5c61935663652cb004e081bc99e3f6e44a021..86ab88207c8f88ff4e52fe773d0aa18185b880bc 100644 (file)
@@ -277,6 +277,12 @@ KFileItemList DolphinColumnWidget::selectedItems() const
     return itemList;
 }
 
     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();
 QStyleOptionViewItem DolphinColumnWidget::viewOptions() const
 {
     QStyleOptionViewItem viewOptions = QListView::viewOptions();
index 8e4f6dfcf763366125c37f983a6c193fd2b1cae3..b3cd741fc0c87de2b4d5b3e3d59a2ecc15ea0e60 100644 (file)
@@ -111,6 +111,11 @@ public:
     KFileItem itemAt(const QPoint& pos) const;
 
     KFileItemList selectedItems() const;
     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;
 
 protected:
     virtual QStyleOptionViewItem viewOptions() const;
index 9eadcecb206c9a95701257ed6c1ee67752ae90d8..6fad094f7af4f61938a0b9eb044f260262e150ad 100644 (file)
@@ -701,7 +701,7 @@ void DolphinView::deleteSelectedItems()
 
 void DolphinView::cutSelectedItems()
 {
 
 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);
     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()
 {
 
 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);
     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();
 }
 
     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"
 #include "dolphinview.moc"
index 955f974d85fe621085ba7c7c7fb9b3570eabcd4f..7d8d06bf2503fead4e7bb49803f5a4a4d5b59dbf 100644 (file)
@@ -704,6 +704,11 @@ private:
      * is currently shown.
      */
     void deleteExpandedViews();
      * is currently shown.
      */
     void deleteExpandedViews();
+    
+    /**
+     * Returns the MIME data for all selected items.
+     */
+    QMimeData* selectionMimeData() const;
 
 private:
     bool m_active : 1;
 
 private:
     bool m_active : 1;