Allow disabling system resize for a window on macOS.
This commit is contained in:
parent
6be424604f
commit
f17320171a
4 changed files with 17 additions and 0 deletions
|
|
@ -32,6 +32,9 @@ inline void ShowOverAll(not_null<QWidget*> widget, bool canFocus) {
|
|||
inline void BringToBack(not_null<QWidget*> widget) {
|
||||
}
|
||||
|
||||
inline void DisableSystemWindowResize(not_null<QWidget*> widget, QSize ratio) {
|
||||
}
|
||||
|
||||
inline constexpr bool UseMainQueueGeneric() {
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,15 @@ void DrainMainQueue() {
|
|||
void IgnoreAllActivation(not_null<QWidget*> widget) {
|
||||
}
|
||||
|
||||
void DisableSystemWindowResize(not_null<QWidget*> widget, QSize ratio) {
|
||||
const auto winId = widget->window()->winId();
|
||||
if (const auto view = reinterpret_cast<NSView*>(winId)) {
|
||||
if (const auto window = [view window]) {
|
||||
window.styleMask &= ~NSWindowStyleMaskResizable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::optional<bool> IsOverlapped(
|
||||
not_null<QWidget*> widget,
|
||||
const QRect &rect) {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ void BringToBack(not_null<QWidget*> widget);
|
|||
void IgnoreAllActivation(not_null<QWidget*> widget);
|
||||
void ClearTransientParent(not_null<QWidget*> widget);
|
||||
|
||||
void DisableSystemWindowResize(not_null<QWidget*> widget, QSize ratio);
|
||||
|
||||
[[nodiscard]] std::optional<bool> IsOverlapped(
|
||||
not_null<QWidget*> widget,
|
||||
const QRect &rect);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@ inline void BringToBack(not_null<QWidget*> widget) {
|
|||
inline void ClearTransientParent(not_null<QWidget*> widget) {
|
||||
}
|
||||
|
||||
inline void DisableSystemWindowResize(not_null<QWidget*> widget, QSize ratio) {
|
||||
}
|
||||
|
||||
inline constexpr bool UseMainQueueGeneric() {
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue