1
0

qml: add hack to delay rendering of QR until dialog is shown.

unfortunately, using standard QtQuick Image.asynchronous=true leads
to a deadlock at app exit so we can't use it a.t.m.
This commit is contained in:
Sander van Grieken
2022-08-31 13:33:58 +02:00
parent 179666612e
commit 40e8ff6ce2
3 changed files with 54 additions and 16 deletions

View File

@@ -1,25 +1,40 @@
import QtQuick 2.6
Image {
Item {
id: root
property string qrdata
property bool render: true // init to false, then set true if render needs delay
property var qrprops: QRIP.getDimensions(qrdata)
source: qrdata ? 'image://qrgen/' + qrdata : ''
width: r.width
height: r.height
Rectangle {
property var qrprops: QRIP.getDimensions(qrdata)
id: r
width: qrprops.modules * qrprops.box_size
height: width
color: 'white'
x: (parent.width - width) / 2
y: (parent.height - height) / 2
width: qrprops.icon_modules * qrprops.box_size
height: qrprops.icon_modules * qrprops.box_size
}
Image {
source: '../../../icons/electrum.png'
x: 1
y: 1
width: parent.width - 2
height: parent.height - 2
scale: 0.9
Image {
source: qrdata && render ? 'image://qrgen/' + qrdata : ''
Rectangle {
visible: root.render
color: 'white'
x: (parent.width - width) / 2
y: (parent.height - height) / 2
width: qrprops.icon_modules * qrprops.box_size
height: qrprops.icon_modules * qrprops.box_size
Image {
source: '../../../icons/electrum.png'
x: 1
y: 1
width: parent.width - 2
height: parent.height - 2
scale: 0.9
}
}
}
}