vcl/inc/window.h | 1 + vcl/source/control/imp_listbox.cxx | 4 ++++ vcl/source/window/window.cxx | 1 + vcl/source/window/window2.cxx | 20 ++++++++++++++++++++ 4 files changed, 26 insertions(+)
New commits: commit 2ccc0a9e24e3f02bfce39af922b5a4972baa2968 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Mon Mar 25 18:10:26 2019 +0900 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Tue Mar 26 01:31:28 2019 +0100 tdf#124146 Support panning (pan gesture) of the combobox list Change-Id: Ic57f4b784d96e69c71caa0e47dbe8117b019a712 Reviewed-on: https://gerrit.libreoffice.org/69656 Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> Tested-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/vcl/inc/window.h b/vcl/inc/window.h index bee0f55f1425..74882ef77418 100644 --- a/vcl/inc/window.h +++ b/vcl/inc/window.h @@ -162,6 +162,7 @@ struct ImplFrameData bool mbInSysObjFocusHdl; //< within a SysChildren's GetFocus handler bool mbInSysObjToTopHdl; //< within a SysChildren's ToTop handler bool mbSysObjFocus; //< does a SysChild have focus + sal_Int32 mnTouchPanPosition; css::uno::Reference< css::datatransfer::dnd::XDragSource > mxDragSource; css::uno::Reference< css::datatransfer::dnd::XDropTarget > mxDropTarget; diff --git a/vcl/source/control/imp_listbox.cxx b/vcl/source/control/imp_listbox.cxx index a5711ab39cbf..5e72bcf85f55 100644 --- a/vcl/source/control/imp_listbox.cxx +++ b/vcl/source/control/imp_listbox.cxx @@ -2506,6 +2506,10 @@ bool ImplListBox::EventNotify( NotifyEvent& rNEvt ) bDone = HandleScrollCommand( rCEvt, mpHScrollBar, mpVScrollBar ); } } + else if (rCEvt.GetCommand() == CommandEventId::Gesture) + { + bDone = HandleScrollCommand(rCEvt, mpHScrollBar, mpVScrollBar); + } } return bDone || Window::EventNotify( rNEvt ); diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index c9ea334c0e66..cdd2aadde311 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -807,6 +807,7 @@ ImplFrameData::ImplFrameData( vcl::Window *pWindow ) mbInBufferedPaint = false; mnDPIX = 96; mnDPIY = 96; + mnTouchPanPosition = -1; } namespace vcl { diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx index dfcec76e9b48..c352b006d67e 100644 --- a/vcl/source/window/window2.cxx +++ b/vcl/source/window/window2.cxx @@ -750,6 +750,26 @@ bool Window::HandleScrollCommand( const CommandEvent& rCmd, } break; + case CommandEventId::Gesture: + { + const CommandGestureData* pData = rCmd.GetGestureData(); + if (pData->meEventType == GestureEventType::PanningBegin) + { + mpWindowImpl->mpFrameData->mnTouchPanPosition = pVScrl->GetThumbPos(); + } + else if(pData->meEventType == GestureEventType::PanningUpdate) + { + long nOriginalPosition = mpWindowImpl->mpFrameData->mnTouchPanPosition; + pVScrl->DoScroll(nOriginalPosition + (pData->mfOffset)); + } + if (pData->meEventType == GestureEventType::PanningEnd) + { + mpWindowImpl->mpFrameData->mnTouchPanPosition = -1; + } + bRet = true; + } + break; + case CommandEventId::AutoScroll: { const CommandScrollData* pData = rCmd.GetAutoScrollData(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits