From bff0694b0263ed8d85615b08a8f1d083a638fb19 Mon Sep 17 00:00:00 2001 From: ItsLemmy Date: Mon, 6 Oct 2025 08:04:09 -0400 Subject: [PATCH] Background: improved sourceSize calculation to support vertical monitors. --- Modules/Background/Background.qml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Modules/Background/Background.qml b/Modules/Background/Background.qml index 91e7edb3..b3880ac6 100644 --- a/Modules/Background/Background.qml +++ b/Modules/Background/Background.qml @@ -138,9 +138,15 @@ Variants { function calculateSourceSize() { if (implicitWidth > 0 && implicitHeight > 0) { - const aspectRatio = implicitWidth / implicitHeight - const w = Math.min(modelData.width, implicitWidth) - sourceSize = Qt.size(w, w / aspectRatio) + const imageAspectRatio = implicitWidth / implicitHeight + if (modelData.width >= modelData.height) { + const w = Math.min(modelData.width, implicitWidth) + sourceSize = Qt.size(w, w / imageAspectRatio) + } + else { + const h = Math.min(modelData.height, implicitHeight) + sourceSize = Qt.size(h * imageAspectRatio, h) + } } } } @@ -173,9 +179,15 @@ Variants { function calculateSourceSize() { if (implicitWidth > 0 && implicitHeight > 0) { - const aspectRatio = implicitWidth / implicitHeight - const w = Math.min(modelData.width, implicitWidth) - sourceSize = Qt.size(w, w / aspectRatio) + const imageAspectRatio = implicitWidth / implicitHeight + if (modelData.width >= modelData.height) { + const w = Math.min(modelData.width, implicitWidth) + sourceSize = Qt.size(w, w / imageAspectRatio) + } + else { + const h = Math.min(modelData.height, implicitHeight) + sourceSize = Qt.size(h * imageAspectRatio, h) + } } } }