summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandquickitem.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-09-18 12:41:52 +0200
committerPaul Olav Tvete <paul.tvete@theqtcompany.com>2015-09-18 14:56:24 +0000
commite32a289798a1b16e3d0858217003dcc2864cc0c1 (patch)
treefcee5fc9d00c7f457196fd1bdd26e1c87953f456 /src/compositor/compositor_api/qwaylandquickitem.cpp
parentc73103268debe47f8b51fe08d69e00a6d7d109f9 (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.cpp39
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);