summaryrefslogtreecommitdiff
path: root/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2023-02-22 12:15:50 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-03-10 19:14:56 +0000
commit390af54e0d5439e5a992bfd4c042c90d5272c5e6 (patch)
treebc16f5e2dd9642efd82e0c297a9af79914156cb0 /src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
parentbf7a8e31447239edc6265f5116e29d115594a4b3 (diff)
downloadqtwayland-390af54e0d5439e5a992bfd4c042c90d5272c5e6.tar.gz
client: Add support for xdg_popup_configure
This amends 59a5fe99e1569421b920d99c5b20cdafcdcf43a9. Since set_constraint_adjustment() was supported, popup should reposition itself from configure. Need to find a way to test clientSideMargins() and etc in the future. Fixes: QTBUG-110623 Task-number: QTBUG-87303 Done-with: Ilya Fedin <fedin-ilja2010@ya.ru> Change-Id: I734acfcde3ba5a35b6f4222358bc93e49fa43f7c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 2eeefbb706d8fce8d70d454c5e9ceda3ecae2479) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h')
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
index 58860269..11147af2 100644
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell_p.h
@@ -115,13 +115,19 @@ private:
Popup(QWaylandXdgSurface *xdgSurface, QWaylandWindow *parent, QtWayland::xdg_positioner *positioner);
~Popup() override;
+ void applyConfigure();
+ void resetConfiguration();
+
void grab(QWaylandInputDevice *seat, uint serial);
+ void xdg_popup_configure(int32_t x, int32_t y, int32_t width, int32_t height) override;
void xdg_popup_popup_done() override;
QWaylandXdgSurface *m_xdgSurface = nullptr;
QWaylandXdgSurface *m_parentXdgSurface = nullptr;
QWaylandWindow *m_parent = nullptr;
bool m_grabbing = false;
+
+ QRect m_pendingGeometry;
};
void setToplevel();