[vlc-devel] [PATCH 4/9] qt: move the MediaLib instance to the MainInterface
Pierre Lamot
pierre at videolabs.io
Thu Oct 15 11:25:07 CEST 2020
---
modules/gui/qt/maininterface/main_interface.cpp | 6 +++++-
modules/gui/qt/maininterface/main_interface.hpp | 4 ++++
modules/gui/qt/maininterface/mainui.cpp | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/modules/gui/qt/maininterface/main_interface.cpp b/modules/gui/qt/maininterface/main_interface.cpp
index 1216e28902..287cee774d 100644
--- a/modules/gui/qt/maininterface/main_interface.cpp
+++ b/modules/gui/qt/maininterface/main_interface.cpp
@@ -138,7 +138,11 @@ MainInterface::MainInterface(intf_thread_t *_p_intf , QWidget* parent, Qt::Windo
/* Get the available interfaces */
m_extraInterfaces = new VLCVarChoiceModel(p_intf, "intf-add", this);
- b_hasMedialibrary = (vlc_ml_instance_get( p_intf ) != NULL);
+ vlc_medialibrary_t* ml = vlc_ml_instance_get( p_intf );
+ b_hasMedialibrary = (ml != NULL);
+ if (b_hasMedialibrary) {
+ m_medialib = new MediaLib(p_intf, this);
+ }
/* Set the other interface settings */
settings = getSettings();
diff --git a/modules/gui/qt/maininterface/main_interface.hpp b/modules/gui/qt/maininterface/main_interface.hpp
index 1522bd4f3d..4ec9c3a04e 100644
--- a/modules/gui/qt/maininterface/main_interface.hpp
+++ b/modules/gui/qt/maininterface/main_interface.hpp
@@ -29,6 +29,7 @@
#include "widgets/native/qvlcframe.hpp"
#include "player/player_controller.hpp"
#include "util/color_scheme_model.hpp"
+#include "medialibrary/medialib.hpp"
#include <QSystemTrayIcon>
#include <QStackedWidget>
@@ -150,6 +151,7 @@ class MainInterface : public QVLCMW
Q_PROPERTY(VLCVarChoiceModel* extraInterfaces READ getExtraInterfaces CONSTANT)
Q_PROPERTY(float intfScaleFactor READ getIntfScaleFactor NOTIFY intfScaleFactorChanged)
Q_PROPERTY(bool mediaLibraryAvailable READ hasMediaLibrary CONSTANT)
+ Q_PROPERTY(MediaLib* mediaLibrary READ getMediaLibrary CONSTANT)
Q_PROPERTY(bool gridView READ hasGridView WRITE setGridView NOTIFY gridViewChanged)
Q_PROPERTY(ColorSchemeModel* colorScheme READ getColorScheme CONSTANT)
Q_PROPERTY(bool hasVLM READ hasVLM CONSTANT)
@@ -189,6 +191,7 @@ public:
inline bool isShowRemainingTime() const { return m_showRemainingTime; }
inline float getIntfScaleFactor() const { return m_intfScaleFactor; }
inline bool hasMediaLibrary() const { return b_hasMedialibrary; }
+ inline MediaLib* getMediaLibrary() const { return m_medialib; }
inline bool hasGridView() const { return m_gridView; }
inline ColorSchemeModel* getColorScheme() const { return m_colorScheme; }
bool hasVLM() const;
@@ -255,6 +258,7 @@ protected:
bool b_hasWayland;
#endif
bool b_hasMedialibrary;
+ MediaLib* m_medialib = nullptr;
bool m_gridView;
ColorSchemeModel* m_colorScheme;
bool m_clientSideDecoration = false;
diff --git a/modules/gui/qt/maininterface/mainui.cpp b/modules/gui/qt/maininterface/mainui.cpp
index a9b911ed5d..d17992484e 100644
--- a/modules/gui/qt/maininterface/mainui.cpp
+++ b/modules/gui/qt/maininterface/mainui.cpp
@@ -99,7 +99,7 @@ bool MainUI::setup(QQmlEngine* engine)
rootCtx->setContextProperty( "systemPalette", new SystemPalette(this));
if (m_mainInterface->hasMediaLibrary())
- rootCtx->setContextProperty( "medialib", new MediaLib(m_intf, this) );
+ rootCtx->setContextProperty( "medialib", m_mainInterface->getMediaLibrary() );
else
rootCtx->setContextProperty( "medialib", nullptr );
--
2.25.1
More information about the vlc-devel
mailing list