]> cloud.milkyroute.net Git - dolphin.git/commitdiff
after checking the kdirmodel implementation for setData() and data() this should...
authorPeter Penz <peter.penz19@gmail.com>
Tue, 20 Mar 2007 21:20:32 +0000 (21:20 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Tue, 20 Mar 2007 21:20:32 +0000 (21:20 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=644763

src/dolphinview.cpp

index 34bd6f688d71601cfc8c281e5bed492ccf473d26..84dff46ed28f5fb9e422c0bbc2fcb0132252be62 100644 (file)
@@ -753,11 +753,11 @@ void DolphinView::showPreview(const KFileItem* item, const QPixmap& pixmap)
         const QMimeData* mimeData = QApplication::clipboard()->mimeData();
         if (KonqMimeData::decodeIsCutSelection(mimeData) && isCutItem(*item)) {
             KIconEffect iconEffect;
-            QPixmap cutPixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState);
-            m_dirModel->setData(idx, cutPixmap, Qt::DecorationRole);
+            const QPixmap cutPixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState);
+            m_dirModel->setData(idx, QIcon(cutPixmap), Qt::DecorationRole);
         }
         else {
-            m_dirModel->setData(idx, pixmap, Qt::DecorationRole);
+            m_dirModel->setData(idx, QIcon(pixmap), Qt::DecorationRole);
         }
     }
 }
@@ -930,12 +930,15 @@ void DolphinView::updateCutItems()
     while (it != end) {
         KFileItem* item = *it;
         if (isCutItem(*item)) {
-            QPixmap pixmap = item->pixmap(0);
-            KIconEffect iconEffect;
-            pixmap = iconEffect.apply(pixmap, K3Icon::Desktop, K3Icon::DisabledState);
             const QModelIndex idx = m_dirModel->indexForItem(*item);
-            if (idx.isValid()) {
-                m_dirModel->setData(idx, pixmap, Qt::DecorationRole);
+            const QVariant value = m_dirModel->data(idx, Qt::DecorationRole);
+            if (value.type() == QVariant::Icon) {
+                const QIcon icon(qvariant_cast<QIcon>(value));
+                KIconEffect iconEffect;
+                const QPixmap pixmap = iconEffect.apply(icon.pixmap(128, 128),
+                                                        K3Icon::Desktop,
+                                                        K3Icon::DisabledState);
+                m_dirModel->setData(idx, QIcon(pixmap), Qt::DecorationRole);
             }
         }
         ++it;