┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-07-28 22:59:22 +0000
committerPeter Penz <[email protected]>2007-07-28 22:59:22 +0000
commit14783157baf0d812b8c168aed67aeca362c5710e (patch)
tree9c8289d191b21744058b3125e2a4343225443833
parentdcac8012b6a2e63bf7526d8c27d2442906afed32 (diff)
don't load directories when hovering folders during moving the mouse...
svn path=/trunk/KDE/kdebase/apps/; revision=693757
-rw-r--r--src/dolphincolumnview.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index e3e084718..3c8a43e2b 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -71,6 +71,8 @@ protected:
virtual void dragMoveEvent(QDragMoveEvent* event);
virtual void dropEvent(QDropEvent* event);
virtual void mousePressEvent(QMouseEvent* event);
+ virtual void mouseMoveEvent(QMouseEvent* event);
+ virtual void mouseReleaseEvent(QMouseEvent* event);
virtual void paintEvent(QPaintEvent* event);
virtual void contextMenuEvent(QContextMenuEvent* event);
@@ -83,6 +85,7 @@ private:
private:
bool m_active;
+ bool m_swallowMouseMoveEvents;;
DolphinColumnView* m_view;
KUrl m_url;
QStyleOptionViewItem m_viewOptions;
@@ -96,6 +99,7 @@ ColumnWidget::ColumnWidget(QWidget* parent,
const KUrl& url) :
QListView(parent),
m_active(true),
+ m_swallowMouseMoveEvents(false),
m_view(columnView),
m_url(url),
m_dragging(false),
@@ -232,8 +236,6 @@ void ColumnWidget::mousePressEvent(QMouseEvent* event)
{
if (m_active) {
selectionModel()->clear();
- QListView::mousePressEvent(event);
- return;
}
QListView::mousePressEvent(event);
@@ -252,6 +254,10 @@ void ColumnWidget::mousePressEvent(QMouseEvent* event)
} else {
// a click on the viewport has been done
requestActivation = true;
+
+ // Swallow mouse move events if a click is done on the viewport. Otherwise the QColumnView
+ // triggers an unwanted loading of directories on hovering folder items.
+ m_swallowMouseMoveEvents = true;
}
if (requestActivation) {
@@ -261,6 +267,21 @@ void ColumnWidget::mousePressEvent(QMouseEvent* event)
}
}
+void ColumnWidget::mouseMoveEvent(QMouseEvent* event)
+{
+ // see description in ColumnView::mousePressEvent()
+ if (!m_swallowMouseMoveEvents) {
+ QListView::mouseMoveEvent(event);
+ }
+}
+
+void ColumnWidget::mouseReleaseEvent(QMouseEvent* event)
+{
+ QListView::mouseReleaseEvent(event);
+ m_swallowMouseMoveEvents = false;
+}
+
+
void ColumnWidget::paintEvent(QPaintEvent* event)
{
QListView::paintEvent(event);