[Libreoffice-commits] core.git: 2 commits - sd/source vcl/source
Caolán McNamara
caolanm at redhat.com
Tue May 17 12:44:58 UTC 2016
sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx | 9 +++------
vcl/source/window/winproc.cxx | 3 ++-
2 files changed, 5 insertions(+), 7 deletions(-)
New commits:
commit dfe7142cdd05707123c688b2a746bed63180ff52
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue May 17 13:38:46 2016 +0100
MouseClick -> MouseMove + MouseClick undesirably mimics a drag event
when we click, if the click does not occur at the last known location of the
mouse, we generate a mouse move event to this location, and then send the click
event.
But we are sending the move event with the current mouse-button held down state
so it appears as a mini drag from the last known mouse location to the click
site.
This makes the slide pane in impress believe an attempt to drag a slide has
occured, which is super annoying when trying to use the slide pane a lot.
It would seem a more sensible thing to generate a move event with the buttons
masked out and then continue to send the true button click afterwards.
Change-Id: I5d0caf2cc1c9381800346f0b069af58123473cab
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 3f3d0b2..d72d48e 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -289,7 +289,8 @@ bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& xWindow, MouseNotifyEvent
if ( (pWinFrameData->mnLastMouseX != nX) ||
(pWinFrameData->mnLastMouseY != nY) )
{
- ImplHandleMouseEvent( xWindow, MouseNotifyEvent::MOUSEMOVE, false, nX, nY, nMsgTime, nCode, nMode );
+ sal_uInt16 nMoveCode = nCode & ~(MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE);
+ ImplHandleMouseEvent(xWindow, MouseNotifyEvent::MOUSEMOVE, false, nX, nY, nMsgTime, nMoveCode, nMode);
}
}
commit 5c3c69bb15d324d48f171ce2c3a3f3fea2f08958
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue May 17 12:41:14 2016 +0100
tidy this a little bit
Change-Id: I32c03940f36acb6b70c7d846d6e9ffdba84b8807
diff --git a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
index 6c2396e..0dc10f4 100644
--- a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
@@ -1179,11 +1179,8 @@ bool NormalModeHandler::ProcessMotionEvent (
bool bIsProcessed (true);
switch (rDescriptor.mnEventCode)
{
- case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE):
- // SetCurrentPage(rDescriptor.mpHitDescriptor);
- // Fallthrough
-
// A mouse motion without visible substitution starts that.
+ case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | OVER_UNSELECTED_PAGE):
case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | OVER_SELECTED_PAGE):
{
if (maButtonDownLocation)
@@ -1200,10 +1197,10 @@ bool NormalModeHandler::ProcessMotionEvent (
? InsertionIndicatorHandler::CopyMode
: InsertionIndicatorHandler::MoveMode);
}
+ break;
}
- break;
- // A mouse motion not over a page starts a rectangle selection.
+ // A mouse motion not over a page starts a rectangle selection.
case ANY_MODIFIER(MOUSE_MOTION | LEFT_BUTTON | SINGLE_CLICK | NOT_OVER_PAGE):
mrSelectionFunction.SwitchToMultiSelectionMode(
rDescriptor.maMouseModelPosition,
More information about the Libreoffice-commits
mailing list