]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinfileplacesview.cpp
* implement the DragAndDropHelper as singleton derived from QObject, so that emitting...
[dolphin.git] / src / dolphinfileplacesview.cpp
index a4f801c3abb9ce72e0c9b4c45565d0480f477d01..df3e6fd878f87df0e87e425784a7878d604e656a 100644 (file)
  ***************************************************************************/
 
 #include "dolphinfileplacesview.h"
-#include "dolphindropcontroller.h"
+#include "draganddrophelper.h"
+#include <kfileitem.h>
 #include <konq_operations.h>
 
 DolphinFilePlacesView::DolphinFilePlacesView(QWidget* parent) :
-    KFilePlacesView(parent)
+    KFilePlacesView(parent),
+    m_mouseButtons(Qt::NoButton)
 {
     setDropOnPlaceEnabled(true);
     connect(this, SIGNAL(urlsDropped(const KUrl&, QDropEvent*, QWidget*)),
             this, SLOT(slotUrlsDropped(const KUrl&, QDropEvent*, QWidget*)));
+    connect(this, SIGNAL(urlChanged(const KUrl&)),
+            this, SLOT(emitExtendedUrlChangedSignal(const KUrl&)));
 }
 
 DolphinFilePlacesView::~DolphinFilePlacesView()
 {
 }
 
+void DolphinFilePlacesView::mousePressEvent(QMouseEvent* event)
+{
+    m_mouseButtons = event->buttons();
+    KFilePlacesView::mousePressEvent(event);
+}
+
 void DolphinFilePlacesView::slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent)
 {
-    const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
+    DragAndDropHelper::instance().dropUrls(KFileItem(), dest, event, parent);
+}
 
-    DolphinDropController dropController(parent);
-    // forward doingOperation signal up to the mainwindow
-    connect(&dropController, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)),
-            this, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)));
-    dropController.dropUrls(urls, dest);
+void DolphinFilePlacesView::emitExtendedUrlChangedSignal(const KUrl& url)
+{
+    emit urlChanged(url, m_mouseButtons);
 }
 
 #include "dolphinfileplacesview.moc"