[vlc-devel] menu work - CSD?
Lyndon Brown
jnqnfe at gmail.com
Thu Sep 24 16:52:08 CEST 2020
On Thu, 2020-09-24 at 09:40 +0200, Pierre Lamot wrote:
> On 2020-09-23 21:12, Lyndon Brown wrote:
> > Without meaning to derail discussion of the proposed change, on the
> > topic of menus, I though I'd just take the opportunity to ask
> > whether
> > there are any plans in terms of adoption of CSD, now that Qt 5.15
> > finally has brought support for it?
> >
> > I'm a fan of "modern" CSD designs, and if done well, it might be a
> > very
> > welcome enhancement to the v4.0 redesign.
>
> Yes we do have plans to implement CSD.
Awesome :)
> CSD will be an optional feature (like it's done in firefox for
> instance).
> We are still evaluating way to do it. either using 5.15
> functionalities
> (but
> this mean that this will be unavailable when your Qt version is
> older)
> or with a
> custom implementation which would be available everywhere but it
> probably requires
> a lot more work to have something complete.
Sure.
> > On Wed, 2020-09-23 at 14:27 +0200, Pierre Lamot wrote:
> > > this patchset brings back native menu in the UI.
> > >
> > > The rational to ditch qml Menus is:
> > >
> > > * QML menus are limited to the window frame of the UI (as they
> > > are
> > > drawn within
> > > QML the OpenGL context).
> > >
> > > * Non-native look'n feel (requires a lot of customisation).
> > >
> > > * UX is a bit off, navigating between submenus is not really
> > > smooth
> > > (submenus
> > > close themselves with no latency as soon as the mouse leaves
> > > the
> > > submenu area)
> > >
> > > * Mixing static and dynamic menu entries or having optional
> > > entries
> > > often
> > > requires a lot of hacks.
> > >
> > > * Native menus brings back functionalities that haven't been
> > > ported
> > > yet (like lua
> > > scripts and Renderer selection).
> > >
> > > Qt.labs.plateform menus was a potential alternative, but it's a
> > > bit
> > > hit and
> > > miss. Some functionalities are missing and it suffers from the
> > > same
> > > drawback
> > > regarding dynamic entries.
> > >
> > > At the moment QML menus are kept for the MenuBar version (for the
> > > --
> > > no-medialib
> > > version)
> > >
> > > Fatih Uzunoglu (1):
> > > qt: clean MainUI
> > >
> > > Pierre Lamot (17):
> > > qt: move gridView mode property to MainInterface
> > > qt: remove obsolete menu entries
> > > qt: use Qt modern style connections when building menus
> > > qt: allow to specify whether CheckableListMenu should use a
> > > QActionGroup
> > > qml: move color scheme to main interface
> > > qt: remove obsolete settings class
> > > qt: make Role enum of medialib models public
> > > qt: allow passing media options when playing/enqueueing
> > > medialibrary
> > > items
> > > qt: playlistItem bool operator return true when it has an
> > > actual
> > > content
> > > qt: bring back native menu for intf dialog popup menu
> > > qml: pass mouse position to contextMenuButtonClicked signal
> > > qml: use a native implementation for the main dropdown menu
> > > qml: use a native implementation for medialibrary contextual
> > > menu
> > > qml: use a native implementation for network contextual menu
> > > qml: use a native implementation for playlist contextual menu
> > > qml: factorize mouse interaction in grid views
> > > qml: right clicking selected items in table view should not
> > > reset
> > > selection
> > >
> > > modules/gui/qt/Makefile.am | 8 +-
> > > modules/gui/qt/dialogs/dialogs_provider.cpp | 13 +-
> > > .../gui/qt/dialogs/toolbar/toolbareditor.cpp | 2 -
> > > .../gui/qt/maininterface/main_interface.cpp | 24 +-
> > > .../gui/qt/maininterface/main_interface.hpp | 19 +-
> > > modules/gui/qt/maininterface/mainui.cpp | 52 +--
> > > modules/gui/qt/maininterface/mainui.hpp | 33 --
> > > .../qt/maininterface/qml/BannerSources.qml | 18 +-
> > > modules/gui/qt/medialibrary/medialib.cpp | 64 ++-
> > > modules/gui/qt/medialibrary/medialib.hpp | 21 +-
> > > .../gui/qt/medialibrary/mlalbumtrackmodel.cpp | 20 -
> > > .../gui/qt/medialibrary/mlalbumtrackmodel.hpp | 17 +
> > > modules/gui/qt/medialibrary/mlartistmodel.cpp | 12 -
> > > modules/gui/qt/medialibrary/mlartistmodel.hpp | 10 +
> > > modules/gui/qt/medialibrary/mlbasemodel.hpp | 2 +
> > > modules/gui/qt/medialibrary/mlgenremodel.cpp | 12 -
> > > modules/gui/qt/medialibrary/mlgenremodel.hpp | 12 +
> > > modules/gui/qt/medialibrary/mlvideomodel.cpp | 22 -
> > > modules/gui/qt/medialibrary/mlvideomodel.hpp | 20 +
> > > .../gui/qt/medialibrary/qml/MusicAlbums.qml | 56 +--
> > > .../gui/qt/medialibrary/qml/MusicArtist.qml | 62 ++-
> > > .../medialibrary/qml/MusicArtistsDisplay.qml | 46 +--
> > > .../gui/qt/medialibrary/qml/MusicGenres.qml | 48 +--
> > > .../qml/MusicTrackListDisplay.qml | 9 +
> > > .../medialibrary/qml/MusicTracksDisplay.qml | 28 --
> > > .../gui/qt/medialibrary/qml/VideoDisplay.qml | 97 ++---
> > > .../qt/medialibrary/qml/VideoListDisplay.qml | 7 -
> > > modules/gui/qt/menus/custom_menus.cpp | 15 +-
> > > modules/gui/qt/menus/custom_menus.hpp | 11 +-
> > > modules/gui/qt/menus/menus.cpp | 168 ++++----
> > > modules/gui/qt/menus/menus.hpp | 4 +-
> > > modules/gui/qt/menus/qml/ViewMenu.qml | 16 +-
> > > modules/gui/qt/menus/qml_menu_wrapper.cpp | 377
> > > ++++++++++++++++++
> > > modules/gui/qt/menus/qml_menu_wrapper.hpp | 163 ++++++++
> > > modules/gui/qt/network/networkdevicemodel.cpp | 14 -
> > > modules/gui/qt/network/networkdevicemodel.hpp | 11 +
> > > modules/gui/qt/network/networkmediamodel.cpp | 16 -
> > > modules/gui/qt/network/networkmediamodel.hpp | 12 +
> > > .../qt/network/qml/NetworkBrowseDisplay.qml | 89 +----
> > > modules/gui/qt/player/qml/ControlButtons.qml | 18 +-
> > > modules/gui/qt/player/qml/Player.qml | 7 -
> > > modules/gui/qt/playlist/media.hpp | 9 +-
> > > modules/gui/qt/playlist/playlist_item.cpp | 2 +-
> > > modules/gui/qt/playlist/qml/PLItem.qml | 8 +-
> > > .../gui/qt/playlist/qml/PlaylistListView.qml | 155 +------
> > > modules/gui/qt/style/VLCColors.qml | 8 +-
> > > modules/gui/qt/util/color_scheme_model.cpp | 106 +++++
> > > modules/gui/qt/util/color_scheme_model.hpp | 50 +++
> > > modules/gui/qt/util/settings.cpp | 37 --
> > > modules/gui/qt/util/settings.hpp | 52 ---
> > > modules/gui/qt/widgets/qml/ExpandGridView.qml | 12 +
> > > modules/gui/qt/widgets/qml/GridItem.qml | 8 +-
> > > .../qt/widgets/qml/KeyNavigableTableView.qml | 12 +-
> > > 53 files changed, 1176 insertions(+), 938 deletions(-)
> > > create mode 100644 modules/gui/qt/menus/qml_menu_wrapper.cpp
> > > create mode 100644 modules/gui/qt/menus/qml_menu_wrapper.hpp
> > > create mode 100644 modules/gui/qt/util/color_scheme_model.cpp
> > > create mode 100644 modules/gui/qt/util/color_scheme_model.hpp
> > > delete mode 100644 modules/gui/qt/util/settings.cpp
> > > delete mode 100644 modules/gui/qt/util/settings.hpp
> > >
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list