summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@theqtcompany.com>2016-04-11 12:51:21 +0200
committerJohan Helsing <johan.helsing@theqtcompany.com>2016-04-11 15:49:02 +0000
commit44f4395879ec9464c0a6dd3a7635fad05ad14118 (patch)
treea65a7eda1c4aac7101eedd42787c0483e442101b
parentf2e42b438d221ab007e9d3a0cbac1d34634b66e6 (diff)
Simplify ShellSurfaceItem creationv5.7.0-beta1
Use onShellSurfaceCreated instead of onCreateShellSurface. A QWaylandWlShellSurface is no longer created in QWaylandWlShellSurfaceItem::componentComplete Change-Id: I7a0dbbacddc17ab32ed0e4d16e717fcefb221947 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Erik Larsson <erik@ortogonal.com>
-rw-r--r--examples/wayland/custom-extension/compositor/qml/main.qml5
-rw-r--r--examples/wayland/multi-output/qml/main.qml7
-rw-r--r--examples/wayland/pure-qml/qml/main.qml6
-rw-r--r--src/compositor/extensions/qwaylandquickwlshellsurfaceitem.cpp13
-rw-r--r--src/compositor/extensions/qwaylandquickwlshellsurfaceitem.h2
5 files changed, 8 insertions, 25 deletions
diff --git a/examples/wayland/custom-extension/compositor/qml/main.qml b/examples/wayland/custom-extension/compositor/qml/main.qml
index 54d0707a..dcba2bb7 100644
--- a/examples/wayland/custom-extension/compositor/qml/main.qml
+++ b/examples/wayland/custom-extension/compositor/qml/main.qml
@@ -78,9 +78,8 @@ WaylandCompositor {
WlShell {
id: defaultShell
- onCreateShellSurface: {
- var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "surface": surface } );
- item.shellSurface.initialize(defaultShell, surface, resource);
+ onShellSurfaceCreated: {
+ var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
lastItem = item;
}
diff --git a/examples/wayland/multi-output/qml/main.qml b/examples/wayland/multi-output/qml/main.qml
index 9e11d361..ccb3d418 100644
--- a/examples/wayland/multi-output/qml/main.qml
+++ b/examples/wayland/multi-output/qml/main.qml
@@ -85,10 +85,9 @@ WaylandCompositor {
WlShell {
id: defaultShell
- onCreateShellSurface: {
- var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "surface": surface } );
- item.shellSurface.initialize(defaultShell, surface, resource);
- surface.activated.connect(item.raise);
+ onShellSurfaceCreated: {
+ var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
+ item.surface.activated.connect(item.raise);
}
Component.onCompleted: {
diff --git a/examples/wayland/pure-qml/qml/main.qml b/examples/wayland/pure-qml/qml/main.qml
index d706945e..a8a3985d 100644
--- a/examples/wayland/pure-qml/qml/main.qml
+++ b/examples/wayland/pure-qml/qml/main.qml
@@ -66,10 +66,8 @@ WaylandCompositor {
WlShell {
id: defaultShell
-
- onCreateShellSurface: {
- var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "surface": surface } );
- item.shellSurface.initialize(defaultShell, surface, resource);
+ onShellSurfaceCreated: {
+ chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": shellSurface } );
}
Component.onCompleted: {
diff --git a/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.cpp b/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.cpp
index fc6d856d..a385e5e4 100644
--- a/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.cpp
+++ b/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.cpp
@@ -110,6 +110,7 @@ void QWaylandQuickWlShellSurfaceItem::setShellSurface(QWaylandWlShellSurface *sh
connect(d->shellSurface, &QWaylandWlShellSurface::startMove, this, &QWaylandQuickWlShellSurfaceItem::handleStartMove);
connect(d->shellSurface, &QWaylandWlShellSurface::startResize, this, &QWaylandQuickWlShellSurfaceItem::handleStartResize);
}
+ setSurface(shellSurface ? shellSurface->surface() : nullptr);
emit shellSurfaceChanged();
}
@@ -226,16 +227,4 @@ void QWaylandQuickWlShellSurfaceItem::surfaceChangedEvent(QWaylandSurface *newSu
connect(newSurface, &QWaylandSurface::offsetForNextFrame, this, &QWaylandQuickWlShellSurfaceItem::adjustOffsetForNextFrame);
}
-/*!
- * \internal
- */
-void QWaylandQuickWlShellSurfaceItem::componentComplete()
-{
- Q_D(QWaylandQuickWlShellSurfaceItem);
- if (!d->shellSurface)
- setShellSurface(new QWaylandWlShellSurface());
-
- QWaylandQuickItem::componentComplete();
-}
-
QT_END_NAMESPACE
diff --git a/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.h b/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.h
index 626926f8..7f32c9f3 100644
--- a/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.h
+++ b/src/compositor/extensions/qwaylandquickwlshellsurfaceitem.h
@@ -77,8 +77,6 @@ protected:
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void surfaceChangedEvent(QWaylandSurface *newSurface, QWaylandSurface *oldSurface) Q_DECL_OVERRIDE;
-
- void componentComplete() Q_DECL_OVERRIDE;
};
QT_END_NAMESPACE