diff --git a/ui/platform/linux/ui_utility_linux.h b/ui/platform/linux/ui_utility_linux.h index c6be70e..d03c657 100644 --- a/ui/platform/linux/ui_utility_linux.h +++ b/ui/platform/linux/ui_utility_linux.h @@ -32,6 +32,9 @@ inline void ShowOverAll(not_null widget, bool canFocus) { inline void BringToBack(not_null widget) { } +inline void DisableSystemWindowResize(not_null widget, QSize ratio) { +} + inline constexpr bool UseMainQueueGeneric() { return true; } diff --git a/ui/platform/mac/ui_utility_mac.mm b/ui/platform/mac/ui_utility_mac.mm index b230169..1948349 100644 --- a/ui/platform/mac/ui_utility_mac.mm +++ b/ui/platform/mac/ui_utility_mac.mm @@ -91,6 +91,15 @@ void DrainMainQueue() { void IgnoreAllActivation(not_null widget) { } +void DisableSystemWindowResize(not_null widget, QSize ratio) { + const auto winId = widget->window()->winId(); + if (const auto view = reinterpret_cast(winId)) { + if (const auto window = [view window]) { + window.styleMask &= ~NSWindowStyleMaskResizable; + } + } +} + std::optional IsOverlapped( not_null widget, const QRect &rect) { diff --git a/ui/platform/ui_platform_utility.h b/ui/platform/ui_platform_utility.h index c0bb5ea..4452332 100644 --- a/ui/platform/ui_platform_utility.h +++ b/ui/platform/ui_platform_utility.h @@ -29,6 +29,8 @@ void BringToBack(not_null widget); void IgnoreAllActivation(not_null widget); void ClearTransientParent(not_null widget); +void DisableSystemWindowResize(not_null widget, QSize ratio); + [[nodiscard]] std::optional IsOverlapped( not_null widget, const QRect &rect); diff --git a/ui/platform/win/ui_utility_win.h b/ui/platform/win/ui_utility_win.h index 2870cd0..67d8d89 100644 --- a/ui/platform/win/ui_utility_win.h +++ b/ui/platform/win/ui_utility_win.h @@ -38,6 +38,9 @@ inline void BringToBack(not_null widget) { inline void ClearTransientParent(not_null widget) { } +inline void DisableSystemWindowResize(not_null widget, QSize ratio) { +} + inline constexpr bool UseMainQueueGeneric() { return true; }