diff options
author | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2016-06-19 16:18:15 +0200 |
---|---|---|
committer | Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> | 2016-07-01 08:18:57 +0000 |
commit | 37479b8053b7cb9fcad79b4ecedc11925d82e1e8 (patch) | |
tree | b4e9273c48de1bd53a3b48d6cc13bfbb52b2037c | |
parent | 09aa17e0a85cdd85f0ebf80e5344e44e7db3c83c (diff) |
Compositor: always use move item when positioning shell surfaces
Change-Id: I770829cd4dbc2b6669abfde6f21c1967357cc562
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Erik Larsson <erik@ortogonal.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r-- | src/compositor/extensions/qwaylandxdgshellintegration.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellintegration.cpp b/src/compositor/extensions/qwaylandxdgshellintegration.cpp index 41d559e4d..514f956ba 100644 --- a/src/compositor/extensions/qwaylandxdgshellintegration.cpp +++ b/src/compositor/extensions/qwaylandxdgshellintegration.cpp @@ -119,7 +119,7 @@ void XdgShellIntegration::handleStartResize(QWaylandInputDevice *inputDevice, QW resizeState.inputDevice = inputDevice; resizeState.resizeEdges = edges; resizeState.initialWindowSize = m_xdgSurface->windowGeometry().size(); - resizeState.initialPosition = m_item->position(); + resizeState.initialPosition = m_item->moveItem()->position(); resizeState.initialSurfaceSize = m_item->surface()->size(); resizeState.initialized = false; } @@ -127,7 +127,7 @@ void XdgShellIntegration::handleStartResize(QWaylandInputDevice *inputDevice, QW void XdgShellIntegration::handleSetMaximized() { maximizeState.initialWindowSize = m_xdgSurface->windowGeometry().size(); - maximizeState.initialPosition = m_item->position(); + maximizeState.initialPosition = m_item->moveItem()->position(); QWaylandOutput *output = m_item->view()->output(); m_xdgSurface->sendMaximized(output->availableGeometry().size() / output->scaleFactor()); @@ -142,9 +142,9 @@ void XdgShellIntegration::handleMaximizedChanged() { if (m_xdgSurface->maximized()) { QWaylandOutput *output = m_item->view()->output(); - m_item->setPosition(output->availableGeometry().topLeft()); + m_item->moveItem()->setPosition(output->position() + output->availableGeometry().topLeft()); } else { - m_item->setPosition(maximizeState.initialPosition); + m_item->moveItem()->setPosition(maximizeState.initialPosition); } } @@ -164,7 +164,7 @@ void XdgShellIntegration::handleSurfaceSizeChanged() if (resizeState.resizeEdges & QWaylandXdgSurface::ResizeEdge::LeftEdge) x += resizeState.initialSurfaceSize.width() - m_item->surface()->size().width(); - m_item->setPosition(QPointF(x, y)); + m_item->moveItem()->setPosition(QPointF(x, y)); } } @@ -174,7 +174,7 @@ XdgPopupIntegration::XdgPopupIntegration(QWaylandQuickShellSurfaceItem *item) , m_xdgShell(QWaylandXdgPopupPrivate::get(m_xdgPopup)->m_xdgShell) { item->setSurface(m_xdgPopup->surface()); - item->setPosition(QPointF(m_xdgPopup->position() * item->view()->output()->scaleFactor())); + item->moveItem()->setPosition(QPointF(m_xdgPopup->position() * item->view()->output()->scaleFactor())); QWaylandClient *client = m_xdgPopup->surface()->client(); QWaylandQuickShellEventFilter::startFilter(client, [&]() { m_xdgShell->closeAllPopups(); }); |