diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 28901bea77..c405eeb8bf 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -207,6 +207,15 @@ void DolphinDetailsView::dragEnterEvent(QDragEnterEvent* event) m_dragging = true; } +void DolphinDetailsView::dragLeaveEvent(QDragLeaveEvent* event) +{ + QTreeView::dragLeaveEvent(event); + + // TODO: remove this code when the issue #160611 is solved in Qt 4.4 + m_dragging = false; + setDirtyRegion(m_dropRect); +} + void DolphinDetailsView::dragMoveEvent(QDragMoveEvent* event) { QTreeView::dragMoveEvent(event); diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index 8792881fda..b3944b4a1e 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -52,6 +52,7 @@ protected: virtual void mouseMoveEvent(QMouseEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); virtual void dragEnterEvent(QDragEnterEvent* event); + virtual void dragLeaveEvent(QDragLeaveEvent* event); virtual void dragMoveEvent(QDragMoveEvent* event); virtual void dropEvent(QDropEvent* event); virtual void paintEvent(QPaintEvent* event); diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index a4d7fe4545..5c4f560084 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -134,6 +134,15 @@ void DolphinIconsView::dragEnterEvent(QDragEnterEvent* event) m_dragging = true; } +void DolphinIconsView::dragLeaveEvent(QDragLeaveEvent* event) +{ + KListView::dragLeaveEvent(event); + + // TODO: remove this code when the issue #160611 is solved in Qt 4.4 + m_dragging = false; + setDirtyRegion(m_dropRect); +} + void DolphinIconsView::dragMoveEvent(QDragMoveEvent* event) { KListView::dragMoveEvent(event); diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index d2fc6b4abc..a7f00426e6 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -49,6 +49,7 @@ protected: virtual void mousePressEvent(QMouseEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); virtual void dragEnterEvent(QDragEnterEvent* event); + virtual void dragLeaveEvent(QDragLeaveEvent* event); virtual void dragMoveEvent(QDragMoveEvent* event); virtual void dropEvent(QDropEvent* event); virtual void paintEvent(QPaintEvent* event); diff --git a/src/sidebartreeview.cpp b/src/sidebartreeview.cpp index b76cd6d2d3..f82bff37aa 100644 --- a/src/sidebartreeview.cpp +++ b/src/sidebartreeview.cpp @@ -75,6 +75,15 @@ void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event) m_dragging = true; } +void SidebarTreeView::dragLeaveEvent(QDragLeaveEvent* event) +{ + QTreeView::dragLeaveEvent(event); + + // TODO: remove this code when the issue #160611 is solved in Qt 4.4 + m_dragging = false; + setDirtyRegion(m_dropRect); +} + void SidebarTreeView::dragMoveEvent(QDragMoveEvent* event) { QTreeView::dragMoveEvent(event); diff --git a/src/sidebartreeview.h b/src/sidebartreeview.h index 7c4eba7775..ba8fd74851 100644 --- a/src/sidebartreeview.h +++ b/src/sidebartreeview.h @@ -47,6 +47,7 @@ signals: protected: virtual bool event(QEvent* event); virtual void dragEnterEvent(QDragEnterEvent* event); + virtual void dragLeaveEvent(QDragLeaveEvent* event); virtual void dragMoveEvent(QDragMoveEvent* event); virtual void dropEvent(QDropEvent* event); virtual void paintEvent(QPaintEvent* event);