]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphindetailsview.cpp
Hide the "Sort by Rating" and "Sort by Tags" menu entries for KDE 4.0, as currently...
[dolphin.git] / src / dolphindetailsview.cpp
index 9dd91b308c5b0c5b720d1cf07a1f0a591fed1d7b..55851dc95da294b3f030b6fc2373f7adb1df3399 100644 (file)
@@ -24,6 +24,7 @@
 #include "dolphincontroller.h"
 #include "dolphinsettings.h"
 #include "dolphinsortfilterproxymodel.h"
+#include "draganddrophelper.h"
 #include "viewproperties.h"
 
 #include "dolphin_detailsmodesettings.h"
@@ -167,9 +168,7 @@ QStyleOptionViewItem DolphinDetailsView::viewOptions() const
 void DolphinDetailsView::contextMenuEvent(QContextMenuEvent* event)
 {
     QTreeView::contextMenuEvent(event);
-    if (selectionModel()->hasSelection()) {
-        m_controller->triggerContextMenuRequest(event->pos());
-    }
+    m_controller->triggerContextMenuRequest(event->pos());
 }
 
 void DolphinDetailsView::mousePressEvent(QMouseEvent* event)
@@ -214,6 +213,11 @@ void DolphinDetailsView::mouseReleaseEvent(QMouseEvent* event)
     }
 }
 
+void DolphinDetailsView::startDrag(Qt::DropActions supportedActions)
+{
+    DragAndDropHelper::startDrag(this, supportedActions);
+}
+
 void DolphinDetailsView::dragEnterEvent(QDragEnterEvent* event)
 {
     if (event->mimeData()->hasUrls()) {
@@ -247,7 +251,8 @@ void DolphinDetailsView::dragMoveEvent(QDragMoveEvent* event)
         m_dragging = false;
     } else {
         m_dragging = true;
-        if (itemForIndex(index).isDir()) {
+        const KFileItem item = itemForIndex(index);
+        if (!item.isNull() && item.isDir()) {
             m_dropRect = visualRect(index);
         } else {
             m_dropRect.setSize(QSize()); // set as invalid
@@ -296,7 +301,7 @@ void DolphinDetailsView::paintEvent(QPaintEvent* event)
     // TODO: remove this code when the issue #160611 is solved in Qt 4.4
     if (m_dragging) {
         const QBrush& brush = m_viewOptions.palette.brush(QPalette::Normal, QPalette::Highlight);
-        DolphinController::drawHoverIndication(viewport(), m_dropRect, brush);
+        DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush);
     }
 }