[vlc-commits] qt: remove dependency from mainUI in the toolbar editor

Pierre Lamot git at videolan.org
Tue May 19 16:52:45 CEST 2020


vlc | branch: master | Pierre Lamot <pierre at videolabs.io> | Tue Mar 24 09:52:50 2020 +0100| [37685461596e35d19c0115e85a3d039ab9be94f1] | committer: Pierre Lamot

qt: remove dependency from mainUI in the toolbar editor

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=37685461596e35d19c0115e85a3d039ab9be94f1
---

 modules/gui/qt/dialogs/toolbar/toolbareditor.cpp | 32 ++++++++++++++++--------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/modules/gui/qt/dialogs/toolbar/toolbareditor.cpp b/modules/gui/qt/dialogs/toolbar/toolbareditor.cpp
index 36f60de727..a314cff59d 100644
--- a/modules/gui/qt/dialogs/toolbar/toolbareditor.cpp
+++ b/modules/gui/qt/dialogs/toolbar/toolbareditor.cpp
@@ -21,12 +21,18 @@
 #endif
 
 #include "toolbareditor.hpp"
+#include "util/i18n.hpp"
+#include "util/recent_media_model.hpp"
 #include "util/settings.hpp"
+#include "util/systempalette.hpp"
+#include "util/qml_main_context.hpp"
 #include "player/playercontrolbarmodel.hpp"
 #include "maininterface/main_interface.hpp"
 
 #include <QInputDialog>
+#include <QQuickItem>
 #include <QtQml/QQmlContext>
+#include <QQmlEngine>
 
 #define PROFILE_NAME_1 "Minimalist Style"
 #define VALUE_1 "0;64;3;1;4;64;11;64;34;64;9;64;33 | 3;0;1;4"
@@ -83,17 +89,23 @@ ToolbarEditorDialog::ToolbarEditorDialog( QWidget *_w, intf_thread_t *_p_intf)
     profileCombo->setCurrentIndex( -1 );
 
     /* Drag and Drop */
-    editorView = new QQuickWidget(p_intf->p_sys->p_mi->getEngine(),this);
+    editorView = new QQuickWidget(this);
     editorView->setClearColor(Qt::transparent);
-    QQmlContext *rootCtx = editorView->rootContext();
-    QQmlContext *p_mi_rootCtx = p_intf->p_sys->p_mi->getRootCtx();
-
-    rootCtx->setContextProperty( "mainctx", p_mi_rootCtx->contextProperty("mainctx"));
-    rootCtx->setContextProperty( "player", p_mi_rootCtx->contextProperty("player") );
-    rootCtx->setContextProperty( "settings",  p_mi_rootCtx->contextProperty("settings"));
-    rootCtx->setContextProperty( "medialib",  p_mi_rootCtx->contextProperty("medialib"));
-    rootCtx->setContextProperty( "recentsMedias",  p_mi_rootCtx->contextProperty("recentsMedias"));
-    rootCtx->setContextProperty( "rootWindow",  p_mi_rootCtx->contextProperty("rootWindow"));
+    QQmlContext* rootCtx = editorView->rootContext();
+    QQmlEngine* engine = editorView->engine();
+
+    intf_sys_t* p_sys = p_intf->p_sys;
+    MainInterface* mainInterface = p_sys->p_mi;
+
+    rootCtx->setContextProperty( "player", p_sys->p_mainPlayerController );
+    rootCtx->setContextProperty( "i18n", new I18n(engine) );
+    rootCtx->setContextProperty( "mainctx", new QmlMainContext(p_intf, mainInterface, engine));
+    rootCtx->setContextProperty( "mainInterface", mainInterface);
+    rootCtx->setContextProperty( "topWindow", mainInterface->windowHandle());
+    rootCtx->setContextProperty( "settings",  new Settings( p_intf, engine));
+    rootCtx->setContextProperty( "systemPalette", new SystemPalette(engine));
+    rootCtx->setContextProperty( "medialib", nullptr );
+    rootCtx->setContextProperty( "recentsMedias",  new VLCRecentMediaModel( p_intf, engine ));
     rootCtx->setContextProperty( "toolbareditor",  this);
 
     editorView->setSource( QUrl ( QStringLiteral("qrc:/dialogs/ToolbarEditor.qml") ) );



More information about the vlc-commits mailing list