[vlc-devel] [PATCH 00/12] First implementation of groups on the Qt side

Benjamin Arnaud benjamin.arnaud at videolabs.io
Wed Apr 14 08:05:47 UTC 2021


This patch is a first implementation of medialibrary groups on the Qt / QML side.

It contains the following:
- A collection of models that make group(s) accessible from our views.
- Parented media(s) support in the MLVideoModel.
- QML views for the Video tabs displaying:
    - The list of group(s) and video(s)
    - The list of video(s) inside a group.
- Contextual menus for each view.

This is a first implementation and we still need to implement the thumbnails, similar to what we already have on Android.

Thanks to Pierre, Chouquette and rom1v for their support.

Benjamin Arnaud (12):
  medialibrary: Add comprehensive group support
  qt/mlvideomodel: Add support for parented media(s) in the
    MLVideoModel::Loader
  qt: Create MLGroup
  qt: Create MLGroupListModel
  qt/mlbasemodel: Add 'getData' function for QModelIndex
  qt/qml_menu_wrapper: Add group support
  qt/mainui: Add QML group support
  qml/VideoListDisplay: Add configuration for the 'mainCriteria'
  qml/VideoAll: Add support for different models qml/VideoGridItem:
    Remove the static 'onItemDoubleClicked' behavior
  qml: Create MediaGroupList
  qml: Create MediaGroupDisplay
  qml: Create VideoGroupsDisplay

 include/vlc_media_library.h                   |  83 ++++
 modules/gui/qt/Makefile.am                    |   9 +
 modules/gui/qt/maininterface/mainui.cpp       |   3 +
 modules/gui/qt/medialibrary/mlbasemodel.cpp   |  21 +-
 modules/gui/qt/medialibrary/mlbasemodel.hpp   |   3 +-
 modules/gui/qt/medialibrary/mlevent.hpp       |   5 +
 modules/gui/qt/medialibrary/mlgroup.cpp       |  70 ++++
 modules/gui/qt/medialibrary/mlgroup.hpp       |  64 +++
 .../gui/qt/medialibrary/mlgrouplistmodel.cpp  | 287 +++++++++++++
 .../gui/qt/medialibrary/mlgrouplistmodel.hpp  |  91 ++++
 modules/gui/qt/medialibrary/mlqmltypes.hpp    |   1 +
 modules/gui/qt/medialibrary/mlvideomodel.cpp  |  43 +-
 .../qt/medialibrary/qml/MediaGroupDisplay.qml |  73 ++++
 .../qt/medialibrary/qml/MediaGroupList.qml    | 393 ++++++++++++++++++
 modules/gui/qt/medialibrary/qml/VideoAll.qml  |  41 +-
 .../gui/qt/medialibrary/qml/VideoDisplay.qml  |   6 +-
 .../gui/qt/medialibrary/qml/VideoGridItem.qml |   6 -
 .../medialibrary/qml/VideoGroupsDisplay.qml   | 117 ++++++
 .../qt/medialibrary/qml/VideoListDisplay.qml  | 102 ++++-
 modules/gui/qt/menus/qml_menu_wrapper.cpp     |  45 ++
 modules/gui/qt/menus/qml_menu_wrapper.hpp     |  21 +
 modules/gui/qt/vlc.qrc                        |   3 +
 modules/misc/medialibrary/entities.cpp        |  17 +
 modules/misc/medialibrary/medialibrary.cpp    | 125 +++++-
 modules/misc/medialibrary/medialibrary.h      |   3 +
 po/POTFILES.in                                |   7 +
 src/libvlccore.sym                            |   2 +
 src/misc/medialibrary.c                       |  27 ++
 28 files changed, 1589 insertions(+), 79 deletions(-)
 create mode 100644 modules/gui/qt/medialibrary/mlgroup.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlgroup.hpp
 create mode 100644 modules/gui/qt/medialibrary/mlgrouplistmodel.cpp
 create mode 100644 modules/gui/qt/medialibrary/mlgrouplistmodel.hpp
 create mode 100644 modules/gui/qt/medialibrary/qml/MediaGroupDisplay.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/MediaGroupList.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/VideoGroupsDisplay.qml

-- 
2.25.1



More information about the vlc-devel mailing list