diff --git a/modules/gui/qt/maininterface/mainctx.cpp b/modules/gui/qt/maininterface/mainctx.cpp index 3731c15f12273f55610bd0e15a684c8a100d6845..e7fc42a38bfdb372837796e89dfbfa17ea687c23 100644 --- a/modules/gui/qt/maininterface/mainctx.cpp +++ b/modules/gui/qt/maininterface/mainctx.cpp @@ -160,7 +160,7 @@ MainCtx::MainCtx(qt_intf_t *_p_intf) vlc_medialibrary_t* ml = vlc_ml_instance_get( p_intf ); b_hasMedialibrary = (ml != NULL); if (b_hasMedialibrary) { - m_medialib = new MediaLib(p_intf); + m_medialib = new MediaLib(p_intf, p_intf->p_mainPlaylistController); } /* Controlbar Profile Model Creation */ diff --git a/modules/gui/qt/medialibrary/medialib.cpp b/modules/gui/qt/medialibrary/medialib.cpp index 8bf03bec378f58b2abe8f96ee22d077535e7c95f..a19f93b85c74c43cb0c387bdec86e558b194051e 100644 --- a/modules/gui/qt/medialibrary/medialib.cpp +++ b/modules/gui/qt/medialibrary/medialib.cpp @@ -23,9 +23,10 @@ #include <utility> -MediaLib::MediaLib(qt_intf_t *_intf, QObject *_parent) +MediaLib::MediaLib(qt_intf_t *_intf, vlc::playlist::PlaylistController* playlistController, QObject *_parent) : QObject( _parent ) , m_intf( _intf ) + , m_playlistController(playlistController) , m_ml( vlc_ml_instance_get( _intf ) ) , m_event_cb( nullptr, [this](vlc_ml_event_callback_t* cb ) { vlc_ml_event_unregister_callback( m_ml, cb ); @@ -138,14 +139,14 @@ void MediaLib::addToPlaylist(const QString& mrl, const QStringList &options) { QVector<vlc::playlist::Media> medias; convertQStringToPlaylistMedias(mrl, options, medias); - m_intf->p_mainPlaylistController->append(medias, false); + m_playlistController->append(medias, false); } void MediaLib::addToPlaylist(const QUrl& mrl, const QStringList &options) { QVector<vlc::playlist::Media> medias; convertQUrlToPlaylistMedias(mrl, options, medias); - m_intf->p_mainPlaylistController->append(medias, false); + m_playlistController->append(medias, false); } // A specific item has been asked to be added to the playlist @@ -163,7 +164,7 @@ void MediaLib::addToPlaylist(const MLItemId & itemId, const QStringList &options //UI thread [this](quint64, Context& ctx){ if (!ctx.medias.empty()) - m_intf->p_mainPlaylistController->append(ctx.medias, false); + m_playlistController->append(ctx.medias, false); }); } @@ -182,7 +183,7 @@ void MediaLib::addToPlaylist(const QVariantList& itemIdList, const QStringList & //UI thread [this](quint64, Context& ctx){ if (!ctx.medias.empty()) - m_intf->p_mainPlaylistController->append(ctx.medias, false); + m_playlistController->append(ctx.medias, false); }); } @@ -203,7 +204,7 @@ void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList &options ) //UI thread [this](quint64, Context& ctx){ if (!ctx.medias.empty()) - m_intf->p_mainPlaylistController->append(ctx.medias, true); + m_playlistController->append(ctx.medias, true); }); @@ -212,13 +213,13 @@ void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList &options ) void MediaLib::addAndPlay(const QString& mrl, const QStringList &options) { vlc::playlist::Media media{ mrl, mrl, options }; - m_intf->p_mainPlaylistController->append( QVector<vlc::playlist::Media>{media}, true ); + m_playlistController->append( QVector<vlc::playlist::Media>{media}, true ); } void MediaLib::addAndPlay(const QUrl& mrl, const QStringList &options) { vlc::playlist::Media media{ mrl.toString(QUrl::FullyEncoded), mrl.fileName(), options }; - m_intf->p_mainPlaylistController->append( QVector<vlc::playlist::Media>{media}, true ); + m_playlistController->append( QVector<vlc::playlist::Media>{media}, true ); } @@ -237,7 +238,7 @@ void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList &opt //UI thread [this](quint64, Context& ctx){ if (!ctx.medias.empty()) - m_intf->p_mainPlaylistController->append(ctx.medias, true); + m_playlistController->append(ctx.medias, true); }); } @@ -257,7 +258,7 @@ void MediaLib::insertIntoPlaylist(const size_t index, const QVariantList &itemId [this, index] (quint64, Context& ctx) { if (!ctx.medias.isEmpty()) - m_intf->p_mainPlaylistController->insert( index, ctx.medias ); + m_playlistController->insert( index, ctx.medias ); }); } diff --git a/modules/gui/qt/medialibrary/medialib.hpp b/modules/gui/qt/medialibrary/medialib.hpp index b4dda4a9beca64ec512b4355cdc42059b1edac0f..84f305dd94e40af1decfffbcc0154e334c0cf721 100644 --- a/modules/gui/qt/medialibrary/medialib.hpp +++ b/modules/gui/qt/medialibrary/medialib.hpp @@ -56,7 +56,7 @@ public: }; public: - MediaLib(qt_intf_t* _intf, QObject* _parent = nullptr ); + MediaLib(qt_intf_t* _intf, vlc::playlist::PlaylistController* playlistController, QObject* _parent = nullptr ); void destroy(); @@ -199,6 +199,7 @@ private slots: private: qt_intf_t* m_intf; + vlc::playlist::PlaylistController* m_playlistController = nullptr; MLCustomCover *m_customCover {}; bool m_idle = false;