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) + } } } }