MDI: Fix another case of showing resize handles wrong

(cherry-picked from commit 25b04d7ed8)
This commit is contained in:
Sergio Martins
2022-06-19 11:48:08 +01:00
parent 05b7980cfe
commit fe7f71d986

View File

@@ -532,15 +532,19 @@ CursorPosition WidgetResizeHandler::cursorPosition(QPoint globalPos) const
const int margin = widgetResizeHandlerMargin();
QFlags<CursorPosition>::Int result = CursorPosition_Undefined;
if (qAbs(x) <= margin)
result |= CursorPosition_Left;
else if (qAbs(x - (mTarget->width() - margin)) <= margin)
result |= CursorPosition_Right;
if (y >= -margin && y <= mTarget->height() + margin) {
if (qAbs(x) <= margin)
result |= CursorPosition_Left;
else if (qAbs(x - (mTarget->width() - margin)) <= margin)
result |= CursorPosition_Right;
}
if (qAbs(y) <= margin)
result |= CursorPosition_Top;
else if (qAbs(y - (mTarget->height() - margin)) <= margin)
result |= CursorPosition_Bottom;
if (x >= -margin && x <= mTarget->width() + margin) {
if (qAbs(y) <= margin)
result |= CursorPosition_Top;
else if (qAbs(y - (mTarget->height() - margin)) <= margin)
result |= CursorPosition_Bottom;
}
// Filter out sides we don't allow
result = result & mAllowedResizeSides;