From 4cd7e935253548370fb8a561fe607329621cdec8 Mon Sep 17 00:00:00 2001 From: Prince Gupta Date: Thu, 14 Mar 2024 11:57:25 +0530 Subject: [PATCH] qml: add option to jump to playing in Playlist --- modules/gui/qt/menus/qml_menu_wrapper.cpp | 6 ++++++ modules/gui/qt/menus/qml_menu_wrapper.hpp | 3 +++ modules/gui/qt/playlist/qml/PlaylistListView.qml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/modules/gui/qt/menus/qml_menu_wrapper.cpp b/modules/gui/qt/menus/qml_menu_wrapper.cpp index 9312460bc9..381cd168df 100644 --- a/modules/gui/qt/menus/qml_menu_wrapper.cpp +++ b/modules/gui/qt/menus/qml_menu_wrapper.cpp @@ -874,6 +874,12 @@ void PlaylistContextMenu::popup(int selectedIndex, QPoint pos ) m_menu->addSeparator(); } + if (m_controler->currentIndex() != -1) + { + action = m_menu->addAction( qtr("Jump to current playing")); + connect(action, &QAction::triggered, this, &PlaylistContextMenu::jumpToCurrentPlaying); + } + if (m_selectionModel->hasSelection()) { action = m_menu->addAction( qtr("Stream") ); connect(action, &QAction::triggered, [selectedUrlList]( ) { diff --git a/modules/gui/qt/menus/qml_menu_wrapper.hpp b/modules/gui/qt/menus/qml_menu_wrapper.hpp index 39678b8a5f..ac6c9ce2b1 100644 --- a/modules/gui/qt/menus/qml_menu_wrapper.hpp +++ b/modules/gui/qt/menus/qml_menu_wrapper.hpp @@ -378,6 +378,9 @@ class PlaylistContextMenu : public QObject { public: PlaylistContextMenu(QObject* parent = nullptr); +signals: + void jumpToCurrentPlaying(); + public slots: void popup(int currentIndex, QPoint pos ); private: diff --git a/modules/gui/qt/playlist/qml/PlaylistListView.qml b/modules/gui/qt/playlist/qml/PlaylistListView.qml index d2d4284d28..6439bb7466 100644 --- a/modules/gui/qt/playlist/qml/PlaylistListView.qml +++ b/modules/gui/qt/playlist/qml/PlaylistListView.qml @@ -137,6 +137,8 @@ T.Pane { model: root.model selectionModel: root.selectionModel controler: MainPlaylistController + + onJumpToCurrentPlaying: listView.positionViewAtIndex( MainPlaylistController.currentIndex, ItemView.Center) } background: Widgets.AcrylicBackground {