[vlc-commits] qt: main_interface: remove deprecation warning on qmlRegisterType
Alexandre Janniaux
git at videolan.org
Sat Apr 11 09:13:37 CEST 2020
vlc | branch: master | Alexandre Janniaux <ajanni at videolabs.io> | Mon Apr 6 15:55:35 2020 +0200| [718df3310bba70ebd13593cd3b3c98b91666163b] | committer: Alexandre Janniaux
qt: main_interface: remove deprecation warning on qmlRegisterType
qmlRegisterType is deprecated in Qt 5.14 in favour of
qmlRegisterAnonymousType which is introduced in 5.14.
The warning was spamming multiple time as it was used multiple time.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=718df3310bba70ebd13593cd3b3c98b91666163b
---
modules/gui/qt/maininterface/main_interface.cpp | 27 ++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/modules/gui/qt/maininterface/main_interface.cpp b/modules/gui/qt/maininterface/main_interface.cpp
index 8027b116cb..1d573de419 100644
--- a/modules/gui/qt/maininterface/main_interface.cpp
+++ b/modules/gui/qt/maininterface/main_interface.cpp
@@ -98,6 +98,7 @@
# include <X11/Xlib.h>
#endif
+#include <QtGlobal>
#include <QTimer>
#include <QtQml/QQmlContext>
#include <QtQuick/QQuickItem>
@@ -121,6 +122,22 @@ static int IntfRaiseMainCB( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t old_val, vlc_value_t new_val,
void *param );
+namespace {
+
+template<class T>
+void registerAnonymousType( const char *uri, int versionMajor )
+{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ qmlRegisterAnonymousType<T>( uri, versionMajor );
+#else
+ qmlRegisterType<T>();
+ VLC_UNUSED( uri );
+ VLC_UNUSED( versionMajor );
+#endif
+}
+
+} // anonymous namespace
+
const QEvent::Type MainInterface::ToolbarsNeedRebuild =
(QEvent::Type)QEvent::registerEventType();
@@ -357,11 +374,11 @@ void MainInterface::createMainWidget( QSettings * )
qmlRegisterType<MlFoldersModel>( "org.videolan.medialib", 0, 1, "MLFolderModel");
//expose base object, they aren't instanciable from QML side
- qmlRegisterType<MLAlbum>();
- qmlRegisterType<MLArtist>();
- qmlRegisterType<MLAlbumTrack>();
- qmlRegisterType<MLGenre>();
- qmlRegisterType<MLVideo>();
+ registerAnonymousType<MLAlbum>( "org.videolan.medialib", 1 );
+ registerAnonymousType<MLArtist>( "org.videolan.medialib", 1 );
+ registerAnonymousType<MLAlbumTrack>( "org.videolan.medialib", 1 );
+ registerAnonymousType<MLGenre>( "org.videolan.medialib", 1 );
+ registerAnonymousType<MLVideo>( "org.videolan.medialib", 1 );
}
qmlRegisterUncreatableType<NavigationHistory>("org.videolan.vlc", 0, 1, "History", "Type of global variable history" );
More information about the vlc-commits
mailing list