X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1bac8668d7492a2e363f609efd30366a4cf798b7..509464cce954f7fc4b00a9dafc2bc6355eb99ec6:/src/dolphinpart.cpp diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index bf3d2a54f..ccc91fd7d 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -40,11 +40,18 @@ #include #include #include +#include + +#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 #include @@ -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"