1
0
Files
electrum/electrum/gui/qml/components/controls/FormattedAmount.qml

71 lines
1.8 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Controls.Material
import org.electrum 1.0
GridLayout {
required property Amount amount
property bool showAlt: true
property bool singleLine: true
property bool valid: true
property bool historic: Daemon.fx.historicRates
property int timestamp: 0
columns: !valid
? 1
: singleLine
? 3
: 2
Item {
visible: !valid // empty placeholder if not valid
Layout.preferredWidth: 1
Layout.preferredHeight: 1
}
Label {
visible: valid
text: amount.msatsInt != 0 ? Config.formatMilliSats(amount) : Config.formatSats(amount)
font.family: FixedFont
}
Label {
visible: valid
text: Config.baseUnit
color: Material.accentColor
}
Label {
id: fiatLabel
Layout.columnSpan: singleLine ? 1 : 2
visible: showAlt && Daemon.fx.enabled && valid
font.pixelSize: constants.fontSizeSmall
}
function setFiatValue() {
if (showAlt)
if (historic && timestamp)
fiatLabel.text = '(' + Daemon.fx.fiatValueHistoric(amount, timestamp) + ' ' + Daemon.fx.fiatCurrency + ')'
else
fiatLabel.text = Daemon.fx.isRecent(timestamp)
? '(' + Daemon.fx.fiatValue(amount) + ' ' + Daemon.fx.fiatCurrency + ')'
: ''
}
onAmountChanged: setFiatValue()
Connections {
target: Daemon.fx
function onQuotesUpdated() { setFiatValue() }
}
Connections {
target: amount
function onValueChanged() {
setFiatValue()
}
}
Component.onCompleted: setFiatValue()
}