diff --git a/frontend/device/sdl/device.lua b/frontend/device/sdl/device.lua index 787f37fc2..b2e087e94 100644 --- a/frontend/device/sdl/device.lua +++ b/frontend/device/sdl/device.lua @@ -230,12 +230,12 @@ function Device:init() local fake_release_ev = Event:new("Gesture", fake_ges_release) if scrolled_y == down then fake_ges.direction = "north" - UIManager:broadcastEvent(fake_pan_ev) - UIManager:broadcastEvent(fake_release_ev) + UIManager:sendEvent(fake_pan_ev) + UIManager:sendEvent(fake_release_ev) elseif scrolled_y == up then fake_ges.direction = "south" - UIManager:broadcastEvent(fake_pan_ev) - UIManager:broadcastEvent(fake_release_ev) + UIManager:sendEvent(fake_pan_ev) + UIManager:sendEvent(fake_release_ev) end elseif ev.code == SDL_MULTIGESTURE then -- no-op for now diff --git a/frontend/ui/widget/bookmapwidget.lua b/frontend/ui/widget/bookmapwidget.lua index 001170e16..7391dc9d0 100644 --- a/frontend/ui/widget/bookmapwidget.lua +++ b/frontend/ui/widget/bookmapwidget.lua @@ -639,6 +639,12 @@ function BookMapWidget:init() range = self.dimen, } }, + Pan = { -- (for mousewheel scrolling support) + GestureRange:new{ + ges = "pan", + range = self.dimen, + } + }, Tap = { GestureRange:new{ ges = "tap", @@ -1608,6 +1614,16 @@ function BookMapWidget:onSwipe(arg, ges) end end +function BookMapWidget:onPan(arg, ges) + if ges.mousewheel_direction then + if ges.direction == "north" then + return self:onScrollRowDown() + elseif ges.direction == "south" then + return self:onScrollRowUp() + end + end +end + function BookMapWidget:onPinch(arg, ges) if self.overview_mode then return true diff --git a/frontend/ui/widget/pagebrowserwidget.lua b/frontend/ui/widget/pagebrowserwidget.lua index fff9751af..29fb786e4 100644 --- a/frontend/ui/widget/pagebrowserwidget.lua +++ b/frontend/ui/widget/pagebrowserwidget.lua @@ -76,6 +76,12 @@ function PageBrowserWidget:init() range = self.dimen, } }, + Pan = { -- (for mousewheel scrolling support) + GestureRange:new{ + ges = "pan", + range = self.dimen, + } + }, Tap = { GestureRange:new{ ges = "tap", @@ -1176,6 +1182,17 @@ function PageBrowserWidget:onSwipe(arg, ges) end end +function PageBrowserWidget:onPan(arg, ges) + if ges.mousewheel_direction then + if ges.direction == "north" then + self:onScrollRowDown() + elseif ges.direction == "south" then + self:onScrollRowUp() + end + end + return true +end + function PageBrowserWidget:onPinch(arg, ges) if ges.direction == "horizontal" then if self:updateNbCols(1, true) then