From 81dbf09d988d87f82496ba106b5f1dd2aad7967d Mon Sep 17 00:00:00 2001 From: Olivier Tilloy Date: Fri, 5 Oct 2012 11:59:50 +0200 Subject: Port to Qt5. To compile and test, one needs to install the qt5-meta-minimal package from the Canonical Qt5 Edgers PPA (https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-beta1). This installs Qt5 in /opt/qt5/. cmake needs to be invoked with CMAKE_PREFIX_PATH=/opt/qt5/lib/cmake, and /opt/qt5/bin needs to be added to $PATH. --- libqmenumodel/QMenuModel/CMakeLists.txt | 4 +++- libqmenumodel/QMenuModel/plugin.cpp | 9 ++++++--- libqmenumodel/QMenuModel/plugin.h | 8 +++++--- libqmenumodel/QMenuModel/qmldir | 2 ++ 4 files changed, 16 insertions(+), 7 deletions(-) (limited to 'libqmenumodel/QMenuModel') diff --git a/libqmenumodel/QMenuModel/CMakeLists.txt b/libqmenumodel/QMenuModel/CMakeLists.txt index 5fb1d9f..1a52ea0 100644 --- a/libqmenumodel/QMenuModel/CMakeLists.txt +++ b/libqmenumodel/QMenuModel/CMakeLists.txt @@ -8,7 +8,7 @@ set(QMLPLUGIN_HEADERS plugin.h ) -qt4_wrap_cpp(QMLPLUGIN_MOC +qt5_wrap_cpp(QMLPLUGIN_MOC ${QMLPLUGIN_HEADERS} ) @@ -28,6 +28,8 @@ include_directories( ${GIO_INCLUDE_DIRS} ) +qt5_use_modules(qmenumodel-qml Qml Widgets) + target_link_libraries(qmenumodel-qml qmenumodel ${QT_QTCORE_LIBRARY} diff --git a/libqmenumodel/QMenuModel/plugin.cpp b/libqmenumodel/QMenuModel/plugin.cpp index ec51ae9..26650eb 100644 --- a/libqmenumodel/QMenuModel/plugin.cpp +++ b/libqmenumodel/QMenuModel/plugin.cpp @@ -17,17 +17,21 @@ * Renato Araujo Oliveira Filho */ +extern "C" { +#include +} + #include "plugin.h" #include "qmenumodel.h" #include "qdbusmenumodel.h" #include "qdbusactiongroup.h" #include "qstateaction.h" -#include - +#include void QMenuModelQmlPlugin::registerTypes(const char *uri) { + g_type_init(); qmlRegisterUncreatableType(uri, 0, 1, "QMenuModel", "QMenuModel is a interface"); qmlRegisterUncreatableType(uri, 0, 1, "QStateAction", @@ -40,4 +44,3 @@ void QMenuModelQmlPlugin::registerTypes(const char *uri) } -Q_EXPORT_PLUGIN2(qmenumodel, QMenuModelQmlPlugin) diff --git a/libqmenumodel/QMenuModel/plugin.h b/libqmenumodel/QMenuModel/plugin.h index e9d6850..fc732d2 100644 --- a/libqmenumodel/QMenuModel/plugin.h +++ b/libqmenumodel/QMenuModel/plugin.h @@ -20,14 +20,16 @@ #ifndef QMENUMODELQMLPLUGIN_H #define QMENUMODELQMLPLUGIN_H -#include +#include - -class QMenuModelQmlPlugin : public QDeclarativeExtensionPlugin +class QMenuModelQmlPlugin : public QQmlExtensionPlugin { Q_OBJECT + Q_PLUGIN_METADATA(IID "com.canonical.qmenumodel") + public: void registerTypes(const char *uri); }; #endif + diff --git a/libqmenumodel/QMenuModel/qmldir b/libqmenumodel/QMenuModel/qmldir index 32de804..5cb4fcd 100644 --- a/libqmenumodel/QMenuModel/qmldir +++ b/libqmenumodel/QMenuModel/qmldir @@ -1 +1,3 @@ +module QMenuModel plugin qmenumodel-qml + -- cgit v1.2.3