From ea548584637bf0f6da5d8dac0e7172a4cdc1fc50 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 2 Jun 2007 17:42:43 +0000 Subject: [PATCH] don't forget to clear the hover information when a drag leave event occurs svn path=/trunk/KDE/kdebase/apps/; revision=670856 --- src/dolphindetailsview.cpp | 9 +++++++++ src/dolphindetailsview.h | 1 + src/dolphiniconsview.cpp | 9 +++++++++ src/dolphiniconsview.h | 1 + src/sidebartreeview.cpp | 9 +++++++++ src/sidebartreeview.h | 1 + 6 files changed, 30 insertions(+) diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 28901bea7..c405eeb8b 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 8792881fd..b3944b4a1 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 a4d7fe454..5c4f56008 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 d2fc6b4ab..a7f00426e 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 b76cd6d2d..f82bff37a 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 7c4eba777..ba8fd7485 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); -- 2.47.3