MDI: Fix another case of showing resize handles wrong
the logic for 'y' only makes sense if 'x' is bounded and vice-versa
This commit is contained in:
@@ -520,15 +520,20 @@ 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 (qAbs(y) <= margin)
|
||||
result |= CursorPosition_Top;
|
||||
else if (qAbs(y - (mTarget->height() - margin)) <= margin)
|
||||
result |= CursorPosition_Bottom;
|
||||
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 (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;
|
||||
|
||||
Reference in New Issue
Block a user