]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.cpp
Merge branch for accessibility
[dolphin.git] / src / dolphinpart.cpp
index bf3d2a54f9718c2a4e7e2c0c1a206c0167a62b26..ccc91fd7ddac6aa2c11a196a376008efd9246968 100644 (file)
 #include <KMenu>
 #include <KInputDialog>
 #include <KProtocolInfo>
+#include <kdeversion.h>
+
+#if KDE_IS_VERSION(4, 9, 2)
+#include "dolphinpart_ext.h"
+#endif
 
 #include "views/dolphinview.h"
 #include "views/dolphinviewactionhandler.h"
 #include "views/dolphinnewfilemenuobserver.h"
 #include "views/dolphinremoteencoding.h"
+#include "kitemviews/kfileitemmodel.h"
+#include "kitemviews/private/kfileitemmodeldirlister.h"
 
 #include <QActionGroup>
 #include <QApplication>
@@ -118,8 +125,20 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
     // Create file info and listing filter extensions.
     // NOTE: Listing filter needs to be instantiated after the creation of the view.
     new DolphinPartFileInfoExtension(this);
+
+#if KDE_IS_VERSION(4, 9, 2)
     new DolphinPartListingFilterExtension(this);
 
+    KDirLister* lister = m_view->m_model->m_dirLister;
+    if (lister) {
+        DolphinPartListingNotificationExtension* notifyExt = new DolphinPartListingNotificationExtension(this);
+        connect(lister, SIGNAL(newItems(KFileItemList)), notifyExt, SLOT(slotNewItems(KFileItemList)));
+        connect(lister, SIGNAL(itemsDeleted(KFileItemList)), notifyExt, SLOT(slotItemsDeleted(KFileItemList)));
+    } else {
+        kWarning() << "NULL KDirLister object! KParts::ListingNotificationExtension will NOT be supported";
+    }
+#endif
+
     createActions();
     m_actionHandler->updateViewActions();
     slotSelectionChanged(KFileItemList()); // initially disable selection-dependent actions
@@ -128,7 +147,6 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
     // (sort of spacial navigation)
 
     loadPlugins(this, this, componentData());
-
 }
 
 DolphinPart::~DolphinPart()
@@ -651,59 +669,4 @@ KFileItemList DolphinPartFileInfoExtension::queryFor(KParts::FileInfoExtension::
     return list;
 }
 
-DolphinPartListingFilterExtension::DolphinPartListingFilterExtension (DolphinPart* part)
-    : KParts::ListingFilterExtension(part)
-      , m_part(part)
-{
-}
-
-KParts::ListingFilterExtension::FilterModes DolphinPartListingFilterExtension::supportedFilterModes() const
-{
-    return (KParts::ListingFilterExtension::MimeType |
-            KParts::ListingFilterExtension::SubString |
-            KParts::ListingFilterExtension::WildCard);
-}
-
-bool DolphinPartListingFilterExtension::supportsMultipleFilters (KParts::ListingFilterExtension::FilterMode mode) const
-{
-    if (mode == KParts::ListingFilterExtension::MimeType)
-        return true;
-
-    return false;
-}
-
-QVariant DolphinPartListingFilterExtension::filter (KParts::ListingFilterExtension::FilterMode mode) const
-{
-    QVariant result;
-
-    switch (mode) {
-    case KParts::ListingFilterExtension::MimeType:
-        result = m_part->view()->mimeTypeFilters();
-        break;
-    case KParts::ListingFilterExtension::SubString:
-    case KParts::ListingFilterExtension::WildCard:
-        result = m_part->view()->nameFilter();
-        break;
-    default:
-      break;
-    }
-
-    return result;
-}
-
-void DolphinPartListingFilterExtension::setFilter (KParts::ListingFilterExtension::FilterMode mode, const QVariant& filter)
-{
-    switch (mode) {
-    case KParts::ListingFilterExtension::MimeType:
-        m_part->view()->setMimeTypeFilters(filter.toStringList());
-        break;
-    case KParts::ListingFilterExtension::SubString:
-    case KParts::ListingFilterExtension::WildCard:
-        m_part->view()->setNameFilter(filter.toString());
-        break;
-    default:
-      break;
-    }
-}
-
 #include "dolphinpart.moc"