aboutsummaryrefslogtreecommitdiff
path: root/libqmenumodel/QMenuModel
diff options
context:
space:
mode:
Diffstat (limited to 'libqmenumodel/QMenuModel')
-rw-r--r--libqmenumodel/QMenuModel/CMakeLists.txt45
-rw-r--r--libqmenumodel/QMenuModel/plugin.cpp43
-rw-r--r--libqmenumodel/QMenuModel/plugin.h33
-rw-r--r--libqmenumodel/QMenuModel/qmldir1
4 files changed, 122 insertions, 0 deletions
diff --git a/libqmenumodel/QMenuModel/CMakeLists.txt b/libqmenumodel/QMenuModel/CMakeLists.txt
new file mode 100644
index 0000000..891c89c
--- /dev/null
+++ b/libqmenumodel/QMenuModel/CMakeLists.txt
@@ -0,0 +1,45 @@
+project(qmlplugin)
+
+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}
+)
+
+execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qmldir"
+ "${CMAKE_CURRENT_BINARY_DIR}/qmldir")
+
+set(QMLPLUGIN_INSTALL_PREFIX "${QT_IMPORTS_DIR}/Ubuntu/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
new file mode 100644
index 0000000..ec51ae9
--- /dev/null
+++ b/libqmenumodel/QMenuModel/plugin.cpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012 Canonical Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Renato Araujo Oliveira Filho <renato@canonical.com>
+ */
+
+#include "plugin.h"
+#include "qmenumodel.h"
+#include "qdbusmenumodel.h"
+#include "qdbusactiongroup.h"
+#include "qstateaction.h"
+
+#include <QtDeclarative>
+
+
+void QMenuModelQmlPlugin::registerTypes(const char *uri)
+{
+ qmlRegisterUncreatableType<QMenuModel>(uri, 0, 1, "QMenuModel",
+ "QMenuModel is a interface");
+ qmlRegisterUncreatableType<QStateAction>(uri, 0, 1, "QStateAction",
+ "QStateAction must be created by QDBusActionGroup::action");
+ qmlRegisterUncreatableType<DBusEnums>(uri, 0, 1, "DBus",
+ "DBus is only a namespace");
+
+ qmlRegisterType<QDBusMenuModel>(uri, 0, 1, "QDBusMenuModel");
+ qmlRegisterType<QDBusActionGroup>(uri, 0, 1, "QDBusActionGroup");
+
+}
+
+Q_EXPORT_PLUGIN2(qmenumodel, QMenuModelQmlPlugin)
diff --git a/libqmenumodel/QMenuModel/plugin.h b/libqmenumodel/QMenuModel/plugin.h
new file mode 100644
index 0000000..e9d6850
--- /dev/null
+++ b/libqmenumodel/QMenuModel/plugin.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2012 Canonical Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Renato Araujo Oliveira Filho <renato@canonical.com>
+ */
+
+#ifndef QMENUMODELQMLPLUGIN_H
+#define QMENUMODELQMLPLUGIN_H
+
+#include <QDeclarativeExtensionPlugin>
+
+
+class QMenuModelQmlPlugin : public QDeclarativeExtensionPlugin
+{
+ Q_OBJECT
+public:
+ void registerTypes(const char *uri);
+};
+
+#endif
diff --git a/libqmenumodel/QMenuModel/qmldir b/libqmenumodel/QMenuModel/qmldir
new file mode 100644
index 0000000..32de804
--- /dev/null
+++ b/libqmenumodel/QMenuModel/qmldir
@@ -0,0 +1 @@
+plugin qmenumodel-qml