]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
also update the current index if a deselection is done
[dolphin.git] / src / dolphinview.cpp
index 023a7380024e68945c23a05e4a8ac69b52d16c65..573abf85a9674609b72184d2796b17c0058bdaa4 100644 (file)
@@ -41,6 +41,7 @@
 #include <kmenu.h>
 #include <kmessagebox.h>
 #include <kmimetyperesolver.h>
+#include <konq_fileitemcapabilities.h>
 #include <konq_operations.h>
 #include <konqmimedata.h>
 #include <ktoggleaction.h>
@@ -95,10 +96,6 @@ DolphinView::DolphinView(QWidget* parent,
     m_controller = new DolphinController(this);
     m_controller->setUrl(url);
 
-    // Receiver of the DolphinView signal 'urlChanged()' don't need
-    // to care whether the internal controller changed the URL already or whether
-    // the controller just requested an URL change and will be updated later.
-    // In both cases the URL has been changed:
     connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
             this, SIGNAL(urlChanged(const KUrl&)));
     connect(m_controller, SIGNAL(requestUrlChange(const KUrl&)),
@@ -445,6 +442,7 @@ void DolphinView::updateView(const KUrl& url, const KUrl& rootUrl)
         return;
     }
 
+    m_iconManager->cancelPreviews();
     m_controller->setUrl(url); // emits urlChanged, which we forward
 
     if (!rootUrl.isEmpty() && rootUrl.isParentOf(url)) {
@@ -905,7 +903,10 @@ QPair<bool, QString> DolphinView::pasteInfo() const
 
     KUrl::List urls = KUrl::List::fromMimeData(mimeData);
     if (!urls.isEmpty()) {
-        ret.first = true;
+        // disable the paste action if no writing is supported
+        KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url());
+        ret.first = KonqFileItemCapabilities(KFileItemList() << item).supportsWriting();
+
         if (urls.count() == 1) {
             const KFileItem item(KFileItem::Unknown, KFileItem::Unknown, urls.first(), true);
             ret.second = item.isDir() ? i18nc("@action:inmenu", "Paste One Folder") :
@@ -1125,7 +1126,6 @@ void DolphinView::createView()
 
     view->setSelectionMode(QAbstractItemView::ExtendedSelection);
 
-    new KMimeTypeResolver(view, m_dolphinModel);
     m_iconManager = new IconManager(view, m_proxyModel);
     m_iconManager->setShowPreview(m_showPreview);