Rémi Denis-Courmont [Wed, 19 Feb 2020 19:09:06 +0000 (21:09 +0200)]
thread: add generic futex-based muteces
This provides a common implementation of fast (non-debug),
error-checking (debug) and recursive muteces on top of
vlc_atomic_wait() and vlc_atomic_notify_one(), using Drepper's tristate
mutex algorithm.
Benefits of this implementation include:
- Error checking is supported on all platforms (including Windows).
- Initialization can never fail, is not subject to aborts.
- Destruction is a no-op and can be removed altogether.
- Static muteces do not leak or need kludges.
- Ownership can be checked directly without the mutex mark system.
- Non-ownership can be checked in assertion.
Because the player code uses the same vlc_mutex_t typedef for both
non-recursive and recursive usages, disentanglement is not possible.
This patchset thus supports both semantics together as before.
Rémi Denis-Courmont [Wed, 19 Feb 2020 19:46:09 +0000 (21:46 +0200)]
thread: use the common vlc_cond_t implementation
This gets rid of some platform-specific code. The more interesting
consequence is allowing custom mutex implementation later, which would
not otherwise be possible, due to vlc_cond_wait() entanglement.
Rémi Denis-Courmont [Wed, 19 Feb 2020 17:30:08 +0000 (19:30 +0200)]
win32: simplify vlc_join()
There are no needs for a cancellation point here.
Francois Cartegnie [Tue, 18 Feb 2020 21:09:51 +0000 (22:09 +0100)]
codec: dav1d: MDCV contains SmDm
logical :/
Rémi Denis-Courmont [Sat, 8 Feb 2020 17:34:33 +0000 (19:34 +0200)]
FreeBSD: add thread ID and atomic wait functions
Rémi Denis-Courmont [Mon, 17 Feb 2020 18:27:17 +0000 (20:27 +0200)]
threads: add vlc_atomic_timedwait_daytime()
...because VLM still wants to wait for day time.
Rémi Denis-Courmont [Sun, 9 Feb 2020 09:06:14 +0000 (11:06 +0200)]
thread: use a linked-list in condition variables
With more than one thread waiting on the same condition variable, the
lock-step logic could (at least theoretically) lose a wake-up in 2**32.
This patch uses a linked-list instead, with one atomic variable per
waiting thread, so we know exactly which threads are woken up
(musl uses a similar strategy for non-shared condition variables.)
Notes:
- A singly linked list is inadequate here, as a thread may need to
remove itself from the list on time-out or spurious wake-ups from
atomic_wait().
- vlc_list cannot be used here as it cannot sustain the definition of
VLC_STATIC_COND. Furthermore, vlc_list undefines the list node on
removal, which is inappropriate as per the previous note.
Rémi Denis-Courmont [Mon, 17 Feb 2020 17:30:00 +0000 (19:30 +0200)]
thread: rationalise vlc_atomic_timedwait()
This changes the function prototype and semantics to more closely match
the other VLC timed-wait functions:
- Return 0 on success, or an error code on "error", i.e., time-out.
- Take an absolute deadline rather than a relative delay in.
This fixes time drift due to preemption and simplifies the call sites.
Rémi Denis-Courmont [Wed, 19 Feb 2020 17:26:49 +0000 (19:26 +0200)]
android: remove useless semaphore
pthread_join() already takes care of waiting for the joined thread to
terminate.
Pierre Lamot [Wed, 19 Feb 2020 15:27:49 +0000 (16:27 +0100)]
qml: fix icon misaligned with on some systems
Defining the scale transform within the font resulted in vertical misalignment
on some systems.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Fri, 14 Feb 2020 09:30:52 +0000 (10:30 +0100)]
qml: make MLFolderSettings instantiable from ml maindisplay
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 18 Feb 2020 14:22:54 +0000 (15:22 +0100)]
qml: use system palette exposed from C++
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 18 Feb 2020 14:09:09 +0000 (15:09 +0100)]
qt: expose system color palette from C++ QPalette
QML SystemPalette is incomplete
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 18 Feb 2020 17:06:31 +0000 (18:06 +0100)]
qml: change cancel behavior in player
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 18 Feb 2020 16:27:30 +0000 (17:27 +0100)]
qml: forward every keys as HotKey when the Player Toolbar is hidden
navigation keys where blocked by the interface
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 17 Feb 2020 16:26:34 +0000 (17:26 +0100)]
qml: ensure album and artist labels don't collide with the time slider
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 17 Feb 2020 16:23:10 +0000 (17:23 +0100)]
qml: show the media title on top of the player view
For both video and audio
The title take the previous place of the resume panel
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 18 Feb 2020 16:09:55 +0000 (17:09 +0100)]
qml: remove negation in Player's boolean variable names
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 17 Feb 2020 12:54:17 +0000 (13:54 +0100)]
qml: display user friendy url in Video detailed informations
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Fri, 14 Feb 2020 14:42:10 +0000 (15:42 +0100)]
qml: set the default focus on the content rather than the navigation bar
This allows focus to be reset on the last item when navigating back rather
that having it on the navigation bar and having to go down to get it on the
item.
This doesn't force the focus when navigating with history buttons or when
changing tab.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 12 Feb 2020 14:01:56 +0000 (15:01 +0100)]
qml: provide modal dialogs instantiable from QML
This dialog allows to ask simple Yes/No questions, such as action
confirmation, with a simple callback mechanism.
The modal dialog need to be attached to the root widget to be displayed
properly.
Using vlc_dialog_wait_question for this would block the UI.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 11 Feb 2020 12:54:48 +0000 (13:54 +0100)]
qt: allow MlFoldersModel to be instantiated from qml
MlFoldersModel did require a vlc_medialibrary_t instance in its constructor
which can't be provided from QML.
* A setMl accessor is kept to keep it easily usable from Qt native.
* provide named roles
* remove delete role in favor of the exposed function (doesn't makes sens to
remove an entry by setting one of its properties)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 12 Feb 2020 17:19:50 +0000 (18:19 +0100)]
qt: update the current item in the PlaylistController on items updated callback
The current item can change without having the current index changing.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 13 Feb 2020 17:14:03 +0000 (18:14 +0100)]
qml: refresh elements from ExpandGridView on data update
We need to monitor the original model directly as the DelegateModel won't
notify us when the data is updated.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 13 Feb 2020 17:05:52 +0000 (18:05 +0100)]
qml: rename ExpandGridView.model to ExpandGridView.delegateModel
This prepare for next patch where the ExpandGridView needs both the model and
the delegate model
Fix name collision in calling sites.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 13 Feb 2020 16:45:10 +0000 (17:45 +0100)]
qt: notify dataChanged when a thumbnail is updated from the medialibrary
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 13 Feb 2020 14:24:05 +0000 (15:24 +0100)]
qml: dynamically sets the labels on the Video miniature
this avoids having a gap when one is missing
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 12 Feb 2020 14:18:54 +0000 (15:18 +0100)]
qml: provide default modelCount value in NavigableList/GridView
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 30 Jan 2020 17:07:11 +0000 (18:07 +0100)]
qml: move dblClick handler from AudioGridItem to MusicAlbums
the behavior is not shared amongst the view where it's used
(different behavior in the Genre view)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 17 Feb 2020 16:44:47 +0000 (17:44 +0100)]
qml: directly open the player view when opening a media from the video view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 27 Jan 2020 12:03:09 +0000 (13:03 +0100)]
qml: directly launch the video when pressing Ok key in the video grid view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Quentin Chateau [Thu, 20 Feb 2020 11:49:09 +0000 (12:49 +0100)]
player: fix source point system date on pause
Depending on the call order of vlc_player_UpdateTimerSource and
vlc_player_UpdateTimer, the system_date of the best timer source would
sometimes not be updated to INT64_MAX on pause.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Alexandre Janniaux [Tue, 18 Feb 2020 23:18:55 +0000 (00:18 +0100)]
codec: omxil: use switch lut for string conversion
Switch are optimized at least to the same form anyway, and they provide
better warnings in case of missing items as well as preventing typos.
It also fixes a cast warning as OMX_STATETYPE was used instead of the
enum ERRORTYPE in the error to string function, and adds missing items
from the enums.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Alexandre Janniaux [Tue, 18 Feb 2020 23:18:54 +0000 (00:18 +0100)]
codec: omxil: fix unused variable warnings
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Alexandre Janniaux [Tue, 18 Feb 2020 23:24:13 +0000 (00:24 +0100)]
compat: lfind: fix warnings
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Alexandre Janniaux [Tue, 18 Feb 2020 23:31:53 +0000 (00:31 +0100)]
libvlc-modules: remove stray commented attribute
PLAYLIST_USAGE was renamed and this was commented 15 years ago in the
commit
25a0dbbbcee45b3788a45707502be4c71198a08b.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Quentin Chateau [Wed, 19 Feb 2020 17:11:56 +0000 (18:11 +0100)]
nvdec: fix typo
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Rémi Denis-Courmont [Wed, 19 Feb 2020 18:08:58 +0000 (20:08 +0200)]
thread: improve Doxygen
David Fuhrmann [Mon, 17 Feb 2020 18:41:42 +0000 (19:41 +0100)]
auhal: Add debug message to check what audio device is restored
David Fuhrmann [Sat, 15 Feb 2020 11:27:06 +0000 (12:27 +0100)]
auhal: Use encoded audio output if this was stored before
Encoded output is stored in VLCs settings by adding the
AOUT_VAR_SPDIF_FLAG flag to the integer. Make sure this
configuration is also picked up again after restart, if it is stored
and actually available.
Credits: Andrey Y.
fixes #21170
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:39:13 +0000 (20:39 +0200)]
decklink: use vlc::threads for global lock
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:36:17 +0000 (20:36 +0200)]
upnp: use vlc::threads
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:23:57 +0000 (20:23 +0200)]
mkv/dispatcher: use vlc::threads
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:20:01 +0000 (20:20 +0200)]
skins: remove useless mutex
No need for a mutex to read/write a single value.
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:12:27 +0000 (20:12 +0200)]
qt/main: use vlc::threads
Rémi Denis-Courmont [Tue, 18 Feb 2020 18:06:33 +0000 (20:06 +0200)]
qt/singleton: use vlc::threads
Rémi Denis-Courmont [Mon, 17 Feb 2020 21:58:30 +0000 (23:58 +0200)]
taglib: use vlc::threads
Rémi Denis-Courmont [Mon, 17 Feb 2020 20:43:12 +0000 (22:43 +0200)]
thread: make vlc_thread_self() always work
This changes the return type of vlc_thread_self() to match (one of) the
C run-time native thread handle type. Then we add a macro to compare
handles for equality, which may be useful for self-debugging or to
implement recursive locking.
Without this, vlc_thread_self() returned NULL on non-POSIX platforms
on threads not created by vlc_clone() - such as the main thread - which
was not terribly helpful.
This function overlaps with vlc_thread_id(). But unlike the later, it
works on all platforms. There are in particular no portable ways to
implement vlc_thread_id() on POSIX Threads.
Rémi Denis-Courmont [Mon, 17 Feb 2020 20:20:44 +0000 (22:20 +0200)]
win32: inline vlc_thread_self() internally
Rémi Denis-Courmont [Mon, 17 Feb 2020 20:20:20 +0000 (22:20 +0200)]
os2: inline vlc_thread_self() locally
Rémi Denis-Courmont [Mon, 17 Feb 2020 20:19:30 +0000 (22:19 +0200)]
android: inline vlc_thread_self() internally
Thomas Guillem [Thu, 13 Feb 2020 13:17:30 +0000 (14:17 +0100)]
es_out: refactor program deletion
Thomas Guillem [Wed, 12 Feb 2020 13:58:16 +0000 (14:58 +0100)]
es_out: refactor program search
Split EsOutProgramFind() into EsOutProgramInsert() and EsOutProgramSearch().
EsOutProgramSearch() will return NULL if the program is not found.
This remove program search code duplication between EsOutProgramDel()
andEsOutProgramFind().
This will be useful for next commits since the program search will become a
little more complicated.
Thomas Guillem [Thu, 13 Feb 2020 15:28:26 +0000 (16:28 +0100)]
es_out: refactor and add comment
No functional changes.
Thomas Guillem [Mon, 10 Feb 2020 17:03:09 +0000 (18:03 +0100)]
es_out: rename function
The name was confusing, it has nothing to do with input master/slave.
Thomas Guillem [Thu, 13 Feb 2020 14:19:06 +0000 (15:19 +0100)]
es_out: remove no-op
An es is always created not scrambled. Only ES_OUT_SET_ES_SCRAMBLED_STATE can
change that state.
Francois Cartegnie [Mon, 17 Feb 2020 16:38:34 +0000 (17:38 +0100)]
demux: adaptive: fix regression with unknown/probed formats
For HLS, format is now probed in demux when unknown, but it
can still change before the demuxer starts due to getMimeType
ref #24237
Rémi Denis-Courmont [Mon, 17 Feb 2020 17:52:09 +0000 (19:52 +0200)]
threads: restore Doxygen on vlc_sem_t
Rémi Denis-Courmont [Mon, 17 Feb 2020 17:36:22 +0000 (19:36 +0200)]
Fix Makefile typo
Rémi Denis-Courmont [Sun, 16 Feb 2020 17:36:36 +0000 (19:36 +0200)]
vnc: use a semaphore instead of cancellation
Rémi Denis-Courmont [Sun, 16 Feb 2020 17:25:01 +0000 (19:25 +0200)]
mms: use semaphore rather than cancellation
Rémi Denis-Courmont [Sun, 16 Feb 2020 17:16:51 +0000 (19:16 +0200)]
thread: add vlc_sem_timedwait()
Rémi Denis-Courmont [Sun, 16 Feb 2020 17:07:47 +0000 (19:07 +0200)]
thread: remove vlc_sem_destroy()
This has become a useless no-op on all platforms.
Rémi Denis-Courmont [Sun, 16 Feb 2020 17:04:50 +0000 (19:04 +0200)]
thread: use generic semaphores on all platforms
Rémi Denis-Courmont [Sun, 16 Feb 2020 20:29:39 +0000 (22:29 +0200)]
thread: rectify atomic_uint-related assertions
Rémi Denis-Courmont [Sun, 16 Feb 2020 16:45:37 +0000 (18:45 +0200)]
thread: rewrite semaphores with an atomic variable
This replaces the generic/fallback implementation of VLC semaphores
based on a condition variable, a mutex and a value, with a lighter
implementation using just an atomic variable.
Rémi Denis-Courmont [Sun, 16 Feb 2020 15:56:04 +0000 (17:56 +0200)]
posix: add fallback vlc_atomic_* implementation
Rémi Denis-Courmont [Sun, 16 Feb 2020 15:28:40 +0000 (17:28 +0200)]
posix/getaddrinfo: simplify
Jonas Knöll [Sat, 15 Feb 2020 17:48:02 +0000 (18:48 +0100)]
input: fix seeking for external subtitles when changing chapters
This commit allows external subtitles to be shown correctly when changing to
previous chapters. Currently external subtitles would not be shown until the
played chapter was reached again. Seeking to different time points does not
have this issue. This seems to be the case because there is no SlaveSeek call
for INPUT_CONTROL_SET_SEEKPOINT_PREV, which this patch now adds.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Marvin Scholz [Sat, 15 Feb 2020 00:59:02 +0000 (01:59 +0100)]
opengl: Fix sub renderer shaders for non OpenGL ES
Fixes a regression causing failure to compile these shaders on macOS,
introduced in
7b37967062de2a23dd6bca82ec5d7574e3783a05
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Rémi Denis-Courmont [Sun, 16 Feb 2020 20:14:31 +0000 (22:14 +0200)]
libvlc: use flag instead of cancellation
Rémi Denis-Courmont [Sun, 16 Feb 2020 14:02:04 +0000 (16:02 +0200)]
src: deduplicate Linux sources selection
Rémi Denis-Courmont [Sun, 16 Feb 2020 13:14:03 +0000 (15:14 +0200)]
src: reduce nesting levels of OS-specific sources
Rémi Denis-Courmont [Sun, 16 Feb 2020 14:01:31 +0000 (16:01 +0200)]
getaddrinfo: fix typo
Steve Lhomme [Thu, 13 Feb 2020 15:03:47 +0000 (16:03 +0100)]
direct3d9: rename the decoder device to "dxva2"
This easier to set by users than "d3d9-device".
It also matches the name better since it can also be used with OpenGL.
Steve Lhomme [Thu, 13 Feb 2020 15:02:40 +0000 (16:02 +0100)]
direct3d11: rename the decoder device to "d3d11"
This easier to set by users than "d3d11-device".
Steve Lhomme [Thu, 13 Feb 2020 15:04:44 +0000 (16:04 +0100)]
nvdec: rename the decoder device to "nvdec"
This is easier to set by users than "nvdec-device".
Steve Lhomme [Thu, 13 Feb 2020 15:04:08 +0000 (16:04 +0100)]
mmal: rename the decoder device to "mmal"
This easier to set by users than "mmal-device".
Steve Lhomme [Tue, 11 Feb 2020 12:59:49 +0000 (13:59 +0100)]
libvlc: rename libvlc_video_direct3d_engine_d3d9
Use a similar name to the OpenGL engines
Steve Lhomme [Tue, 11 Feb 2020 12:59:10 +0000 (13:59 +0100)]
libvlc: rename libvlc_video_direct3d_engine_d3d11
Use a similar name to the OpenGL engines
Steve Lhomme [Fri, 31 Jan 2020 11:01:53 +0000 (12:01 +0100)]
tools: meson: don't use "allow-shlib-undefined" with LLVM if not supported
From https://github.com/mesonbuild/meson/pull/5912
This solves the -lpthread detection issue with libplacebo when compiling with
LLVM for Windows.
Steve Lhomme [Fri, 31 Jan 2020 11:02:38 +0000 (12:02 +0100)]
tools: meson: use the latest 0.53.1 release
Steve Lhomme [Fri, 31 Jan 2020 10:20:54 +0000 (11:20 +0100)]
package/win32: build.sh: don't require a wine installation on WSL
No need to add a lot of packages just to run one program.
Pierre Lamot [Thu, 30 Jan 2020 09:40:54 +0000 (10:40 +0100)]
qml: avoid focus loss when localMenuGroup gets hidden in the banner
this can happen when navigating back from album to video view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 12 Feb 2020 14:22:49 +0000 (15:22 +0100)]
qml: factorise navigation bindings
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 11 Feb 2020 11:50:40 +0000 (12:50 +0100)]
qml: link to NetworkView when ml is empty
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 10 Feb 2020 16:30:55 +0000 (17:30 +0100)]
qml: factorise medialibrary empty label
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 30 Jan 2020 17:21:25 +0000 (18:21 +0100)]
qml: split the music genre view
the genre view can now either load the regular view presenting the genres
or load a specialized album view for a defined genre
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 14:34:19 +0000 (15:34 +0100)]
qml: add title in music genre view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 30 Jan 2020 17:08:56 +0000 (18:08 +0100)]
qt: track count of MusicGenre model was missing
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Mon, 10 Feb 2020 10:34:19 +0000 (11:34 +0100)]
qml: handle cancel action using NavigableFocusScope callback in player
this avoids double handling of the key
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 12:26:49 +0000 (13:26 +0100)]
qml: cancel closes the playlist and restore focus in medialib view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 30 Jan 2020 12:35:22 +0000 (13:35 +0100)]
qml: reset viewProperties when changing view
when changing view, viewProperties from the previous view may be applied
on the new view.
for instance, when navigating from genre > album(filtered with genre) >
tracks the track list ended up filtered by the genre of the previous view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Thu, 30 Jan 2020 09:05:26 +0000 (10:05 +0100)]
qml: don't layout the expandGridView before it has a proper size
this avoids using 0 width/height in our calculus
Initialization will make the initial current index visible.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 13:58:51 +0000 (14:58 +0100)]
qml: restore the focus on the last artist when navigating back to the artist view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 13:56:58 +0000 (14:56 +0100)]
qml: restore the focus on the last video when navigating back to the video view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Tue, 28 Jan 2020 16:45:36 +0000 (17:45 +0100)]
qml: restore the focus on the last album when navigating back to the album view
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 11:55:35 +0000 (12:55 +0100)]
qml: add a helper method to clear the selection in SelectableDelegateModel
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 11:50:45 +0000 (12:50 +0100)]
qml: add a positionViewAtIndex method in ExpandGridView
It provides the same functionnality as positionViewAtIndex from
QtQuick GridView/ListView. mode argument is ignored at the moment
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Pierre Lamot [Wed, 29 Jan 2020 13:21:49 +0000 (14:21 +0100)]
qml: expose positionViewAtIndex in KeyNavigable{List|Grid}View
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>