summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/wayland/ivi-compositor/main.qml1
-rw-r--r--src/compositor/extensions/qwaylandiviapplication.cpp4
-rw-r--r--src/compositor/extensions/qwaylandivisurface.cpp2
-rw-r--r--src/imports/compositor-extensions/CMakeLists.txt1
-rw-r--r--src/imports/compositor-extensions/compositor-extensions.pro4
-rw-r--r--src/imports/compositor-extensions/iviapplication/CMakeLists.txt23
-rw-r--r--src/imports/compositor-extensions/iviapplication/iviapplication.pro11
-rw-r--r--src/imports/compositor-extensions/iviapplication/plugins.qmltypes61
-rw-r--r--src/imports/compositor-extensions/iviapplication/qmldir3
-rw-r--r--src/imports/compositor-extensions/iviapplication/qwaylandcompositoriviapplicationplugin.cpp62
-rw-r--r--src/imports/compositor/plugins.qmltypes43
-rw-r--r--src/imports/compositor/qwaylandquickcompositorplugin.cpp5
12 files changed, 168 insertions, 52 deletions
diff --git a/examples/wayland/ivi-compositor/main.qml b/examples/wayland/ivi-compositor/main.qml
index 49a05a595..4383070a0 100644
--- a/examples/wayland/ivi-compositor/main.qml
+++ b/examples/wayland/ivi-compositor/main.qml
@@ -50,6 +50,7 @@
import QtQuick
import QtWayland.Compositor
+import QtWayland.Compositor.IviApplication
import QtQuick.Window
WaylandCompositor {
diff --git a/src/compositor/extensions/qwaylandiviapplication.cpp b/src/compositor/extensions/qwaylandiviapplication.cpp
index 50242ab19..3dd35f1ce 100644
--- a/src/compositor/extensions/qwaylandiviapplication.cpp
+++ b/src/compositor/extensions/qwaylandiviapplication.cpp
@@ -39,7 +39,7 @@ QT_BEGIN_NAMESPACE
/*!
* \qmltype IviApplication
- * \inqmlmodule QtWayland.Compositor
+ * \inqmlmodule QtWayland.Compositor.IviApplication
* \since 5.8
* \brief Provides a shell extension for embedded-style user interfaces.
*
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
* supported by the compositor:
*
* \qml \QtMinorVersion
- * import QtWayland.Compositor 1.\1
+ * import QtWayland.Compositor.IviApplication
*
* WaylandCompositor {
* IviApplication {
diff --git a/src/compositor/extensions/qwaylandivisurface.cpp b/src/compositor/extensions/qwaylandivisurface.cpp
index 81a7da107..382edb2ca 100644
--- a/src/compositor/extensions/qwaylandivisurface.cpp
+++ b/src/compositor/extensions/qwaylandivisurface.cpp
@@ -45,7 +45,7 @@ QWaylandSurfaceRole QWaylandIviSurfacePrivate::s_role("ivi_surface");
/*!
* \qmltype IviSurface
- * \inqmlmodule QtWayland.Compositor
+ * \inqmlmodule QtWayland.Compositor.IviApplication
* \since 5.8
* \brief Provides a simple way to identify and resize a surface.
*
diff --git a/src/imports/compositor-extensions/CMakeLists.txt b/src/imports/compositor-extensions/CMakeLists.txt
index cc822ffe5..9daa2933d 100644
--- a/src/imports/compositor-extensions/CMakeLists.txt
+++ b/src/imports/compositor-extensions/CMakeLists.txt
@@ -1,3 +1,4 @@
# Generated from compositor-extensions.pro.
add_subdirectory(xdgshell)
+add_subdirectory(iviapplication)
diff --git a/src/imports/compositor-extensions/compositor-extensions.pro b/src/imports/compositor-extensions/compositor-extensions.pro
index cc3eaa41e..77891b42f 100644
--- a/src/imports/compositor-extensions/compositor-extensions.pro
+++ b/src/imports/compositor-extensions/compositor-extensions.pro
@@ -1,2 +1,4 @@
TEMPLATE = subdirs
-SUBDIRS = xdgshell
+SUBDIRS = \
+ xdgshell \
+ iviapplication
diff --git a/src/imports/compositor-extensions/iviapplication/CMakeLists.txt b/src/imports/compositor-extensions/iviapplication/CMakeLists.txt
new file mode 100644
index 000000000..9b132f30b
--- /dev/null
+++ b/src/imports/compositor-extensions/iviapplication/CMakeLists.txt
@@ -0,0 +1,23 @@
+# Generated from iviapplication.pro.
+
+#####################################################################
+## qwaylandcompositoriviapplicationplugin Plugin:
+#####################################################################
+
+qt_add_qml_module(qwaylandcompositoriviapplicationplugin
+ URI "QtWayland.Compositor.IviApplication"
+ VERSION "${CMAKE_PROJECT_VERSION}"
+ CLASSNAME QWaylandCompositorIviApplicationPlugin
+ SKIP_TYPE_REGISTRATION
+ SOURCES
+ qwaylandcompositoriviapplicationplugin.cpp
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Gui
+ Qt::WaylandCompositor
+)
+
+#### Keys ignored in scope 1:.:.:iviapplication.pro:<TRUE>:
+# CXX_MODULE = "qml"
+# QML_IMPORT_VERSION = "$$QT_VERSION"
+# TARGETPATH = "QtWayland/Compositor/IviApplication"
diff --git a/src/imports/compositor-extensions/iviapplication/iviapplication.pro b/src/imports/compositor-extensions/iviapplication/iviapplication.pro
new file mode 100644
index 000000000..230a3408e
--- /dev/null
+++ b/src/imports/compositor-extensions/iviapplication/iviapplication.pro
@@ -0,0 +1,11 @@
+CXX_MODULE = qml
+TARGET = qwaylandcompositoriviapplicationplugin
+TARGETPATH = QtWayland/Compositor/IviApplication
+QML_IMPORT_VERSION = $$QT_VERSION
+
+SOURCES += \
+ qwaylandcompositoriviapplicationplugin.cpp
+
+QT += waylandcompositor
+
+load(qml_plugin)
diff --git a/src/imports/compositor-extensions/iviapplication/plugins.qmltypes b/src/imports/compositor-extensions/iviapplication/plugins.qmltypes
new file mode 100644
index 000000000..4427fe42a
--- /dev/null
+++ b/src/imports/compositor-extensions/iviapplication/plugins.qmltypes
@@ -0,0 +1,61 @@
+import QtQuick.tooling 1.2
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+//
+// This file was auto-generated by:
+// 'qmlplugindump -nonrelocatable QtWayland.Compositor.IviApplication 6.0'
+
+Module {
+ dependencies: ["QtQuick 2.0"]
+ Component { name: "QWaylandCompositorExtension"; prototype: "QWaylandObject" }
+ Component {
+ name: "QWaylandIviApplication"
+ prototype: "QWaylandCompositorExtension"
+ Signal {
+ name: "iviSurfaceRequested"
+ Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
+ Parameter { name: "iviId"; type: "uint" }
+ Parameter { name: "resource"; type: "QWaylandResource" }
+ }
+ Signal {
+ name: "iviSurfaceCreated"
+ Parameter { name: "iviSurface"; type: "QWaylandIviSurface"; isPointer: true }
+ }
+ }
+ Component {
+ name: "QWaylandIviApplicationQuickExtension"
+ defaultProperty: "data"
+ prototype: "QWaylandIviApplication"
+ exports: ["QtWayland.Compositor.IviApplication/IviApplication 1.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ }
+ Component {
+ name: "QWaylandIviSurface"
+ defaultProperty: "data"
+ prototype: "QWaylandShellSurface"
+ exports: ["QtWayland.Compositor.IviApplication/IviSurface 1.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
+ Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
+ Property { name: "iviId"; type: "uint"; isReadonly: true }
+ Method {
+ name: "initialize"
+ Parameter { name: "iviApplication"; type: "QWaylandIviApplication"; isPointer: true }
+ Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
+ Parameter { name: "iviId"; type: "uint" }
+ Parameter { name: "resource"; type: "QWaylandResource" }
+ }
+ Method {
+ name: "sendConfigure"
+ Parameter { name: "size"; type: "QSize" }
+ }
+ }
+ Component { name: "QWaylandObject"; prototype: "QObject" }
+ Component {
+ name: "QWaylandShellSurface"
+ prototype: "QWaylandCompositorExtension"
+ Property { name: "windowType"; type: "Qt::WindowType"; isReadonly: true }
+ }
+}
diff --git a/src/imports/compositor-extensions/iviapplication/qmldir b/src/imports/compositor-extensions/iviapplication/qmldir
new file mode 100644
index 000000000..75f6403ec
--- /dev/null
+++ b/src/imports/compositor-extensions/iviapplication/qmldir
@@ -0,0 +1,3 @@
+module QtWayland.Compositor.IviApplication
+plugin qwaylandcompositoriviapplicationplugin
+classname QWaylandCompositorIviApplicationPlugin
diff --git a/src/imports/compositor-extensions/iviapplication/qwaylandcompositoriviapplicationplugin.cpp b/src/imports/compositor-extensions/iviapplication/qwaylandcompositoriviapplicationplugin.cpp
new file mode 100644
index 000000000..bcd5700ad
--- /dev/null
+++ b/src/imports/compositor-extensions/iviapplication/qwaylandcompositoriviapplicationplugin.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtWaylandCompositor module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+#include <QtQml/qqml.h>
+
+#include <QtWaylandCompositor/qwaylandquickextension.h>
+#include <QtWaylandCompositor/qwaylandiviapplication.h>
+#include <QtWaylandCompositor/qwaylandivisurface.h>
+
+QT_BEGIN_NAMESPACE
+
+Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandIviApplication)
+
+class QWaylandCompositorIviApplicationPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
+public:
+ void registerTypes(const char *uri) override
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("QtWayland.Compositor.IviApplication"));
+ defineModule(uri);
+ }
+
+ static void defineModule(const char *uri)
+ {
+ qmlRegisterModule(uri, QT_VERSION_MAJOR, QT_VERSION_MINOR);
+ qmlRegisterType<QWaylandIviApplicationQuickExtension>(uri, 1, 0, "IviApplication");
+ qmlRegisterType<QWaylandIviSurface>(uri, 1, 0, "IviSurface");
+ }
+};
+
+QT_END_NAMESPACE
+
+#include "qwaylandcompositoriviapplicationplugin.moc"
diff --git a/src/imports/compositor/plugins.qmltypes b/src/imports/compositor/plugins.qmltypes
index be201d517..863d9f779 100644
--- a/src/imports/compositor/plugins.qmltypes
+++ b/src/imports/compositor/plugins.qmltypes
@@ -133,49 +133,6 @@ Module {
Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
}
Component {
- name: "QWaylandIviApplication"
- prototype: "QWaylandCompositorExtension"
- Signal {
- name: "iviSurfaceRequested"
- Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
- Parameter { name: "iviId"; type: "uint" }
- Parameter { name: "resource"; type: "QWaylandResource" }
- }
- Signal {
- name: "iviSurfaceCreated"
- Parameter { name: "iviSurface"; type: "QWaylandIviSurface"; isPointer: true }
- }
- }
- Component {
- name: "QWaylandIviApplicationQuickExtension"
- defaultProperty: "data"
- prototype: "QWaylandIviApplication"
- exports: ["QtWayland.Compositor/IviApplication 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- }
- Component {
- name: "QWaylandIviSurface"
- defaultProperty: "data"
- prototype: "QWaylandShellSurface"
- exports: ["QtWayland.Compositor/IviSurface 1.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
- Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
- Property { name: "iviId"; type: "uint"; isReadonly: true }
- Method {
- name: "initialize"
- Parameter { name: "iviApplication"; type: "QWaylandIviApplication"; isPointer: true }
- Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
- Parameter { name: "iviId"; type: "uint" }
- Parameter { name: "resource"; type: "QWaylandResource" }
- }
- Method {
- name: "sendConfigure"
- Parameter { name: "size"; type: "QSize" }
- }
- }
- Component {
name: "QWaylandKeymap"
defaultProperty: "data"
prototype: "QObject"
diff --git a/src/imports/compositor/qwaylandquickcompositorplugin.cpp b/src/imports/compositor/qwaylandquickcompositorplugin.cpp
index 7451ea199..19d38fec1 100644
--- a/src/imports/compositor/qwaylandquickcompositorplugin.cpp
+++ b/src/imports/compositor/qwaylandquickcompositorplugin.cpp
@@ -52,8 +52,6 @@
#include <QtWaylandCompositor/QWaylandWlShell>
#include <QtWaylandCompositor/QWaylandTextInputManager>
#include <QtWaylandCompositor/QWaylandIdleInhibitManagerV1>
-#include <QtWaylandCompositor/QWaylandIviApplication>
-#include <QtWaylandCompositor/QWaylandIviSurface>
#include <QtWaylandCompositor/qtwaylandcompositorglobal.h>
#include "qwaylandmousetracker_p.h"
@@ -63,7 +61,6 @@ QT_BEGIN_NAMESPACE
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CONTAINER_CLASS(QWaylandQuickCompositor)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandQtWindowManager)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandIdleInhibitManagerV1)
-Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandIviApplication)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandWlShell)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandTextInputManager)
@@ -142,8 +139,6 @@ public:
//This should probably be somewhere else
qmlRegisterType<QWaylandQtWindowManagerQuickExtension>(uri, 1, 0, "QtWindowManager");
- qmlRegisterType<QWaylandIviApplicationQuickExtension>(uri, 1, 0, "IviApplication");
- qmlRegisterType<QWaylandIviSurface>(uri, 1, 0, "IviSurface");
qmlRegisterType<QWaylandWlShellQuickExtension>(uri, 1, 0, "WlShell");
qmlRegisterType<QWaylandWlShellSurface>(uri, 1, 0, "WlShellSurface");
qmlRegisterType<QWaylandQuickShellSurfaceItem>(uri, 1, 0, "ShellSurfaceItem");