diff options
| author | Peter Penz <[email protected]> | 2007-07-28 22:59:22 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-07-28 22:59:22 +0000 |
| commit | 14783157baf0d812b8c168aed67aeca362c5710e (patch) | |
| tree | 9c8289d191b21744058b3125e2a4343225443833 /src | |
| parent | dcac8012b6a2e63bf7526d8c27d2442906afed32 (diff) | |
don't load directories when hovering folders during moving the mouse...
svn path=/trunk/KDE/kdebase/apps/; revision=693757
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphincolumnview.cpp | 25 |
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); |
