From 1a2a961c1e7cdef648c28e211433e8de6e8a831b Mon Sep 17 00:00:00 2001 From: Maxim Monastirsky Date: Mon, 5 May 2014 22:00:09 +0300 Subject: startcenter: react on mouse down instead There is a good reason for that: File lists of some file pickers handle double click event on mouse down. So if a start center thumbnail is exactly behind the file on which the user double- clicked, it will receive the mouse up event, and will also open. Change-Id: I9fc9ceff0874d0486d5b568c9b35143c8d8aabf8 --- sfx2/source/control/recentdocsview.cxx | 16 ++++------------ sfx2/source/control/recentdocsviewitem.cxx | 2 +- 2 files changed, 5 insertions(+), 13 deletions(-) (limited to 'sfx2') diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx index 0564e8b3e398..b4be9c8247d8 100644 --- a/sfx2/source/control/recentdocsview.cxx +++ b/sfx2/source/control/recentdocsview.cxx @@ -213,27 +213,19 @@ void RecentDocsView::MouseButtonDown( const MouseEvent& rMEvt ) { if (rMEvt.IsLeft()) { - // ignore to avoid stuff done in ThumbnailView; we don't do selections etc. - return; - } - - ThumbnailView::MouseButtonDown(rMEvt); -} + if (rMEvt.GetClicks() > 1) + return; -void RecentDocsView::MouseButtonUp(const MouseEvent& rMEvt) -{ - if (rMEvt.IsLeft()) - { size_t nPos = ImplGetItem(rMEvt.GetPosPixel()); ThumbnailViewItem* pItem = ImplGetItem(nPos); if (pItem) { - pItem->MouseButtonUp(rMEvt); + pItem->MouseButtonDown(rMEvt); return; } } - ThumbnailView::MouseButtonUp(rMEvt); + ThumbnailView::MouseButtonDown(rMEvt); } void RecentDocsView::OnItemDblClicked(ThumbnailViewItem *) diff --git a/sfx2/source/control/recentdocsviewitem.cxx b/sfx2/source/control/recentdocsviewitem.cxx index aa2a7e03f320..0dfef15ea6b4 100644 --- a/sfx2/source/control/recentdocsviewitem.cxx +++ b/sfx2/source/control/recentdocsviewitem.cxx @@ -182,7 +182,7 @@ void RecentDocsViewItem::Paint(drawinglayer::processor2d::BaseProcessor2D *pProc } } -void RecentDocsViewItem::MouseButtonUp(const MouseEvent& rMEvt) +void RecentDocsViewItem::MouseButtonDown(const MouseEvent& rMEvt) { if (rMEvt.IsLeft()) { -- cgit