[vlc-commits] [Git][videolan/vlc][master] qt: Add context menu to configure podcast RSS feeds
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Mar 12 11:54:38 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
b14dde8f by Atul Singh at 2026-03-12T11:31:48+00:00
qt: Add context menu to configure podcast RSS feeds
Fixes vlc#29612
This commit fixes the missing 'Add' button functionality for podcast
RSS feeds in VLC4 Qt interface. The podcast configuration dialog
exists but was not accessible from the Services view, unlike VLC3
which had a 'Configure podcasts...' menu item.
Changes:
- Add context menu to podcast service in Network Sources view
- Menu appears on right-click only for 'podcast' services
- Provides 'Configure...' option that opens existing podcast dialog
- Uses StringListMenu for native menu appearance
- Imports VLC.Menus module for menu functionality
The podcast configuration dialog already contains the 'Add' button
for adding RSS feed URLs, making the podcast module fully functional
once users can access the configuration interface.
User workflow:
1. Navigate to View -> Playlist -> My Network Sources
2. Right-click on 'Podcast' service
3. Select 'Configure...' to open podcast configuration dialog
4. Add RSS feed URLs using the existing 'Add' button
This restores the essential podcast RSS feed management capability
that was missing in VLC4 while maintaining consistency with the
existing Qt interface patterns.
- - - - -
1 changed file:
- modules/gui/qt/network/qml/ServicesSources.qml
Changes:
=====================================
modules/gui/qt/network/qml/ServicesSources.qml
=====================================
@@ -25,6 +25,8 @@ import VLC.Util
import VLC.MainInterface
import VLC.Style
import VLC.Network
+import VLC.Dialogs
+import VLC.Menus
Widgets.ExpandGridItemView {
id: root
@@ -60,6 +62,7 @@ Widgets.ExpandGridItemView {
property var model: ({})
property int index: -1
readonly property bool is_dummy: model.type === NetworkSourcesModel.TYPE_DUMMY
+ readonly property bool is_podcast: !is_dummy && model.name && model.name.startsWith("podcast")
width: root.cellWidth;
height: root.cellHeight;
@@ -111,6 +114,12 @@ Widgets.ExpandGridItemView {
root.currentIndex = index
root.forceActiveFocus()
}
+
+ onContextMenuButtonClicked: (menuParent, globalMousePos) => {
+ if (is_podcast) {
+ serviceContextMenu.popup(globalMousePos, [qsTr("Configure...")])
+ }
+ }
}
onActionAtIndex: (index) => {
@@ -135,4 +144,16 @@ Widgets.ExpandGridItemView {
sortOrder: MainCtx.sort.order
sortCriteria: MainCtx.sort.criteria
}
+
+ StringListMenu {
+ id: serviceContextMenu
+
+ ctx: MainCtx
+
+ onSelected: (index, modelData) => {
+ if (index === 0) {
+ DialogsProvider.podcastConfigureDialog()
+ }
+ }
+ }
}
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/b14dde8f726adcd11bff2a5b63e1c376ac58adcb
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/b14dde8f726adcd11bff2a5b63e1c376ac58adcb
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list