aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzrignore3
-rw-r--r--CMakeLists.txt10
-rw-r--r--cmake/lcov.cmake2
-rw-r--r--debian/changelog1
-rw-r--r--debian/control5
-rwxr-xr-xdebian/rules2
-rw-r--r--examples/README6
-rw-r--r--examples/render-menumodel.qml4
-rw-r--r--libqmenumodel/QMenuModel/CMakeLists.txt22
-rw-r--r--libqmenumodel/QMenuModel/plugin.cpp9
-rw-r--r--libqmenumodel/QMenuModel/plugin.h8
-rw-r--r--libqmenumodel/QMenuModel/qmldir2
-rw-r--r--libqmenumodel/src/CMakeLists.txt28
-rw-r--r--libqmenumodel/src/qdbusactiongroup.cpp6
-rw-r--r--libqmenumodel/src/qdbusmenumodel.cpp8
-rw-r--r--libqmenumodel/src/qdbusobject.cpp14
-rw-r--r--libqmenumodel/src/qmenumodel.cpp4
-rw-r--r--libqmenumodel/src/qstateaction.cpp4
-rw-r--r--tests/client/CMakeLists.txt35
-rw-r--r--tests/client/actiongrouptest.cpp5
-rw-r--r--tests/client/menuchangestest.cpp5
-rw-r--r--tests/client/modeltest.cpp5
-rw-r--r--tests/client/servicetest.cpp5
-rw-r--r--tests/script/CMakeLists.txt30
24 files changed, 90 insertions, 133 deletions
diff --git a/.bzrignore b/.bzrignore
index fe5eb7b..13a6812 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -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}
-)