[vlc-commits] [Git][videolan/vlc][master] 19 commits: qt: introduce property `MainCtx::usingTouch`
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Wed Jun 24 11:10:50 UTC 2026
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
9a463045 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qt: introduce property `MainCtx::usingTouch`
- - - - -
80a989e1 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qt: introduce `TouchObserver` and adjust `MainCtx::usingTouch`
- - - - -
ddd8c5c9 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: introduce `VLCStyle::touchHandlerMargin`
- - - - -
a7783ff2 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: make it easier to use volume slider using touch
- - - - -
fec47ad9 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: fix touch scrolling in flickables
`Flickable` requires to filter child mouse events for touch
scrolling to work. However, since our main target is desktop
without touch, we by default disable filtering child mouse
events since not doing so causes problems with dragging
items and also makes the flickable to scroll using mouse,
which is not wanted.
The idea of using hover handler was to detect hover and
get the flickable ready for touch scrolling. However, as
the docs also note, in most cases touch screen can not
really detect hover. One particular case that this is
applicable is touch screen with stylus support, where in
that case hover can be detected (but usually only with
stylus, not with fingers).
- - - - -
4cbbf049 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: make it easier to use player slider using touch
- - - - -
e95c0b3c by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: use `eventPoint.globalPosition` instead of mapping ourselves
- - - - -
76604e66 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: fix touch handling in views
- Touch interaction should not manipulate selection.
- Touch interaction manipulates the current index,
provided that the grab was not canceled.
- Touch interaction gets the focus to the view,
provided that the grab was not canceled. This is
unlike the regular tap handling, where canceling
still gets the focus.
- Long press and release opens the context menu.
- - - - -
d3f87a73 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: provide the view to the delegate in `ExpandGridView`
- - - - -
1eb1870e by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: add `select` parameter to `GridItem::itemClicked()` signal
Touch interaction should not manipulate the selection, that is why we need this.
And also fix `ExpandGridView::leftClickOnItem()`:
- Current index should not change depending
on selection, as they are separate concepts.
- Focus the delegate instance rather than the
view, and provide the focus reason.
- - - - -
23ae0d6e by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: introduce `DelegateTouchTapHandler`
- - - - -
d6271e47 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: fix touch handling in view delegates
- Touch interaction should not manipulate selection.
- Touch interaction manipulates the current index,
provided that the grab was not canceled.
- Touch interaction gets the focus to the delegate,
provided that the grab was not canceled. This is
unlike the regular tap handling, where canceling
still gets the focus.
- Single tap in general behaves like double mouse
click.
- Double tap usually triggers opening the player
page.
- Long press and release opens the context menu.
- - - - -
e51f25bf by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: tap to toggle control visibility with touch screen in `PIPPlayer`
We can not rely on hover with touch.
- - - - -
f0ef591c by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qt: introduce `WheelToVLCConverter::customWheelEvent()`
- - - - -
5cbba2e8 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: make it possible to touch drag the player position and volume in `Player`
This is only a preliminary support, we imitate trackpad behavior here at the
moment.
It is currently a to-do to have proper support, as in Android.
- - - - -
750e9d08 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qt: make `MainCtx::getIntfUserScaleFactor()` invokable
- - - - -
e6eb8cfd by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qt: do not update scale factor if value is the same in `MainCtx::setIntfUserScaleFactor()`
- - - - -
dee47251 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: use `PinchHandler` for interface scale adjustment in `MainDisplay`
- - - - -
cc660c26 by Fatih Uzunoglu at 2026-06-24T12:13:12+02:00
qml: use `DragHandler` to implement swipe back in history in `MainInterface`
Also provides an indicator, inspired from Firefox.
- - - - -
32 changed files:
- modules/gui/qt/Makefile.am
- modules/gui/qt/maininterface/mainctx.cpp
- modules/gui/qt/maininterface/mainctx.hpp
- modules/gui/qt/maininterface/qml/MainDisplay.qml
- modules/gui/qt/maininterface/qml/MainInterface.qml
- modules/gui/qt/medialibrary/qml/HomePage.qml
- modules/gui/qt/medialibrary/qml/MediaView.qml
- modules/gui/qt/medialibrary/qml/MusicAlbums.qml
- modules/gui/qt/medialibrary/qml/MusicAllArtists.qml
- modules/gui/qt/medialibrary/qml/MusicArtist.qml
- modules/gui/qt/medialibrary/qml/MusicGenres.qml
- modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
- modules/gui/qt/medialibrary/qml/VideoGridDisplay.qml
- modules/gui/qt/meson.build
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseHomeDisplay.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/network/qml/ServicesSources.qml
- modules/gui/qt/player/qml/PIPPlayer.qml
- modules/gui/qt/player/qml/Player.qml
- modules/gui/qt/player/qml/SliderBar.qml
- modules/gui/qt/player/qml/controlbarcontrols/VolumeWidget.qml
- modules/gui/qt/playlist/qml/PlaylistDelegate.qml
- modules/gui/qt/qt.cpp
- modules/gui/qt/style/VLCStyle.qml
- + modules/gui/qt/util/qml/DelegateTouchTapHandler.qml
- modules/gui/qt/util/vlchotkeyconverter.cpp
- modules/gui/qt/util/vlchotkeyconverter.hpp
- modules/gui/qt/widgets/qml/ExpandGridView.qml
- modules/gui/qt/widgets/qml/GridItem.qml
- modules/gui/qt/widgets/qml/ListViewExt.qml
- modules/gui/qt/widgets/qml/TableViewDelegateExt.qml
The diff was not included because it is too large.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/eee3315898eeb1c8917c1ca267a53161e246396f...cc660c266627fc01eebfa4316ce141c51c1958e2
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/eee3315898eeb1c8917c1ca267a53161e246396f...cc660c266627fc01eebfa4316ce141c51c1958e2
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list