]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
Converted to the standard mimetype names
[dolphin.git] / src / dolphinview.cpp
index 8f06d3dc84224b9be6af51a5bc47fa4b52e08e6e..e49690a04863809e2fb701c252e875e79c0bb093 100644 (file)
@@ -59,6 +59,7 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow,
                          bool showHiddenFiles) :
     QWidget(parent),
     m_showProgress(false),
+    m_blockContentsMovedSignal(false),
     m_mode(mode),
     m_iconSize(0),
     m_folderCount(0),
@@ -460,6 +461,11 @@ bool DolphinView::hasSelection() const
     return itemView()->selectionModel()->hasSelection();
 }
 
+void DolphinView::clearSelection()
+{
+    itemView()->selectionModel()->clear();
+}
+
 KFileItemList DolphinView::selectedItems() const
 {
     const QAbstractItemView* view = itemView();
@@ -670,14 +676,14 @@ void DolphinView::triggerItem(const QModelIndex& index)
     else if (item->isFile()) {
         // allow to browse through ZIP and tar files
         KMimeType::Ptr mime = item->mimeTypePtr();
-        if (mime->is("application/x-zip")) {
+        if (mime->is("application/zip")) {
             url.setProtocol("zip");
             setUrl(url);
         }
         else if (mime->is("application/x-tar") ||
                  mime->is("application/x-tarz") ||
-                 mime->is("application/x-tbz") ||
-                 mime->is("application/x-tgz") ||
+                 mime->is("application/x-bzip-compressed-tar") ||
+                 mime->is("application/x-compressed-tar") ||
                  mime->is("application/x-tzo")) {
             url.setProtocol("tar");
             setUrl(url);
@@ -726,6 +732,7 @@ void DolphinView::updateItemCount()
 
     updateStatusBar();
 
+    m_blockContentsMovedSignal = false;
     QTimer::singleShot(0, this, SLOT(restoreContentsPos()));
 }
 
@@ -736,11 +743,6 @@ void DolphinView::generatePreviews(const KFileItemList& items)
         connect(job, SIGNAL(gotPreview(const KFileItem*, const QPixmap&)),
                 this, SLOT(showPreview(const KFileItem*, const QPixmap&)));
     }
-
-    const QMimeData* mimeData = QApplication::clipboard()->mimeData();
-    if (KonqMimeData::decodeIsCutSelection(mimeData)) {
-        QTimer::singleShot(0, this, SLOT(applyCutEffect()));
-    }
 }
 
 void DolphinView::showPreview(const KFileItem* item, const QPixmap& pixmap)
@@ -751,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);
         }
     }
 }
@@ -821,6 +823,7 @@ void DolphinView::startDirLister(const KUrl& url, bool reload)
         m_statusBar->setProgress(0);
     }
 
+    m_blockContentsMovedSignal = true;
     m_dirLister->stop();
     m_dirLister->openUrl(url, false, reload);
 }
@@ -927,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;
@@ -973,10 +979,7 @@ void DolphinView::openContextMenu(const QPoint& pos)
         item = fileItem(index);
     }
 
-    DolphinContextMenu contextMenu(m_mainWindow,
-                                   item,
-                                   url(),
-                                   selectedItems());
+    DolphinContextMenu contextMenu(m_mainWindow, item, url());
     contextMenu.open();
 }
 
@@ -1003,8 +1006,6 @@ void DolphinView::dropUrls(const KUrl::List& urls,
     const KUrl& destination = (directory == 0) ? url() :
                                                  directory->url();
 
-    kDebug() << "DolphinView::dropUrls() - destination: " << destination.prettyUrl() << endl;
-
     dropUrls(urls, destination);
 }
 
@@ -1037,7 +1038,9 @@ void DolphinView::updateSortOrder(Qt::SortOrder order)
 
 void DolphinView::emitContentsMoved()
 {
-    emit contentsMoved(contentsX(), contentsY());
+    if (!m_blockContentsMovedSignal) {
+        emit contentsMoved(contentsX(), contentsY());
+    }
 }
 
 void DolphinView::updateActivationState()