1
0
Files
electrum/electrum/gui/qml/components/ImportChannelBackupDialog.qml
Sander van Grieken aaed64c45a android: pass on QR binary scan result data as well
qml: add signals for QEQRScanner and fallbacks, add QEBytes container type
so we can pass along byte arrays between QML and python, port qr scan
occurrences to new signals.
2025-07-24 13:58:45 +02:00

99 lines
2.7 KiB
QML

import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import org.electrum 1.0
import "controls"
ElDialog {
id: root
property bool valid: false
width: parent.width
height: parent.height
padding: 0
title: qsTr('Import channel backup')
iconSource: Qt.resolvedUrl('../../icons/file.png')
function verifyChannelBackup(text) {
return valid = Daemon.currentWallet.isValidChannelBackup(text)
}
onAccepted: {
Daemon.currentWallet.importChannelBackup(channelbackup_ta.text)
}
ColumnLayout {
anchors.fill: parent
spacing: 0
RowLayout {
Layout.fillWidth: true
Layout.leftMargin: constants.paddingLarge
TextArea {
id: channelbackup_ta
Layout.fillWidth: true
Layout.minimumHeight: 80
font.family: FixedFont
focus: true
wrapMode: TextEdit.WrapAnywhere
onTextChanged: verifyChannelBackup(text)
}
ColumnLayout {
ToolButton {
icon.source: '../../icons/paste.png'
icon.height: constants.iconSizeMedium
icon.width: constants.iconSizeMedium
onClicked: {
channelbackup_ta.text = AppController.clipboardToText()
}
}
ToolButton {
icon.source: '../../icons/qrcode.png'
icon.height: constants.iconSizeMedium
icon.width: constants.iconSizeMedium
scale: 1.2
onClicked: {
var dialog = app.scanDialog.createObject(app, {
hint: qsTr('Scan a channel backup')
})
dialog.onFoundText.connect(function(data) {
channelbackup_ta.text = data
dialog.close()
})
dialog.open()
}
}
}
}
TextArea {
id: validationtext
visible: text
Layout.fillWidth: true
Layout.leftMargin: constants.paddingLarge
readOnly: true
wrapMode: TextInput.WordWrap
background: Rectangle {
color: 'transparent'
}
}
Item { Layout.preferredWidth: 1; Layout.fillHeight: true }
FlatButton {
Layout.fillWidth: true
enabled: valid
text: qsTr('Import')
onClicked: doAccept()
}
}
}