From ae51eeb0bb46e6fa21747a4a6f1e33b9a88c39bd Mon Sep 17 00:00:00 2001 From: Mikolaj Boc Date: Thu, 2 Feb 2023 08:58:19 +0100 Subject: Support Qt::WindowMaximizeButtonHint in QWasmWindow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I1089ab4706c4342fa5976b1aff18d67d47769687 Reviewed-by: Aleksandr Reviakin Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/wasm/qwasmwindow.cpp | 9 ++++++++- src/plugins/platforms/wasm/qwasmwindow.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/plugins') diff --git a/src/plugins/platforms/wasm/qwasmwindow.cpp b/src/plugins/platforms/wasm/qwasmwindow.cpp index a25be3490c..06d9108866 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.cpp +++ b/src/plugins/platforms/wasm/qwasmwindow.cpp @@ -362,6 +362,8 @@ void QWasmWindow::setWindowFlags(Qt::WindowFlags flags) dom::syncCSSClassWith(m_qtWindow, "has-shadow", !flags.testFlag(Qt::NoDropShadowWindowHint)); dom::syncCSSClassWith(m_qtWindow, "transparent-for-input", flags.testFlag(Qt::WindowTransparentForInput)); + + m_nonClientArea->titleBar()->setMaximizeVisible(hasMaximizeButton()); } void QWasmWindow::setWindowState(Qt::WindowStates newState) @@ -422,7 +424,7 @@ void QWasmWindow::applyWindowState() dom::syncCSSClassWith(m_qtWindow, "maximized", isMaximized); m_nonClientArea->titleBar()->setRestoreVisible(isMaximized); - m_nonClientArea->titleBar()->setMaximizeVisible(!isMaximized); + m_nonClientArea->titleBar()->setMaximizeVisible(hasMaximizeButton()); if (isVisible()) QWindowSystemInterface::handleWindowStateChanged(window(), m_state, m_previousWindowState); @@ -521,6 +523,11 @@ bool QWasmWindow::hasTitleBar() const && !windowIsPopupType(m_flags); } +bool QWasmWindow::hasMaximizeButton() const +{ + return !m_state.testFlag(Qt::WindowMaximized) && m_flags.testFlag(Qt::WindowMaximizeButtonHint); +} + bool QWasmWindow::windowIsPopupType(Qt::WindowFlags flags) const { if (flags.testFlag(Qt::Tool)) diff --git a/src/plugins/platforms/wasm/qwasmwindow.h b/src/plugins/platforms/wasm/qwasmwindow.h index 7f4047b758..6c1c4a5adb 100644 --- a/src/plugins/platforms/wasm/qwasmwindow.h +++ b/src/plugins/platforms/wasm/qwasmwindow.h @@ -92,6 +92,7 @@ private: void invalidate(); bool hasTitleBar() const; + bool hasMaximizeButton() const; void applyWindowState(); bool processPointer(const PointerEvent &event); -- cgit v1.2.3