From 2b7d6639506bbe91cd68add815c786f90279fcd9 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Sat, 11 Jul 2020 17:31:45 +0300 Subject: [PATCH] wayland:fix view config windows positioning --- app/view/settings/canvasconfigview.cpp | 5 +++++ app/view/settings/primaryconfigview.cpp | 5 +++++ app/view/settings/secondaryconfigview.cpp | 5 +++++ app/view/settings/subconfigview.cpp | 1 + 4 files changed, 16 insertions(+) diff --git a/app/view/settings/canvasconfigview.cpp b/app/view/settings/canvasconfigview.cpp index 8a5fc4483..05692b9cc 100644 --- a/app/view/settings/canvasconfigview.cpp +++ b/app/view/settings/canvasconfigview.cpp @@ -138,6 +138,11 @@ bool CanvasConfigView::event(QEvent *e) void CanvasConfigView::showEvent(QShowEvent *ev) { + if (m_shellSurface) { + //! under wayland it needs to be set again after its hiding + m_shellSurface->setPosition(m_geometryWhenVisible.topLeft()); + } + QQuickWindow::showEvent(ev); if (!m_latteView) { diff --git a/app/view/settings/primaryconfigview.cpp b/app/view/settings/primaryconfigview.cpp index c5fc88a97..cec669c64 100644 --- a/app/view/settings/primaryconfigview.cpp +++ b/app/view/settings/primaryconfigview.cpp @@ -377,6 +377,11 @@ void PrimaryConfigView::syncGeometry() void PrimaryConfigView::showEvent(QShowEvent *ev) { + if (m_shellSurface) { + //! under wayland it needs to be set again after its hiding + m_shellSurface->setPosition(m_geometryWhenVisible.topLeft()); + } + QQuickWindow::showEvent(ev); if (!m_latteView) { diff --git a/app/view/settings/secondaryconfigview.cpp b/app/view/settings/secondaryconfigview.cpp index ec719cd37..01ee8c4e9 100644 --- a/app/view/settings/secondaryconfigview.cpp +++ b/app/view/settings/secondaryconfigview.cpp @@ -182,6 +182,11 @@ void SecondaryConfigView::syncGeometry() void SecondaryConfigView::showEvent(QShowEvent *ev) { + if (m_shellSurface) { + //! under wayland it needs to be set again after its hiding + m_shellSurface->setPosition(m_geometryWhenVisible.topLeft()); + } + QQuickWindow::showEvent(ev); if (!m_latteView) { diff --git a/app/view/settings/subconfigview.cpp b/app/view/settings/subconfigview.cpp index 72dcbf4af..76c3599db 100644 --- a/app/view/settings/subconfigview.cpp +++ b/app/view/settings/subconfigview.cpp @@ -61,6 +61,7 @@ SubConfigView::SubConfigView(Latte::View *view, const QString &title, const bool setIcon(qGuiApp->windowIcon()); if (!m_isNormalWindow) { + setFlags(wFlags()); m_corona->wm()->setViewExtraFlags(this, true, Latte::Types::AlwaysVisible); }