]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/sidebartreeview.cpp
create modal dialogs on stack as David suggested
[dolphin.git] / src / sidebartreeview.cpp
index c3b255f21b822532d1b3a5489b1b9c705ef4b8c3..a40d26c132058e78f15da297d5f2a46664b33f5c 100644 (file)
 #include <kdirmodel.h>
 #include <kfileitemdelegate.h>
 
-#include <QDragEnterEvent>
-#include <QDropEvent>
-#include <QHeaderView>
+#include <QtGui/QKeyEvent>
+#include <QtGui/QHeaderView>
 
-SidebarTreeView::SidebarTreeView(DolphinMainWindow* mainWindow,
-                                 QWidget* parent) :
-    QTreeView(parent),
-    m_mainWindow(mainWindow)
+SidebarTreeView::SidebarTreeView(QWidget* parent) :
+    QTreeView(parent)
 {
     setAcceptDrops(true);
     setUniformRowHeights(true);
@@ -37,6 +34,9 @@ SidebarTreeView::SidebarTreeView(DolphinMainWindow* mainWindow,
     setEditTriggers(QAbstractItemView::NoEditTriggers);
     setSortingEnabled(true);
     setFrameStyle(QFrame::NoFrame);
+    setDragDropMode(QAbstractItemView::DragDrop);
+    setDropIndicatorShown(false);
+    setAutoExpandDelay(300);
 
     viewport()->setAttribute(Qt::WA_Hover);
 
@@ -57,6 +57,7 @@ bool SidebarTreeView::event(QEvent* event)
         hideColumn(KDirModel::Permissions);
         hideColumn(KDirModel::Owner);
         hideColumn(KDirModel::Group);
+        hideColumn(KDirModel::Type);
         header()->hide();
     }
 
@@ -68,15 +69,15 @@ void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event)
     if (event->mimeData()->hasUrls()) {
         event->acceptProposedAction();
     }
+    QTreeView::dragEnterEvent(event);
 }
 
 void SidebarTreeView::dropEvent(QDropEvent* event)
 {
     const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
-    if (urls.isEmpty() || (event->source() == this)) {
+    if (urls.isEmpty()) {
         QTreeView::dropEvent(event);
-    }
-    else {
+    } else {
         event->acceptProposedAction();
         const QModelIndex index = indexAt(event->pos());
         if (index.isValid()) {