Windows QPA: Include custom margins in atypical margins
When calculating atypical margins that are used with ExtendsContentIntoTitleBar, the margins were checked against systemmargins, and then custom margins were added later. Instead, add the custom margins immediately and take them into account during calculations. Pick-to: 6.7 6.6 6.5 Change-Id: I44af663c85b8bdf080d769e3b38431cbe5df64f3 Reviewed-by: David Faure <david.faure@kdab.com>bb10
parent
c785d56ae0
commit
82e8f9e457
|
|
@ -2808,15 +2808,16 @@ void QWindowsWindow::calculateFullFrameMargins()
|
|||
const auto systemMargins = testFlag(DisableNonClientScaling)
|
||||
? QWindowsGeometryHint::frameOnPrimaryScreen(window(), m_data.hwnd)
|
||||
: frameMargins_sys();
|
||||
const QMargins actualMargins = systemMargins + customMargins();
|
||||
|
||||
const int yDiff = (windowRect.bottom - windowRect.top) - (clientRect.bottom - clientRect.top);
|
||||
const bool typicalFrame = (systemMargins.left() == systemMargins.right())
|
||||
&& (systemMargins.right() == systemMargins.bottom());
|
||||
const bool typicalFrame = (actualMargins.left() == actualMargins.right())
|
||||
&& (actualMargins.right() == actualMargins.bottom());
|
||||
|
||||
const QMargins adjustedMargins = typicalFrame ?
|
||||
QMargins(systemMargins.left(), (yDiff - systemMargins.bottom()),
|
||||
systemMargins.right(), systemMargins.bottom())
|
||||
: systemMargins + customMargins();
|
||||
QMargins(actualMargins.left(), (yDiff - actualMargins.bottom()),
|
||||
actualMargins.right(), actualMargins.bottom())
|
||||
: actualMargins;
|
||||
|
||||
setFullFrameMargins(adjustedMargins);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue