diff --git a/src/private/FloatingWindow.cpp b/src/private/FloatingWindow.cpp index 85f7fcaa..ee7218cc 100644 --- a/src/private/FloatingWindow.cpp +++ b/src/private/FloatingWindow.cpp @@ -729,3 +729,13 @@ void FloatingWindow::ensureRectIsOnScreen(QRect &geometry) geometry.moveBottom(scrGeom.bottom()); } } + +bool FloatingWindow::supportsMinimizeButton() const +{ + return (Config::self().flags() & Config::Flag_TitleBarHasMinimizeButton) == Config::Flag_TitleBarHasMinimizeButton; // this specific flag is not base^2 +} + +bool FloatingWindow::supportsMaximizeButton() const +{ + return Config::self().flags() & Config::Flag_TitleBarHasMaximizeButton; +} diff --git a/src/private/FloatingWindow_p.h b/src/private/FloatingWindow_p.h index 4eea31a3..f8f2b08d 100644 --- a/src/private/FloatingWindow_p.h +++ b/src/private/FloatingWindow_p.h @@ -222,6 +222,12 @@ public: /// be open ended static Qt::WindowFlags s_windowFlagsOverride; + /// @brief Returns whether this floating window supports showing a minimize button + bool supportsMinimizeButton() const; + + /// @brief Returns whether this floating window supports showing a maximize button + bool supportsMaximizeButton() const; + Q_SIGNALS: void activatedChanged(); void numFramesChanged(); diff --git a/src/private/TitleBar.cpp b/src/private/TitleBar.cpp index 62a68ae2..db78cc9a 100644 --- a/src/private/TitleBar.cpp +++ b/src/private/TitleBar.cpp @@ -306,18 +306,12 @@ bool TitleBar::supportsFloatingButton() const bool TitleBar::supportsMaximizeButton() const { - if (!(Config::self().flags() & Config::Flag_TitleBarHasMaximizeButton)) - return false; - - return m_floatingWindow != nullptr; + return m_floatingWindow && m_floatingWindow->supportsMaximizeButton(); } bool TitleBar::supportsMinimizeButton() const { - if ((Config::self().flags() & Config::Flag_TitleBarHasMinimizeButton) != Config::Flag_TitleBarHasMinimizeButton) // this specific flag is not base^2 - return false; - - return m_floatingWindow != nullptr; + return m_floatingWindow && m_floatingWindow->supportsMinimizeButton(); } bool TitleBar::supportsAutoHideButton() const