fix(StatusImageModal): Image view is not scaled with window size changes
Closes #10080
This commit is contained in:
parent
f0484a59fb
commit
42458f4a7c
|
@ -3,51 +3,45 @@ import QtQuick.Window 2.2
|
||||||
import QtQuick.Controls 2.13
|
import QtQuick.Controls 2.13
|
||||||
import QtQuick.Layouts 1.13
|
import QtQuick.Layouts 1.13
|
||||||
import QtGraphicalEffects 1.13
|
import QtGraphicalEffects 1.13
|
||||||
|
import StatusQ.Popups.Dialog 0.1
|
||||||
|
|
||||||
import utils 1.0
|
import utils 1.0
|
||||||
import shared 1.0
|
import shared 1.0
|
||||||
import shared.views.chat 1.0
|
import shared.views.chat 1.0
|
||||||
|
|
||||||
Popup {
|
StatusDialog {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property var store
|
property var store
|
||||||
property var image
|
property var image
|
||||||
property string url: ""
|
property string url: ""
|
||||||
|
|
||||||
modal: true
|
width: (root.image.sourceSize.width > d.maxWidth) ?
|
||||||
Overlay.modal: Rectangle {
|
d.maxWidth : root.image.sourceSize.width
|
||||||
color: "#40000000"
|
height: (root.image.sourceSize.height > d.maxHeight) ?
|
||||||
}
|
d.maxHeight : root.image.sourceSize.height
|
||||||
parent: Overlay.overlay
|
|
||||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
|
||||||
x: Math.round(((parent ? parent.width : 0) - width) / 2)
|
|
||||||
y: Math.round(((parent ? parent.height : 0) - height) / 2)
|
|
||||||
background: Rectangle {
|
|
||||||
color: "transparent"
|
|
||||||
}
|
|
||||||
padding: 0
|
padding: 0
|
||||||
|
background: null
|
||||||
|
standardButtons: Dialog.NoButton
|
||||||
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: d
|
||||||
|
|
||||||
|
property int maxHeight: Global.applicationWindow.height - 80
|
||||||
|
property int maxWidth: Global.applicationWindow.width - 80
|
||||||
|
}
|
||||||
|
|
||||||
onOpened: {
|
onOpened: {
|
||||||
messageImage.source = root.image.source;
|
messageImage.source = root.image.source;
|
||||||
const maxHeight = Global.applicationWindow.height - 80
|
|
||||||
const maxWidth = Global.applicationWindow.width - 80
|
|
||||||
|
|
||||||
if (root.image.sourceSize.width >= maxWidth || root.image.sourceSize.height >= maxHeight) {
|
|
||||||
this.width = maxWidth
|
|
||||||
this.height = maxHeight
|
|
||||||
} else {
|
|
||||||
this.width = image.sourceSize.width
|
|
||||||
this.height = image.sourceSize.height
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
contentItem: AnimatedImage {
|
contentItem: AnimatedImage {
|
||||||
id: messageImage
|
id: messageImage
|
||||||
|
anchors.fill: parent
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
mipmap: true
|
mipmap: true
|
||||||
smooth: false
|
smooth: false
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue