From e9066fe2a44fa8155de807e3ed1ec69d9e69bd6a Mon Sep 17 00:00:00 2001 From: srcejon Date: Fri, 29 Sep 2023 08:43:29 +0100 Subject: [PATCH] Use frame geo rather than widget size, so dialogs aren't positioned off screen on Windows. --- sdrgui/gui/dialogpositioner.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sdrgui/gui/dialogpositioner.cpp b/sdrgui/gui/dialogpositioner.cpp index 5482f30c0..7c9e4df30 100644 --- a/sdrgui/gui/dialogpositioner.cpp +++ b/sdrgui/gui/dialogpositioner.cpp @@ -79,18 +79,18 @@ void DialogPositioner::positionDialog(QWidget *dialog) // Position so fully on screen QRect desktop = dialog->screen()->availableGeometry(); - QSize size = dialog->size(); + QRect geometry = dialog->frameGeometry(); QPoint pos = dialog->pos(); bool move = false; - if (pos.x() + size.width() > desktop.width()) + if (pos.x() + geometry.width() > desktop.width()) { - pos.setX(desktop.width() - size.width()); + pos.setX(desktop.width() - geometry.width()); move = true; } - if (pos.y() + size.height() > desktop.height()) + if (pos.y() + geometry.height() > desktop.height()) { - pos.setY(desktop.height() - size.height()); + pos.setY(desktop.height() - geometry.height()); move = true; } if (move) {