diff options
author | Giulio Camuffo <giulio.camuffo@kdab.com> | 2016-04-25 11:11:17 +0300 |
---|---|---|
committer | Giulio Camuffo <giulio.camuffo@kdab.com> | 2016-04-29 13:36:40 +0000 |
commit | 5c5489a26b26ffb77ed53b15857711499424f84d (patch) | |
tree | be37e7c3c985061473046e569d3cf4dcea984c9d /examples | |
parent | b85246e7009004d6157d919a6ee4ddb4040ce1e1 (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')
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(); - } } ] |