[vlc-devel] [PATCH 07/17] qt: Add PlaylistsDialog to the dialog provider
Benjamin Arnaud
benjamin.arnaud at videolabs.io
Fri Feb 19 10:25:31 UTC 2021
---
include/vlc_interface.h | 1 +
modules/gui/qt/dialogs/dialogs_provider.cpp | 21 +++++++++++++++++++++
modules/gui/qt/dialogs/dialogs_provider.hpp | 2 ++
3 files changed, 24 insertions(+)
diff --git a/include/vlc_interface.h b/include/vlc_interface.h
index 021314c37b..e1df976506 100644
--- a/include/vlc_interface.h
+++ b/include/vlc_interface.h
@@ -123,6 +123,7 @@ typedef enum vlc_intf_dialog {
INTF_DIALOG_WIZARD,
INTF_DIALOG_PLAYLIST,
+ INTF_DIALOG_PLAYLISTS,
INTF_DIALOG_MESSAGES,
INTF_DIALOG_FILEINFO,
INTF_DIALOG_PREFS,
diff --git a/modules/gui/qt/dialogs/dialogs_provider.cpp b/modules/gui/qt/dialogs/dialogs_provider.cpp
index 1d56587d57..a5d7cfd20e 100644
--- a/modules/gui/qt/dialogs/dialogs_provider.cpp
+++ b/modules/gui/qt/dialogs/dialogs_provider.cpp
@@ -54,6 +54,7 @@
#include "dialogs/plugins/plugins.hpp"
#include "dialogs/epg/epg.hpp"
#include "dialogs/errors/errors.hpp"
+#include "dialogs/playlists/playlists.hpp"
#include <QEvent>
#include <QApplication>
@@ -90,6 +91,7 @@ DialogsProvider::~DialogsProvider()
#endif
PluginDialog::killInstance();
EpgDialog::killInstance();
+ PlaylistsDialog::killInstance();
delete popupMenu;
delete videoPopupMenu;
@@ -141,6 +143,8 @@ void DialogsProvider::customEvent( QEvent *event )
//FIXME
//playlistDialog(); break;
break;
+ case INTF_DIALOG_PLAYLISTS:
+ playlistsDialog(); break;
case INTF_DIALOG_MESSAGES:
messagesDialog(); break;
case INTF_DIALOG_FILEINFO:
@@ -314,6 +318,23 @@ void DialogsProvider::mediaCodecDialog()
dialog->hide();
}
+void DialogsProvider::playlistsDialog()
+{
+ PlaylistsDialog::getInstance( p_intf )->toggleVisible();
+}
+
+void DialogsProvider::playlistsDialog( const QVariantList & medias )
+{
+ PlaylistsDialog * dialog = PlaylistsDialog::getInstance( p_intf );
+
+ dialog->setMedias(medias);
+
+ dialog->show();
+
+ // FIXME: We shouldn't have to call this on here.
+ dialog->getInstance( p_intf )->activateWindow();
+}
+
void DialogsProvider::bookmarksDialog()
{
BookmarksDialog::getInstance( p_intf )->toggleVisible();
diff --git a/modules/gui/qt/dialogs/dialogs_provider.hpp b/modules/gui/qt/dialogs/dialogs_provider.hpp
index f7a430f0b1..d0284da337 100644
--- a/modules/gui/qt/dialogs/dialogs_provider.hpp
+++ b/modules/gui/qt/dialogs/dialogs_provider.hpp
@@ -123,6 +123,8 @@ private:
void openDialog( int );
public slots:
+ void playlistsDialog();
+ void playlistsDialog( const QVariantList & listMedia );
void bookmarksDialog();
void mediaInfoDialog( void );
void mediaInfoDialog( const PlaylistItem& pItem );
--
2.25.1
More information about the vlc-devel
mailing list