[vlc-devel] [PATCH 00/22] qml: improve navigation

Pierre Lamot pierre at videolabs.io
Fri Feb 14 11:23:35 CET 2020


  This branch intends to improve navigation, notably :

  * Current history node can be updated to reflect the current view state
    (typically when navigating in items or scrolling).

  * Navigating back to a Medialibrary view should restore the position of the
    view on the last item seen.

  * GenreView has been split between the actual genre view and filtered album
    view, this no longer goes to the album tab.

  * Clicking on an "XXX is empty, add sources from Network" label links to the
    Network view.


Pierre Lamot (22):
  qml: allow to update the current history item
  qml: history.push changes view by default
  qml: use history calls without the Go parameter as this is the default
    now
  qml: distinct the "album" view from the album component used in other
    view
  qml: set the default focus on the action buttons in the music album
    expand view
  qml: expose positionViewAtIndex in KeyNavigable{List|Grid}View
  qml: add a positionViewAtIndex method in ExpandGridView
  qml: add a helper method to clear the selection in
    SelectableDelegateModel
  qml: restore the focus on the last album when navigating back to the
    album view
  qml: restore the focus on the last video when navigating back to the
    video view
  qml: restore the focus on the last artist when navigating back to the
    artist view
  qml: don't layout the expandGridView before it has a proper size
  qml: reset viewProperties when changing view
  qml: cancel closes the playlist and restore focus in medialib view
  qml: handle cancel action using NavigableFocusScope callback in player
  qt: track count of MusicGenre model was missing
  qml: add title in music genre view
  qml: split the music genre view
  qml: factorise medialibrary empty label
  qml: link to NetworkView when ml is empty
  qml: factorise navigation bindings
  qml: avoid focus loss when localMenuGroup gets hidden in the banner

 modules/gui/qt/Makefile.am                    |   3 +
 modules/gui/qt/dialogs/help/qml/About.qml     |   2 +-
 .../qt/maininterface/qml/BannerSources.qml    |  12 +-
 .../qt/maininterface/qml/MainInterface.qml    |  16 +-
 modules/gui/qt/medialibrary/mlgenre.cpp       |   2 +
 .../gui/qt/medialibrary/qml/EmptyLabel.qml    |  53 ++++
 .../gui/qt/medialibrary/qml/MainDisplay.qml   |  57 ++--
 .../gui/qt/medialibrary/qml/MusicAlbums.qml   | 245 ++++++++++++++++++
 .../medialibrary/qml/MusicAlbumsDisplay.qml   | 219 +---------------
 .../qml/MusicAlbumsGridExpandDelegate.qml     |   4 +-
 .../medialibrary/qml/MusicArtistsDisplay.qml  |  84 ++++--
 .../gui/qt/medialibrary/qml/MusicDisplay.qml  |  22 +-
 .../gui/qt/medialibrary/qml/MusicGenres.qml   | 241 +++++++++++++++++
 .../medialibrary/qml/MusicGenresDisplay.qml   | 203 ++++-----------
 .../qml/MusicTrackListDisplay.qml             |  11 -
 .../medialibrary/qml/MusicTracksDisplay.qml   |  29 ++-
 .../gui/qt/medialibrary/qml/VideoDisplay.qml  |  48 +++-
 modules/gui/qt/menus/qml/HelpMenu.qml         |   2 +-
 .../qt/network/qml/NetworkBrowseDisplay.qml   |   6 +-
 .../qml/NetworksSectionSelectableDM.qml       |   6 +-
 modules/gui/qt/player/qml/ControlBar.qml      |   2 +-
 modules/gui/qt/player/qml/ControlButtons.qml  |   2 +-
 modules/gui/qt/player/qml/MiniPlayer.qml      |   4 +-
 modules/gui/qt/player/qml/Player.qml          |  13 +-
 modules/gui/qt/player/qml/TopBar.qml          |   2 +-
 modules/gui/qt/util/navigation_history.cpp    |  17 +-
 modules/gui/qt/util/navigation_history.hpp    |  23 +-
 .../qt/util/qml/SelectableDelegateModel.qml   |  23 +-
 modules/gui/qt/vlc.qrc                        |   3 +
 modules/gui/qt/widgets/qml/ExpandGridView.qml |  75 ++++--
 .../qt/widgets/qml/KeyNavigableGridView.qml   |   4 +
 .../qt/widgets/qml/KeyNavigableListView.qml   |   4 +
 .../qt/widgets/qml/KeyNavigableTableView.qml  |   4 +
 33 files changed, 911 insertions(+), 530 deletions(-)
 create mode 100644 modules/gui/qt/medialibrary/qml/EmptyLabel.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/MusicAlbums.qml
 create mode 100644 modules/gui/qt/medialibrary/qml/MusicGenres.qml

--
2.17.1


More information about the vlc-devel mailing list