sd/source/ui/view/drviewse.cxx | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-)
New commits: commit eb0a38c178179493f4c86314f78c5de75d18a482 Author: Maxim Monastirsky <momonas...@gmail.com> AuthorDate: Fri Sep 14 00:22:00 2018 +0300 Commit: Maxim Monastirsky <momonas...@gmail.com> CommitDate: Fri Sep 14 15:06:45 2018 +0200 tdf#119836 tdf#118840 Toggle behavior for some draw commands Keeping a function active after a subsequent click only makes sense for shape drawing, as it's used to lock the function so more that one shape can be drawn in a row. Otherwise just do what users expect, and turn the function off. Affected commands: .uno:Mirror .uno:Crop .uno:InteractiveTransparence .uno:InteractiveGradient .uno:Shear .uno:CrookRotate .uno:CrookSlant .uno:CrookStretch .uno:ConvertInto3DLathe .uno:ZoomMode .uno:ZoomPanning Change-Id: Ic441cd72423cbc0570c4a070402b474e85b5084b Reviewed-on: https://gerrit.libreoffice.org/60472 Tested-by: Jenkins Reviewed-by: Heiko Tietze <tietze.he...@gmail.com> Tested-by: Heiko Tietze <tietze.he...@gmail.com> diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index eaf4612ef6b9..6245206d2c0a 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -304,16 +304,13 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq) case SID_OBJECT_CROOK_STRETCH: case SID_CONVERT_TO_3D_LATHE: { - short nSlotId = rReq.GetSlot(); + sal_uInt16 nSlotId = rReq.GetSlot(); - if( nSlotId == sal_uInt16(SID_OBJECT_ROTATE) ) + // toggle function + if( nOldSId == nSlotId ) { - // toggle rotation - if( nOldSId == nSlotId ) - { - nSlotId = SID_OBJECT_SELECT; - rReq.SetSlot( nSlotId ); - } + nSlotId = SID_OBJECT_SELECT; + rReq.SetSlot( nSlotId ); } if (nSlotId == SID_OBJECT_CROOK_ROTATE || @@ -544,8 +541,15 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq) case SID_ZOOM_MODE: case SID_ZOOM_PANNING: { - mbZoomOnPage = false; - SetCurrentFunction( FuZoom::Create(this, GetActiveWindow(), mpDrawView.get(), GetDoc(), rReq ) ); + if (nOldSId != nSId) + { + mbZoomOnPage = false; + SetCurrentFunction( FuZoom::Create(this, GetActiveWindow(), mpDrawView.get(), GetDoc(), rReq ) ); + } + else + { + GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, SfxCallMode::ASYNCHRON); + } rReq.Done(); } break; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits