diff --git a/modules/gui/qt/menus/qml_menu_wrapper.cpp b/modules/gui/qt/menus/qml_menu_wrapper.cpp index a54f049d46..22b77e0a2e 100644 --- a/modules/gui/qt/menus/qml_menu_wrapper.cpp +++ b/modules/gui/qt/menus/qml_menu_wrapper.cpp @@ -215,6 +215,25 @@ void SortMenuVideo::onPopup(QMenu * menu) /* override */ } } +void SortMenuAlbums::onPopup(QMenu *menu) +{ + if (!m_sectionsVisible) + return; + + assert(m_ctx); + assert(menu); + + menu->addSeparator(); + + QAction *action = menu->addAction(qtr("Album sections")); + action->setCheckable(true); + action->setChecked(m_ctx->albumSections()); + connect(action, &QAction::toggled, this, [this] (bool enabled) { + if (Q_LIKELY(m_ctx)) + m_ctx->setAlbumSections(enabled); + }); +} + QmlGlobalMenu::QmlGlobalMenu(QObject *parent) : VLCMenuBar(parent) { diff --git a/modules/gui/qt/menus/qml_menu_wrapper.hpp b/modules/gui/qt/menus/qml_menu_wrapper.hpp index 4bde066a3d..e99a49f6dc 100644 --- a/modules/gui/qt/menus/qml_menu_wrapper.hpp +++ b/modules/gui/qt/menus/qml_menu_wrapper.hpp @@ -135,6 +135,16 @@ signals: void grouping(MainCtx::Grouping grouping); }; +class SortMenuAlbums : public SortMenu +{ + Q_OBJECT + + SIMPLE_MENU_PROPERTY(bool, sectionsVisible, false) + +protected: + void onPopup(QMenu * menu) override; +}; + //inherit VLCMenuBar so we can access menu creation functions class QmlGlobalMenu : public VLCMenuBar {