summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@kdab.com>2016-04-25 11:11:17 +0300
committerGiulio Camuffo <giulio.camuffo@kdab.com>2016-04-29 13:36:40 +0000
commit5c5489a26b26ffb77ed53b15857711499424f84d (patch)
treebe37e7c3c985061473046e569d3cf4dcea984c9d /examples
parentb85246e7009004d6157d919a6ee4ddb4040ce1e1 (diff)
Automatically initialize the quick extension objects
Instead of writing "Component.onCompleted: initialize()" for every extension the compositor has, let them call that automatically. Change-Id: I0b499a38c2b475dc9a7ef27cbacebef19b196dbf Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/wayland/custom-extension/compositor/customextension.cpp4
-rw-r--r--examples/wayland/custom-extension/compositor/customextension.h5
-rw-r--r--examples/wayland/custom-extension/compositor/main.cpp3
-rw-r--r--examples/wayland/custom-extension/compositor/qml/main.qml8
-rw-r--r--examples/wayland/multi-output/qml/main.qml4
-rw-r--r--examples/wayland/pure-qml/qml/main.qml15
6 files changed, 9 insertions, 30 deletions
diff --git a/examples/wayland/custom-extension/compositor/customextension.cpp b/examples/wayland/custom-extension/compositor/customextension.cpp
index bc2b676ef..a63d3c5a5 100644
--- a/examples/wayland/custom-extension/compositor/customextension.cpp
+++ b/examples/wayland/custom-extension/compositor/customextension.cpp
@@ -50,8 +50,10 @@ CustomExtension::CustomExtension()
{
}
-void CustomExtension::initialize(QWaylandCompositor *compositor)
+void CustomExtension::initialize()
{
+ QWaylandExtensionTemplate::initialize();
+ QWaylandCompositor *compositor = static_cast<QWaylandCompositor *>(extensionContainer());
init(compositor->display(), 1);
}
diff --git a/examples/wayland/custom-extension/compositor/customextension.h b/examples/wayland/custom-extension/compositor/customextension.h
index e9ace6e96..81c3c5057 100644
--- a/examples/wayland/custom-extension/compositor/customextension.h
+++ b/examples/wayland/custom-extension/compositor/customextension.h
@@ -44,6 +44,7 @@
#include "wayland-util.h"
#include <QtWaylandCompositor/QWaylandExtensionTemplate>
+#include <QtWaylandCompositor/QWaylandQuickExtension>
#include <QtWaylandCompositor/QWaylandCompositor>
#include "qwayland-server-custom.h"
@@ -54,7 +55,7 @@ class CustomExtension : public QWaylandExtensionTemplate<CustomExtension>, publ
Q_OBJECT
public:
CustomExtension();
- Q_INVOKABLE void initialize(QWaylandCompositor *compositor);
+ void initialize() Q_DECL_OVERRIDE;
Q_INVOKABLE void sendEvent(QWaylandSurface *surface, uint time, const QString &text, uint value);
signals:
@@ -63,6 +64,8 @@ protected:
virtual void example_extension_qtrequest(Resource *resource, const QString &text, int32_t value) Q_DECL_OVERRIDE;
};
+Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(CustomExtension)
+
}
#endif // CUSTOMEXTENSION_H
diff --git a/examples/wayland/custom-extension/compositor/main.cpp b/examples/wayland/custom-extension/compositor/main.cpp
index 1970e5a6b..867e4c0de 100644
--- a/examples/wayland/custom-extension/compositor/main.cpp
+++ b/examples/wayland/custom-extension/compositor/main.cpp
@@ -45,11 +45,12 @@
#include <QtQml/qqml.h>
#include <QtQml/QQmlEngine>
+
#include "customextension.h"
static void registerTypes()
{
- qmlRegisterType<QtWayland::CustomExtension>("com.theqtcompany.customextension", 1, 0, "CustomExtension");
+ qmlRegisterType<QtWayland::CustomExtensionQuickExtension>("com.theqtcompany.customextension", 1, 0, "CustomExtension");
}
int main(int argc, char *argv[])
diff --git a/examples/wayland/custom-extension/compositor/qml/main.qml b/examples/wayland/custom-extension/compositor/qml/main.qml
index dcba2bb70..ff83133be 100644
--- a/examples/wayland/custom-extension/compositor/qml/main.qml
+++ b/examples/wayland/custom-extension/compositor/qml/main.qml
@@ -82,20 +82,12 @@ WaylandCompositor {
var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
lastItem = item;
}
-
- Component.onCompleted: {
- initialize();
- }
},
CustomExtension {
id: custom
onRequestReceived: {
console.log("Compositor received a request: \"" + text + "\", " + value)
}
-
- Component.onCompleted: {
- initialize(comp);
- }
}
]
diff --git a/examples/wayland/multi-output/qml/main.qml b/examples/wayland/multi-output/qml/main.qml
index ccb3d418b..6a1483bca 100644
--- a/examples/wayland/multi-output/qml/main.qml
+++ b/examples/wayland/multi-output/qml/main.qml
@@ -89,10 +89,6 @@ WaylandCompositor {
var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
item.surface.activated.connect(item.raise);
}
-
- Component.onCompleted: {
- initialize();
- }
}
]
diff --git a/examples/wayland/pure-qml/qml/main.qml b/examples/wayland/pure-qml/qml/main.qml
index 65ac36166..c50d4b67d 100644
--- a/examples/wayland/pure-qml/qml/main.qml
+++ b/examples/wayland/pure-qml/qml/main.qml
@@ -72,10 +72,6 @@ WaylandCompositor {
WindowManager {
id: qtWindowManager
onShowIsFullScreenChanged: console.debug("Show is fullscreen hint for Qt applications:", showIsFullScreen)
-
- Component.onCompleted: {
- initialize();
- }
},
WlShell {
id: defaultShell
@@ -83,10 +79,6 @@ WaylandCompositor {
onShellSurfaceCreated: {
chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
}
-
- Component.onCompleted: {
- initialize();
- }
},
XdgShell {
id: xdgShell
@@ -94,15 +86,8 @@ WaylandCompositor {
onXdgSurfaceCreated: {
xdgChromeComponent.createObject(defaultOutput.surfaceArea, { "xdgSurface": xdgSurface } );
}
-
- Component.onCompleted: {
- initialize();
- }
},
TextInputManager {
- Component.onCompleted: {
- initialize();
- }
}
]