tdf#124907 vcl: react to pan gesture for listbox and other widgets
Change-Id: I4579f8edd2bf24506b1d55a7291cd86e276f30a4
Reviewed-on: https://gerrit.libreoffice.org/74087
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
diff --git a/vcl/source/control/listctrl.cxx b/vcl/source/control/listctrl.cxx
index b3b4a1a..7ac9ee0 100644
--- a/vcl/source/control/listctrl.cxx
+++ b/vcl/source/control/listctrl.cxx
@@ -161,9 +161,15 @@
if (rNEvt.GetType() == MouseNotifyEvent::COMMAND)
{
const CommandEvent* pEvent = rNEvt.GetCommandEvent();
if (pEvent && pEvent->GetCommand() == CommandEventId::Wheel)
if (pEvent)
{
HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get());
CommandEventId nCommand = pEvent->GetCommand();
if (nCommand == CommandEventId::Wheel ||
nCommand == CommandEventId::Gesture)
{
HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get());
}
}
}
return true;
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index 1419602..df9e236 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -625,9 +625,11 @@
bool ImpVclMEdit::HandleCommand( const CommandEvent& rCEvt )
{
bool bDone = false;
if ( ( rCEvt.GetCommand() == CommandEventId::Wheel ) ||
( rCEvt.GetCommand() == CommandEventId::StartAutoScroll ) ||
( rCEvt.GetCommand() == CommandEventId::AutoScroll ) )
CommandEventId nCommand = rCEvt.GetCommand();
if (nCommand == CommandEventId::Wheel ||
nCommand == CommandEventId::StartAutoScroll ||
nCommand == CommandEventId::AutoScroll ||
nCommand == CommandEventId::Gesture)
{
ScrollBar* pHScrollBar = mpHScrollBar->IsVisible() ? mpHScrollBar.get() : nullptr;
ScrollBar* pVScrollBar = mpVScrollBar->IsVisible() ? mpVScrollBar.get() : nullptr;
diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx
index e9b88fd..41bc706 100644
--- a/vcl/source/treelist/svimpbox.cxx
+++ b/vcl/source/treelist/svimpbox.cxx
@@ -2895,15 +2895,20 @@
void SvImpLBox::Command( const CommandEvent& rCEvt )
{
CommandEventId nCommand = rCEvt.GetCommand();
CommandEventId nCommand = rCEvt.GetCommand();
if( nCommand == CommandEventId::ContextMenu )
m_aEditIdle.Stop();
// scroll mouse event?
if( ( ( nCommand == CommandEventId::Wheel ) || ( nCommand == CommandEventId::StartAutoScroll ) || ( nCommand == CommandEventId::AutoScroll ) )
&& m_pView->HandleScrollCommand( rCEvt, m_aHorSBar.get(), m_aVerSBar.get() ) )
if (nCommand == CommandEventId::Wheel ||
nCommand == CommandEventId::StartAutoScroll ||
nCommand == CommandEventId::AutoScroll ||
nCommand == CommandEventId::Gesture)
{
if (m_pView->HandleScrollCommand(rCEvt, m_aHorSBar.get(), m_aVerSBar.get()))
return;
}
if( m_bContextMenuHandling && nCommand == CommandEventId::ContextMenu )
{