[Libreoffice-commits] core.git: vcl/inc vcl/source
Tomaž Vajngerl (via logerrit)
logerrit at kemper.freedesktop.org
Tue Mar 26 00:31:54 UTC 2019
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.vajngerl at collabora.co.uk>
AuthorDate: Mon Mar 25 18:10:26 2019 +0900
Commit: Tomaž Vajngerl <quikee at 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 <quikee at gmail.com>
Tested-by: Tomaž Vajngerl <quikee at 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();
More information about the Libreoffice-commits
mailing list