+void DolphinPart::slotCompleted(const KUrl& url)
+{
+ Q_UNUSED(url)
+ emit completed();
+}
+
+void DolphinPart::slotCanceled(const KUrl& url)
+{
+ slotCompleted(url);
+}
+
+void DolphinPart::slotInfoMessage(const QString& msg)
+{
+ emit setStatusBarText(msg);
+}
+
+void DolphinPart::slotErrorMessage(const QString& msg)
+{
+ KMessageBox::error(m_view, msg);
+}
+
+void DolphinPart::slotRequestItemInfo(const KFileItem& item)
+{
+ emit m_extension->mouseOverInfo(item);
+}
+
+void DolphinPart::slotItemTriggered(const KFileItem& item)
+{
+ qDebug() << QApplication::mouseButtons();
+ if (QApplication::mouseButtons() & Qt::MidButton) {
+ qDebug() << "MMB!!" << item.mimetype();
+ if (item.mimeTypePtr()->is("inode/directory")) {
+ KParts::OpenUrlArguments args;
+ args.setMimeType( item.mimetype() );
+ emit m_extension->createNewWindow( item.url(), args );
+ } else {
+ qDebug() << "run()";
+ item.run();
+ }
+ } else {
+ // Left button. [Right button goes to slotOpenContextMenu before triggered can be emitted]
+ qDebug() << "LMB";
+ emit m_extension->openUrlRequest(item.url());
+ }
+}
+
+void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
+{
+ KParts::BrowserExtension::PopupFlags popupFlags = KParts::BrowserExtension::DefaultPopupItems;
+ // TODO KonqKfmIconView had if ( !rootItem->isWritable() )
+ // popupFlags |= KParts::BrowserExtension::NoDeletion;
+
+ KFileItem item(_item);
+
+ if (item.isNull()) { // viewport context menu
+ popupFlags |= KParts::BrowserExtension::ShowNavigationItems | KParts::BrowserExtension::ShowUp;
+ // TODO get m_dirLister->rootItem if possible. or via kdirmodel?
+ // and use this as fallback:
+ item = KFileItem( S_IFDIR, (mode_t)-1, url() );
+ }
+
+ // TODO port popupMenu to QList<KFileItem>
+ KFileItem* itemCopy = new KFileItem(item); // ugly
+ KFileItemList items; items.append(itemCopy);
+ emit m_extension->popupMenu( 0, QCursor::pos(), items, KParts::OpenUrlArguments(), KParts::BrowserArguments(), popupFlags );
+ delete itemCopy;
+}
+