You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

128 lines
3.3 KiB

import QtQuick 2.6
import QtQuick.Layouts 1.5
import QtQuick.Controls 2.12
import QtQuick.Controls.Material 2.0
import org.electrum 1.0
import "controls"
Item {
id: root
clip: true
implicitHeight: 0
function open() {
state = 'opened'
}
function close() {
state = ''
}
function toggle() {
if (state == 'opened')
state = ''
else
state = 'opened'
}
states: [
State {
name: 'opened'
PropertyChanges { target: root; implicitHeight: detailsPane.height }
}
]
transitions: [
Transition {
from: ''
to: 'opened'
NumberAnimation { target: root; properties: 'implicitHeight'; duration: 200 }
},
Transition {
from: 'opened'
to: ''
NumberAnimation { target: root; properties: 'implicitHeight'; duration: 100 }
}
]
Pane {
id: detailsPane
width: parent.width
anchors.bottom: parent.bottom
padding: 0
background: Rectangle {
color: Material.dialogColor
}
ColumnLayout {
id: rootLayout
width: parent.width
spacing: constants.paddingXLarge
Item { Layout.preferredWidth: 1; Layout.preferredHeight: 1 }
RowLayout {
Layout.fillWidth: true
FlatButton {
text: qsTr('More details')
Layout.fillWidth: true
Layout.preferredWidth: 1
enabled: app.stack.currentItem.objectName != 'WalletDetails'
onClicked: {
root.close()
app.stack.pushOnRoot(Qt.resolvedUrl('WalletDetails.qml'))
}
}
FlatButton {
text: qsTr('Switch wallet')
Layout.fillWidth: true
icon.source: '../../icons/file.png'
Layout.preferredWidth: 1
enabled: app.stack.currentItem.objectName != 'Wallets'
onClicked: {
root.close()
app.stack.pushOnRoot(Qt.resolvedUrl('Wallets.qml'))
}
}
}
}
}
property string formattedTotalBalance
property string formattedTotalBalanceFiat
function setBalances() {
root.formattedTotalBalance = Config.formatSats(Daemon.currentWallet.totalBalance)
if (Daemon.fx.enabled) {
root.formattedTotalBalanceFiat = Daemon.fx.fiatValue(Daemon.currentWallet.totalBalance, false)
}
}
// instead of all these explicit connections, we should expose
// formatted balances directly as a property
Connections {
target: Config
function onBaseUnitChanged() { setBalances() }
function onThousandsSeparatorChanged() { setBalances() }
}
Connections {
target: Daemon
function onWalletLoaded() { setBalances() }
}
Connections {
target: Daemon.fx
function onEnabledUpdated() { setBalances() }
function onQuotesUpdated() { setBalances() }
}
Connections {
target: Daemon.currentWallet
function onBalanceChanged() {
setBalances()
}
}
}