From 0d5b6ce4c9d74fab37a338f4ce4ddf4dcc5af74d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Wed, 9 Nov 2022 16:15:35 +0000 Subject: [PATCH] Only enable resize grips if size policy isn't fixed --- sdrgui/gui/framelesswindowresizer.cpp | 12 ++++++++---- sdrgui/gui/workspace.cpp | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sdrgui/gui/framelesswindowresizer.cpp b/sdrgui/gui/framelesswindowresizer.cpp index e08f87080..330ec0463 100644 --- a/sdrgui/gui/framelesswindowresizer.cpp +++ b/sdrgui/gui/framelesswindowresizer.cpp @@ -44,22 +44,26 @@ void FramelessWindowResizer::enableChildMouseTracking() bool FramelessWindowResizer::mouseOnTopBorder(QPoint pos) const { - return (pos.y() >= 0) && (pos.y() < m_gripSize); + return ((pos.y() >= 0) && (pos.y() < m_gripSize) + && (m_widget->sizePolicy().verticalPolicy() != QSizePolicy::Fixed)); } bool FramelessWindowResizer::mouseOnBottomBorder(QPoint pos) const { - return (pos.y() > m_widget->height() - 1 - m_gripSize) && (pos.y() < m_widget->height()); + return ((pos.y() > m_widget->height() - 1 - m_gripSize) && (pos.y() < m_widget->height()) + && (m_widget->sizePolicy().verticalPolicy() != QSizePolicy::Fixed)); } bool FramelessWindowResizer::mouseOnLeftBorder(QPoint pos) const { - return (pos.x() >= 0) && (pos.x() < m_gripSize); + return ((pos.x() >= 0) && (pos.x() < m_gripSize) + && (m_widget->sizePolicy().horizontalPolicy() != QSizePolicy::Fixed)); } bool FramelessWindowResizer::mouseOnRightBorder(QPoint pos) const { - return (pos.x() > m_widget->width() - 1 - m_gripSize) && (pos.x() < m_widget->width()); + return ((pos.x() > m_widget->width() - 1 - m_gripSize) && (pos.x() < m_widget->width()) + && (m_widget->sizePolicy().horizontalPolicy() != QSizePolicy::Fixed)); } bool FramelessWindowResizer::mouseOnBorder(QPoint pos) const diff --git a/sdrgui/gui/workspace.cpp b/sdrgui/gui/workspace.cpp index 6487426ac..98e189348 100644 --- a/sdrgui/gui/workspace.cpp +++ b/sdrgui/gui/workspace.cpp @@ -448,7 +448,7 @@ void Workspace::stackSubWindows() for (auto window : devices) { QSize size = window->minimumSizeHint(); - size.expandedTo(window->minimumSize()); + size = size.expandedTo(window->minimumSize()); window->resize(size); }