diff options
-rw-r--r-- | .bzrignore | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | cmake/lcov.cmake | 2 | ||||
-rw-r--r-- | debian/changelog | 1 | ||||
-rw-r--r-- | debian/control | 5 | ||||
-rwxr-xr-x | debian/rules | 2 | ||||
-rw-r--r-- | examples/README | 6 | ||||
-rw-r--r-- | examples/render-menumodel.qml | 4 | ||||
-rw-r--r-- | libqmenumodel/QMenuModel/CMakeLists.txt | 22 | ||||
-rw-r--r-- | libqmenumodel/QMenuModel/plugin.cpp | 9 | ||||
-rw-r--r-- | libqmenumodel/QMenuModel/plugin.h | 8 | ||||
-rw-r--r-- | libqmenumodel/QMenuModel/qmldir | 2 | ||||
-rw-r--r-- | libqmenumodel/src/CMakeLists.txt | 28 | ||||
-rw-r--r-- | libqmenumodel/src/qdbusactiongroup.cpp | 6 | ||||
-rw-r--r-- | libqmenumodel/src/qdbusmenumodel.cpp | 8 | ||||
-rw-r--r-- | libqmenumodel/src/qdbusobject.cpp | 14 | ||||
-rw-r--r-- | libqmenumodel/src/qmenumodel.cpp | 4 | ||||
-rw-r--r-- | libqmenumodel/src/qstateaction.cpp | 4 | ||||
-rw-r--r-- | tests/client/CMakeLists.txt | 35 | ||||
-rw-r--r-- | tests/client/actiongrouptest.cpp | 5 | ||||
-rw-r--r-- | tests/client/menuchangestest.cpp | 5 | ||||
-rw-r--r-- | tests/client/modeltest.cpp | 5 | ||||
-rw-r--r-- | tests/client/servicetest.cpp | 5 | ||||
-rw-r--r-- | tests/script/CMakeLists.txt | 30 |
24 files changed, 90 insertions, 133 deletions
@@ -6,7 +6,8 @@ Testing/ cmake_install.cmake install_manifest.txt -moc_*.cxx +moc_*.cpp +*_automoc.cpp coverage/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cba967..f51f637 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,13 @@ project(qmenumodel) -cmake_minimum_required(VERSION 2.8.0) - -find_package(Qt4 REQUIRED) +cmake_minimum_required(VERSION 2.8.9) +find_package(Qt5Core REQUIRED) include(FindPkgConfig) pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32) pkg_check_modules(GIO REQUIRED gio-2.0>=2.32) +set(CMAKE_AUTOMOC ON) +set(CMAKE_INCLUDE_CURRENT_DIR ON) add_definitions(-DQT_NO_KEYWORDS) find_program(DBUS_RUNNER dbus-test-runner) @@ -39,7 +40,7 @@ endif() OPTION(GENERATE_DOC "Enable qdoc generation" OFF) if(GENERATE_DOC) message(STATUS "QDoc enabled.") - find_program(QDOC_BIN qdoc3) + find_program(QDOC_BIN qdoc) if(NOT QDOC_BIN) message(FATAL_ERROR "qdoc command not found") else() @@ -47,4 +48,3 @@ if(GENERATE_DOC) endif() endif() - diff --git a/cmake/lcov.cmake b/cmake/lcov.cmake index a422094..152bbea 100644 --- a/cmake/lcov.cmake +++ b/cmake/lcov.cmake @@ -29,7 +29,7 @@ set(REMOVE_PATTERN q*.h *.moc - moc_*.cxx + moc_*.cpp locale_facets.h new) diff --git a/debian/changelog b/debian/changelog index c855594..5cc0dbf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ qmenumodel (0.1.1) UNRELEASED; urgency=low * Renaming source package to qmenumodel + * Port to Qt5 -- Olivier Tilloy <olivier.tilloy@canonical.com> Thu, 04 Oct 2012 17:37:23 +0200 diff --git a/debian/control b/debian/control index e07ea3a..211a3c1 100644 --- a/debian/control +++ b/debian/control @@ -4,9 +4,10 @@ Priority: optional Maintainer: Renato Araujo Oliveira Filho <renato@canonical.com> Build-Depends: debhelper (>= 8.0.0), cdbs, - cmake, + cmake (>= 2.8.9), libglib2.0-dev, - libqt4-dev, + qtbase (>= 5.0), + qtdeclarative (>= 5.0), Standards-Version: 3.9.2 Package: qmenumodel-qml diff --git a/debian/rules b/debian/rules index 07ae845..2756628 100755 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,8 @@ #!/usr/bin/make -f # -*- makefile -*- +DEB_CMAKE_EXTRA_FLAGS = -DCMAKE_PREFIX_PATH=/opt/qt5/lib/cmake + include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/utils.mk include /usr/share/cdbs/1/class/cmake.mk diff --git a/examples/README b/examples/README index c2516e3..1ecac0e 100644 --- a/examples/README +++ b/examples/README @@ -4,8 +4,8 @@ QML binding in applications. To export an example menu model on the bus, run 'exportmenu.py'. To render this menu in a QML application, run 'render-menumodel.qml' in -qmlviewer. You will need to inform qmlviewer of the location of the QMenuModel -if it’s not installed system-wide, e.g.: +qmlscene. You will need to inform qmlscene of the location of the QMenuModel +plugin if it’s not installed system-wide, e.g.: - qmlviewer -I libqmenumodel examples/render-menumodel.qml + qmlscene -I libqmenumodel examples/render-menumodel.qml diff --git a/examples/render-menumodel.qml b/examples/render-menumodel.qml index 45daf0d..1ad41c5 100644 --- a/examples/render-menumodel.qml +++ b/examples/render-menumodel.qml @@ -2,7 +2,7 @@ // under the well-known name com.canonical.testmenu and at the object path // /com/canonical/testmenu. -import QtQuick 1.1 +import QtQuick 2.0 import QMenuModel 0.1 Item { @@ -129,7 +129,7 @@ Item { x: 5 y: 5 anchors.margins: 4 - font.pixelSize: 12 + font.pixelSize: 11 } } } diff --git a/libqmenumodel/QMenuModel/CMakeLists.txt b/libqmenumodel/QMenuModel/CMakeLists.txt index 5fb1d9f..8a7702f 100644 --- a/libqmenumodel/QMenuModel/CMakeLists.txt +++ b/libqmenumodel/QMenuModel/CMakeLists.txt @@ -4,41 +4,29 @@ set(QMLPLUGIN_SRC plugin.cpp ) -set(QMLPLUGIN_HEADERS - plugin.h -) - -qt4_wrap_cpp(QMLPLUGIN_MOC - ${QMLPLUGIN_HEADERS} -) - add_library(qmenumodel-qml MODULE ${QMLPLUGIN_SRC} - ${QMLPLUGIN_MOC} ) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} ${src_SOURCE_DIR} - ${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTGUI_INCLUDE_DIR} - ${QT_QTDECLARATIVE_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} - ${GIO_INCLUDE_DIRS} ) target_link_libraries(qmenumodel-qml qmenumodel - ${QT_QTCORE_LIBRARY} - ${QT_QTDCLARATIVE_LIBRARY} ${GLIB_LDFLAGS} ${GIO_LDFLAGS} ) +qt5_use_modules(qmenumodel-qml Qml Widgets) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qmldir" "${CMAKE_CURRENT_BINARY_DIR}/qmldir") +# Apparently, QT_IMPORTS_DIR didn’t make it to Qt5. +# In want of a better solution, let’s hardcode it… +set(QT_IMPORTS_DIR /opt/qt5/imports) set(QMLPLUGIN_INSTALL_PREFIX "${QT_IMPORTS_DIR}/QMenuModel") install(TARGETS qmenumodel-qml DESTINATION ${QMLPLUGIN_INSTALL_PREFIX}) install(FILES qmldir DESTINATION ${QMLPLUGIN_INSTALL_PREFIX}) 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 <renato@canonical.com> */ +extern "C" { +#include <glib-object.h> +} + #include "plugin.h" #include "qmenumodel.h" #include "qdbusmenumodel.h" #include "qdbusactiongroup.h" #include "qstateaction.h" -#include <QtDeclarative> - +#include <QtQml> void QMenuModelQmlPlugin::registerTypes(const char *uri) { + g_type_init(); qmlRegisterUncreatableType<QMenuModel>(uri, 0, 1, "QMenuModel", "QMenuModel is a interface"); qmlRegisterUncreatableType<QStateAction>(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 <QDeclarativeExtensionPlugin> +#include <QQmlExtensionPlugin> - -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 + diff --git a/libqmenumodel/src/CMakeLists.txt b/libqmenumodel/src/CMakeLists.txt index 17d11f1..373d11b 100644 --- a/libqmenumodel/src/CMakeLists.txt +++ b/libqmenumodel/src/CMakeLists.txt @@ -2,6 +2,7 @@ project(src) set(QMENUMODEL_SRC converter.cpp + dbus-enums.h qmenumodel.cpp qdbusobject.cpp qdbusmenumodel.cpp @@ -9,38 +10,15 @@ set(QMENUMODEL_SRC qstateaction.cpp ) -set(QMENUMODEL_HEADERS - converter.h - dbus-enums.h - qmenumodel.h - qdbusobject.h - qdbusmenumodel.h - qdbusactiongroup.h - qstateaction.h -) - -qt4_wrap_cpp(QMENUMODEL_MOC - ${QMENUMODEL_HEADERS} -) - add_library(qmenumodel STATIC ${QMENUMODEL_SRC} - ${QMENUMODEL_MOC} ) set_target_properties(qmenumodel PROPERTIES COMPILE_FLAGS -fPIC) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${QT_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTGUI_INCLUDE_DIR} ${GLIB_INCLUDE_DIRS} - ${GIO_INCLUDE_DIRS} ) -target_link_libraries(qmenumodel - ${QT_QTCORE_LIBRARY} - ${GLIB_LDFLAGS} - ${GIO_LDFLAGS} -) +qt5_use_modules(qmenumodel Core Widgets) + diff --git a/libqmenumodel/src/qdbusactiongroup.cpp b/libqmenumodel/src/qdbusactiongroup.cpp index 5a9e0bd..fc5b18e 100644 --- a/libqmenumodel/src/qdbusactiongroup.cpp +++ b/libqmenumodel/src/qdbusactiongroup.cpp @@ -26,12 +26,12 @@ extern "C" { } /*! - \qmlclass QDBusActionGroup + \qmltype QDBusActionGroup \inherits QDBusObject \brief A DBusActionGroup implementation to be used with \l QDBusMenuModel - \bold {This component is under heavy development.} + \b {This component is under heavy development.} This class can be used as a proxy for an action group that is exported over D-Bus @@ -67,7 +67,7 @@ QDBusActionGroup::~QDBusActionGroup() Look for a action with the same name and return a \l QStateAction object. - \bold Note: methods should only be called after the Component has completed. + \b Note: methods should only be called after the Component has completed. */ QStateAction *QDBusActionGroup::action(const QString &name) { diff --git a/libqmenumodel/src/qdbusmenumodel.cpp b/libqmenumodel/src/qdbusmenumodel.cpp index 88a6084..ae88c35 100644 --- a/libqmenumodel/src/qdbusmenumodel.cpp +++ b/libqmenumodel/src/qdbusmenumodel.cpp @@ -20,12 +20,12 @@ #include "qdbusmenumodel.h" /*! - \qmlclass QDBusMenuModel + \qmltype QDBusMenuModel \inherits QDBusObject \brief The QDBusMenuModel class defines the list model for DBus menus - \bold {This component is under heavy development.} + \b {This component is under heavy development.} This class expose the menu previous exported over DBus. @@ -63,7 +63,7 @@ QDBusMenuModel::~QDBusMenuModel() The status will change to connecting after call this function, and as soon the busName apperas and the objectPat was found this will change to Connected. - \bold Note: methods should only be called after the Component has completed. + \b Note: methods should only be called after the Component has completed. */ void QDBusMenuModel::start() { @@ -75,7 +75,7 @@ void QDBusMenuModel::start() Stops dbus watch and clear the model, the status wil change to Disconnected. - \bold Note: methods should only be called after the Component has completed. + \b Note: methods should only be called after the Component has completed. */ void QDBusMenuModel::stop() { diff --git a/libqmenumodel/src/qdbusobject.cpp b/libqmenumodel/src/qdbusobject.cpp index abc68b4..63be580 100644 --- a/libqmenumodel/src/qdbusobject.cpp +++ b/libqmenumodel/src/qdbusobject.cpp @@ -22,10 +22,10 @@ #include <QDebug> /*! - \qmlclass QDBusObject + \qmltype QDBusObject \brief The QDBusObject is a base class - \bold {This component is under heavy development.} + \b {This component is under heavy development.} This is a abstracted class used by QDBusMenuModel and QDBusActionGroup */ @@ -37,8 +37,8 @@ This must be seteed before call start method The valid values are: \list - \o 1 - SessionBus - \o 2 - SystemBus + \li 1 - SessionBus + \li 2 - SystemBus \endlist */ @@ -62,9 +62,9 @@ Te velid status are: \list - \o 0 - Disconnected - \o 1 - Connecting - \o 2 - Connected + \li 0 - Disconnected + \li 1 - Connecting + \li 2 - Connected \endlist */ diff --git a/libqmenumodel/src/qmenumodel.cpp b/libqmenumodel/src/qmenumodel.cpp index e88bc66..4c0fc23 100644 --- a/libqmenumodel/src/qmenumodel.cpp +++ b/libqmenumodel/src/qmenumodel.cpp @@ -23,10 +23,10 @@ #include <QDebug> /*! - \qmlclass QMenuModel + \qmltype QMenuModel \brief The QMenuModel class implements the base list model for menus - \bold {This component is under heavy development.} + \b {This component is under heavy development.} This is a abstracted class used by \l QDBusMenuModel. */ diff --git a/libqmenumodel/src/qstateaction.cpp b/libqmenumodel/src/qstateaction.cpp index 3629fce..5dda39f 100644 --- a/libqmenumodel/src/qstateaction.cpp +++ b/libqmenumodel/src/qstateaction.cpp @@ -22,12 +22,12 @@ #include "qdbusactiongroup.h" /*! - \qmlclass QStateAction + \qmltype QStateAction \inherits QAction \brief A QStateAction implementation to be used with \l QDBusActionGroup - \bold {This component is under heavy development.} + \b {This component is under heavy development.} This class can be used as a proxy for an action that is exported over D-Bus diff --git a/tests/client/CMakeLists.txt b/tests/client/CMakeLists.txt index 2c48a07..7455b16 100644 --- a/tests/client/CMakeLists.txt +++ b/tests/client/CMakeLists.txt @@ -1,17 +1,12 @@ macro(declare_test testname)
- set(TEST_MOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${testname}.moc)
- qt4_generate_moc(${testname}.cpp ${TEST_MOC_FILE})
-
- add_executable(${testname} ${testname}.cpp ${TEST_MOC_FILE})
+ add_executable(${testname} ${testname}.cpp)
+ qt5_use_modules(${testname} Core DBus Widgets Test)
target_link_libraries(${testname}
qmenumodel
dbusmenuscript
- ${QT_QTTEST_LIBRARY}
- ${QT_QTCORE_LIBRARY}
- ${QT_QTGUI_LIBRARY}
- ${QT_QTDBUS_LIBRARY}
${GLIB_LDFLAGS}
- ${GIO_LDFLAGS})
+ ${GIO_LDFLAGS}
+ )
add_test(${testname}
${DBUS_RUNNER}
@@ -25,18 +20,13 @@ macro(declare_test testname) endmacro(declare_test testname)
macro(declare_simple_test testname)
- set(TEST_MOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${testname}.moc)
- qt4_generate_moc(${testname}.cpp ${TEST_MOC_FILE})
-
- add_executable(${testname} ${testname}.cpp ${TEST_MOC_FILE})
+ add_executable(${testname} ${testname}.cpp)
+ qt5_use_modules(${testname} Core Test)
target_link_libraries(${testname}
qmenumodel
- ${QT_QTTEST_LIBRARY}
- ${QT_QTCORE_LIBRARY}
- ${QT_QTGUI_LIBRARY}
- ${QT_QTDBUS_LIBRARY}
${GLIB_LDFLAGS}
- ${GIO_LDFLAGS})
+ ${GIO_LDFLAGS}
+ )
add_test(${testname}
${CMAKE_CURRENT_BINARY_DIR}/${testname})
@@ -47,14 +37,8 @@ endmacro(declare_simple_test testname) include_directories(${src_SOURCE_DIR}
${dbusmenuscript_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${QT_INCLUDE_DIR}
- ${QT_QTTEST_INCLUDE_DIR}
- ${QT_QTCORE_INCLUDE_DIR}
- ${QT_QTGUI_INCLUDE_DIR}
- ${QT_QTDBUS_INCLUDE_DIR}
${GLIB_INCLUDE_DIRS}
- ${GIO_INCLUDE_DIRS})
+)
add_definitions(-DTEST_SUITE)
set(TEST_PYTHONPATH ${dbusmenuscript_SOURCE_DIR})
@@ -67,3 +51,4 @@ declare_test(menuchangestest) declare_test(modeltest)
declare_test(actiongrouptest)
declare_simple_test(convertertest)
+
diff --git a/tests/client/actiongrouptest.cpp b/tests/client/actiongrouptest.cpp index 116bd44..958ddc7 100644 --- a/tests/client/actiongrouptest.cpp +++ b/tests/client/actiongrouptest.cpp @@ -17,6 +17,10 @@ * Renato Araujo Oliveira Filho <renato@canonical.com> */ +extern "C" { +#include <glib-object.h> +} + #include "qdbusmenumodel.h" #include "qdbusactiongroup.h" #include "dbusmenuscript.h" @@ -38,6 +42,7 @@ private: private Q_SLOTS: void initTestCase() { + g_type_init(); Q_ASSERT(m_script.connect()); } diff --git a/tests/client/menuchangestest.cpp b/tests/client/menuchangestest.cpp index 2015582..bc7dcbd 100644 --- a/tests/client/menuchangestest.cpp +++ b/tests/client/menuchangestest.cpp @@ -17,6 +17,10 @@ * Renato Araujo Oliveira Filho <renato@canonical.com> */ +extern "C" { +#include <glib-object.h> +} + #include "qdbusmenumodel.h" #include "dbusmenuscript.h" @@ -35,6 +39,7 @@ private: private Q_SLOTS: void initTestCase() { + g_type_init(); Q_ASSERT(m_script.connect()); } diff --git a/tests/client/modeltest.cpp b/tests/client/modeltest.cpp index 9f6ee76..542b38a 100644 --- a/tests/client/modeltest.cpp +++ b/tests/client/modeltest.cpp @@ -17,6 +17,10 @@ * Renato Araujo Oliveira Filho <renato@canonical.com> */ +extern "C" { +#include <glib-object.h> +} + #include "qdbusmenumodel.h" #include "dbusmenuscript.h" @@ -35,6 +39,7 @@ private: private Q_SLOTS: void initTestCase() { + g_type_init(); Q_ASSERT(m_script.connect()); } diff --git a/tests/client/servicetest.cpp b/tests/client/servicetest.cpp index a8b0c2a..d34ba79 100644 --- a/tests/client/servicetest.cpp +++ b/tests/client/servicetest.cpp @@ -17,6 +17,10 @@ * Renato Araujo Oliveira Filho <renato@canonical.com> */ +extern "C" { +#include <glib-object.h> +} + #include "qdbusmenumodel.h" #include "dbusmenuscript.h" @@ -42,6 +46,7 @@ private: private Q_SLOTS: void initTestCase() { + g_type_init(); Q_ASSERT(m_script.connect()); } diff --git a/tests/script/CMakeLists.txt b/tests/script/CMakeLists.txt index 11af44e..afa073b 100644 --- a/tests/script/CMakeLists.txt +++ b/tests/script/CMakeLists.txt @@ -1,34 +1,8 @@ project(dbusmenuscript) -set(DBUSMENUSCRIPT_SRC - dbusmenuscript.cpp -) - -set(DBUSMENUSCRIPT_HEADERS - dbusmenuscript.h -) - -qt4_wrap_cpp(DBUSMENUSCRIPT_MOC - ${DBUSMENUSCRIPT_HEADERS} -) - -add_library(dbusmenuscript STATIC - ${DBUSMENUSCRIPT_SRC} - ${DBUSMENUSCRIPT_MOC} -) +add_library(dbusmenuscript STATIC dbusmenuscript.cpp) set_target_properties(dbusmenuscript PROPERTIES COMPILE_FLAGS -fPIC) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${QT_INCLUDE_DIR} - ${QT_QTTEST_INCLUDE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_QTDBUS_INCLUDE_DIR} -) +qt5_use_modules(dbusmenuscript Core DBus Test) -target_link_libraries(dbusmenuscript - ${QT_QTCORE_LIBRARY} - ${QT_QTTEST_LIBRARY} - ${QT_QTDBUS_LIBRARY} -) |