#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>
this, SLOT(slotErrorMessage(QString)));
connect(m_view, SIGNAL(itemActivated(KFileItem)),
this, SLOT(slotItemActivated(KFileItem)));
+ connect(m_view, SIGNAL(itemsActivated(KFileItemList)),
+ this, SLOT(slotItemsActivated(KFileItemList)));
connect(m_view, SIGNAL(tabRequested(KUrl)),
this, SLOT(createNewWindow(KUrl)));
connect(m_view, SIGNAL(requestContextMenu(QPoint,KFileItem,KUrl,QList<QAction*>)),
// 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
// (sort of spacial navigation)
loadPlugins(this, this, componentData());
-
}
DolphinPart::~DolphinPart()
emit m_extension->openUrlRequest(item.targetUrl(), args, browserArgs);
}
+void DolphinPart::slotItemsActivated(const KFileItemList& items)
+{
+ foreach (const KFileItem& item, items) {
+ slotItemActivated(item);
+ }
+}
+
void DolphinPart::createNewWindow(const KUrl& url)
{
// TODO: Check issue N176832 for the missing QAIV signal; task 177399 - maybe this code
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"