diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-09-18 12:41:52 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2015-09-18 14:56:24 +0000 |
commit | e32a289798a1b16e3d0858217003dcc2864cc0c1 (patch) | |
tree | fcee5fc9d00c7f457196fd1bdd26e1c87953f456 /src/compositor/compositor_api/qwaylandquickitem.cpp | |
parent | c73103268debe47f8b51fe08d69e00a6d7d109f9 (diff) |
Add sizeFollowsSurface property to QWaylandQuickItem
Change-Id: I416f5689679d08b9ba89dceceac5c2ed9128ed9a
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickitem.cpp')
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem.cpp | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 0d5a249cf..02a6519c0 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -366,8 +366,10 @@ void QWaylandQuickItem::handleSurfaceChanged() connect(newSurface, &QWaylandSurface::sizeChanged, this, &QWaylandQuickItem::updateSize); connect(newSurface, &QWaylandSurface::configure, this, &QWaylandQuickItem::updateBuffer); connect(newSurface, &QWaylandSurface::redraw, this, &QQuickItem::update); - setWidth(newSurface->size().width()); - setHeight(newSurface->size().height()); + if (d->sizeFollowsSurface) { + setWidth(newSurface->size().width()); + setHeight(newSurface->size().height()); + } if (newSurface->origin() != d->origin) { d->origin = newSurface->origin(); emit originChanged(); @@ -414,7 +416,8 @@ void QWaylandQuickItem::parentChanged(QWaylandSurface *newParent, QWaylandSurfac void QWaylandQuickItem::updateSize() { - if (surface()) { + Q_D(QWaylandQuickItem); + if (d->sizeFollowsSurface && surface()) { setSize(surface()->size()); } } @@ -442,6 +445,21 @@ bool QWaylandQuickItem::inputRegionContains(QPointF localPosition) return false; } +bool QWaylandQuickItem::sizeFollowsSurface() const +{ + Q_D(const QWaylandQuickItem); + return d->sizeFollowsSurface; +} + +void QWaylandQuickItem::setSizeFollowsSurface(bool sizeFollowsSurface) +{ + Q_D(QWaylandQuickItem); + if (d->sizeFollowsSurface == sizeFollowsSurface) + return; + d->sizeFollowsSurface = sizeFollowsSurface; + emit sizeFollowsSurfaceChanged(); +} + /*! \qmlproperty bool QtWayland::QWaylandSurfaceItem::paintEnabled @@ -469,12 +487,6 @@ bool QWaylandQuickItem::touchEventsEnabled() const return d->touchEventsEnabled; } -bool QWaylandQuickItem::resizeSurfaceToItem() const -{ - Q_D(const QWaylandQuickItem); - return d->resizeSurfaceToItem; -} - void QWaylandQuickItem::updateBuffer(bool hasBuffer) { Q_D(QWaylandQuickItem); @@ -559,15 +571,6 @@ void QWaylandQuickItem::setTouchEventsEnabled(bool enabled) } } -void QWaylandQuickItem::setResizeSurfaceToItem(bool enabled) -{ - Q_D(QWaylandQuickItem); - if (d->resizeSurfaceToItem != enabled) { - d->resizeSurfaceToItem = enabled; - emit resizeSurfaceToItemChanged(); - } -} - bool QWaylandQuickItem::inputEventsEnabled() const { Q_D(const QWaylandQuickItem); |