Files
purple-electrumwallet/electrum/gui/qml/components/wizard/WCImport.qml
T

100 lines
3.4 KiB
QML
Raw Normal View History

2023-07-17 10:49:06 +02:00
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import org.electrum 1.0
import "../controls"
WizardComponent {
id: root
securePage: true
valid: false
function apply() {
if (bitcoin.isAddressList(import_ta.text)) {
wizard_data['address_list'] = import_ta.text
} else if (bitcoin.isPrivateKeyList(import_ta.text)) {
wizard_data['private_key_list'] = import_ta.text
}
}
function verify(text) {
return bitcoin.isAddressList(text) || bitcoin.isPrivateKeyList(text)
}
ColumnLayout {
width: parent.width
2023-11-15 18:28:44 +01:00
height: parent.height
2026-02-20 13:36:08 +01:00
InfoTextArea {
Layout.preferredWidth: parent.width
2026-02-20 13:36:08 +01:00
backgroundColor: constants.darkerDialogBackground
text: qsTr('Enter a list of Bitcoin addresses (this will create a watching-only wallet), or a list of private keys.')
}
RowLayout {
Layout.topMargin: constants.paddingMedium
2023-11-15 18:28:44 +01:00
Layout.fillHeight: true
ElTextArea {
id: import_ta
Layout.fillWidth: true
2023-11-15 18:28:44 +01:00
Layout.fillHeight: true
font.family: FixedFont
wrapMode: TextEdit.WrapAnywhere
onTextChanged: valid = verify(text)
inputMethodHints: Qt.ImhSensitiveData | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase
2023-11-15 18:28:44 +01:00
background: PaneInsetBackground {
baseColor: constants.darkerDialogBackground
}
}
2023-11-15 18:28:44 +01:00
ColumnLayout {
Layout.alignment: Qt.AlignTop
ToolButton {
icon.source: '../../../icons/paste.png'
icon.height: constants.iconSizeMedium
icon.width: constants.iconSizeMedium
onClicked: {
if (verify(AppController.clipboardToText())) {
if (import_ta.text != '')
import_ta.text = import_ta.text + '\n'
import_ta.text = import_ta.text + AppController.clipboardToText()
}
}
}
ToolButton {
icon.source: '../../../icons/qrcode.png'
icon.height: constants.iconSizeMedium
icon.width: constants.iconSizeMedium
onClicked: {
var dialog = app.scanDialog.createObject(app, {
hint: bitcoin.isAddressList(import_ta.text)
? qsTr('Scan another address')
: bitcoin.isPrivateKeyList(import_ta.text)
? qsTr('Scan another private key')
: qsTr('Scan a private key or an address')
})
dialog.onFoundText.connect(function(data) {
if (verify(data)) {
if (import_ta.text != '')
import_ta.text = import_ta.text + '\n'
import_ta.text = import_ta.text + data
}
dialog.close()
})
dialog.open()
}
}
}
}
}
Bitcoin {
id: bitcoin
}
}