Browse Source

qml: show all keystores on WalletDetails page

master
Sander van Grieken 3 years ago
parent
commit
98e395e78e
  1. 64
      electrum/gui/qml/components/WalletDetails.qml
  2. 11
      electrum/gui/qml/qewallet.py

64
electrum/gui/qml/components/WalletDetails.qml

@ -246,34 +246,64 @@ Pane {
}
}
Repeater {
id: keystores
model: Daemon.currentWallet.keystores
delegate: ColumnLayout {
Layout.columnSpan: 2
RowLayout {
Label {
text: qsTr('Keystore')
color: Material.accentColor
}
Label {
text: '#' + index
visible: keystores.count > 1
}
}
TextHighlightPane {
Layout.fillWidth: true
leftPadding: constants.paddingLarge
GridLayout {
width: parent.width
columns: 2
Label {
text: qsTr('Derivation prefix')
visible: Daemon.currentWallet.derivationPrefix
visible: modelData.derivation_prefix
color: Material.accentColor
}
Label {
Layout.fillWidth: true
text: Daemon.currentWallet.derivationPrefix
visible: Daemon.currentWallet.derivationPrefix
text: modelData.derivation_prefix
visible: modelData.derivation_prefix
}
Label {
visible: Daemon.currentWallet.masterPubkey
Layout.columnSpan:2; text: qsTr('Master Public Key'); color: Material.accentColor
text: qsTr('BIP32 fingerprint')
visible: modelData.fingerprint
color: Material.accentColor
}
TextHighlightPane {
visible: Daemon.currentWallet.masterPubkey
Layout.columnSpan: 2
Label {
Layout.fillWidth: true
padding: 0
leftPadding: constants.paddingSmall
text: modelData.fingerprint
visible: modelData.fingerprint
font.family: FixedFont
}
Label {
Layout.columnSpan: 2
visible: modelData.master_pubkey
text: qsTr('Master Public Key')
color: Material.accentColor
}
RowLayout {
width: parent.width
Layout.fillWidth: true
Layout.columnSpan: 2
Layout.leftMargin: constants.paddingLarge
Label {
text: Daemon.currentWallet.masterPubkey
text: modelData.master_pubkey
wrapMode: Text.Wrap
Layout.fillWidth: true
font.family: FixedFont
@ -285,7 +315,7 @@ Pane {
onClicked: {
var dialog = app.genericShareDialog.createObject(rootItem, {
title: qsTr('Master Public Key'),
text: Daemon.currentWallet.masterPubkey
text: modelData.master_pubkey
})
dialog.open()
}
@ -296,6 +326,10 @@ Pane {
}
}
}
}
}
FlatButton {
Layout.fillWidth: true
visible: Daemon.currentWallet.walletType == 'imported'

11
electrum/gui/qml/qewallet.py

@ -338,6 +338,17 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
def isHardware(self):
return self.wallet.storage.is_encrypted_with_hw_device()
@pyqtProperty('QVariantList', notify=dataChanged)
def keystores(self):
result = []
for k in self.wallet.get_keystores():
result.append({
'derivation_prefix': k.get_derivation_prefix() or '',
'master_pubkey': k.get_master_public_key() or '',
'fingerprint': k.get_root_fingerprint() or ''
})
return result
@pyqtProperty(str, notify=dataChanged)
def derivationPrefix(self):
keystores = self.wallet.get_keystores()

Loading…
Cancel
Save