]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
Cleanup: let the DolphinView be aware about the used action collection. This will...
[dolphin.git] / src / dolphinviewcontainer.cpp
index 99c76bee261327f64f047d0d005415406d59612a..b9caa7b8e6fdafd27cd0ae7b80abeb27afc31868 100644 (file)
@@ -96,6 +96,7 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow,
 
     m_proxyModel = new DolphinSortFilterProxyModel(this);
     m_proxyModel->setSourceModel(m_dolphinModel);
+    m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
 
     connect(m_dirLister, SIGNAL(clear()),
             this, SLOT(updateStatusBar()));
@@ -114,13 +115,12 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow,
                              url,
                              m_dirLister,
                              m_dolphinModel,
-                             m_proxyModel);
+                             m_proxyModel,
+                             mainWindow->actionCollection());
     connect(m_view, SIGNAL(urlChanged(const KUrl&)),
             m_urlNavigator, SLOT(setUrl(const KUrl&)));
     connect(m_view, SIGNAL(requestContextMenu(KFileItem, const KUrl&)),
             this, SLOT(openContextMenu(KFileItem, const KUrl&)));
-    connect(m_view, SIGNAL(urlsDropped(const KUrl::List&, const KUrl&)),
-            m_mainWindow, SLOT(dropUrls(const KUrl::List&, const KUrl&)));
     connect(m_view, SIGNAL(contentsMoved(int, int)),
             this, SLOT(saveContentsPos(int, int)));
     connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
@@ -158,6 +158,10 @@ DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow,
 
 DolphinViewContainer::~DolphinViewContainer()
 {
+    m_dirLister->disconnect();
+
+    delete m_proxyModel;
+    m_proxyModel = 0;
     delete m_dolphinModel;
     m_dolphinModel = 0;
     m_dirLister = 0; // deleted by m_dolphinModel
@@ -395,10 +399,15 @@ void DolphinViewContainer::slotItemTriggered(const KFileItem& item)
 
     if (item.isDir()) {
         m_view->setUrl(url);
-    } else if (item.isFile()) {
+    } else if (item.isFile() && url.isLocalFile()) {
         // allow to browse through ZIP and tar files
+        // TODO: make this configurable for Dolphin in KDE 4.1
+
         KMimeType::Ptr mime = item.mimeTypePtr();
-        if (mime->is("application/zip")) {
+
+        // Don't use mime->is("application/zip"), as this would
+        // also browse through Open Office files:
+        if (mime->name() == "application/zip") {
             url.setProtocol("zip");
             m_view->setUrl(url);
         } else if (mime->is("application/x-tar") ||