FX list: drag along the right edge to hop to top/bottom quickly (like dragging a scroll bar) - #3
FX list: drag along the right edge to hop to top/bottom quickly (like dragging a scroll bar)#3booherbg wants to merge 1 commit into
Conversation
LVGL 8 scrollbars are display-only, and the ~190-row effect list is dozens of flings from end to end. Pressing within 18 px of the list's right edge and dragging now maps the finger's position onto the full scroll range, like dragging a phone's scroll indicator. A press there without movement is still a normal tap, so the gear column keeps working, and the table's release-time cell click is suppressed after a scrub. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe effects table adds a right-edge scrub strip. Dragging in the strip maps pointer position to the full scroll range. Short taps retain normal table-click behavior, while scrub gestures suppress effect activation. ChangesEffects table scrub scrolling
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The change adds right-edge list scrubbing while preserving tap and normal scrolling behavior; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
The effect list is ~190 rows, and LVGL 8 scrollbars are display-only, so getting from one end to the other is dozens of flings. This adds a scrub strip: press within 18 px of the list's right edge (where the scrollbar is drawn) and drag, and the list position tracks the finger over the whole scroll range — the same gesture as dragging a phone's scroll indicator.
Implementation is a small event handler (
onScrubStrip/attachScrubStrip) insrc/ui/tabs.cpp; the FX table is the only user for now, but it works for any scrollable object.Testing
pio run -e esp32-cyd: builds, flash 96.9 % (+~1 KB).pio run -e macos && program --selftest: ALL PASS.