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.
121 lines
3.9 KiB
121 lines
3.9 KiB
import QtQuick |
|
import QtQuick.Layouts |
|
import QtQuick.Controls |
|
|
|
import org.electrum 1.0 |
|
|
|
import "controls" |
|
|
|
ElDialog { |
|
id: root |
|
|
|
title: Daemon.currentWallet.isWatchOnly |
|
? qsTr('Import additional addresses') |
|
: qsTr('Import additional keys') |
|
|
|
property bool valid: false |
|
|
|
width: parent.width |
|
height: parent.height |
|
|
|
padding: 0 |
|
|
|
function verify(text) { |
|
if (Daemon.currentWallet.isWatchOnly) |
|
return bitcoin.isAddressList(text) |
|
else |
|
return bitcoin.isPrivateKeyList(text) |
|
} |
|
|
|
onAccepted: { |
|
if (Daemon.currentWallet.isWatchOnly) |
|
Daemon.currentWallet.importAddresses(import_ta.text) |
|
else |
|
Daemon.currentWallet.importPrivateKeys(import_ta.text) |
|
} |
|
|
|
ColumnLayout { |
|
anchors.fill: parent |
|
spacing: 0 |
|
|
|
ColumnLayout { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
Layout.leftMargin: constants.paddingLarge |
|
Layout.rightMargin: constants.paddingLarge |
|
|
|
Label { |
|
text: Daemon.currentWallet.isWatchOnly |
|
? qsTr('Import additional addresses') |
|
: qsTr('Import additional keys') |
|
} |
|
|
|
RowLayout { |
|
TextArea { |
|
id: import_ta |
|
Layout.fillWidth: true |
|
Layout.minimumHeight: 80 |
|
focus: true |
|
wrapMode: TextEdit.WrapAnywhere |
|
onTextChanged: valid = verify(text) |
|
inputMethodHints: Qt.ImhSensitiveData | Qt.ImhNoPredictiveText |
|
} |
|
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 |
|
scale: 1.2 |
|
onClicked: { |
|
var dialog = app.scanDialog.createObject(app, { |
|
hint: Daemon.currentWallet.isWatchOnly |
|
? qsTr('Scan another address') |
|
: qsTr('Scan another private key') |
|
}) |
|
dialog.onFound.connect(function() { |
|
if (verify(dialog.scanData)) { |
|
if (import_ta.text != '') |
|
import_ta.text = import_ta.text + ',\n' |
|
import_ta.text = import_ta.text + dialog.scanData |
|
} |
|
dialog.close() |
|
}) |
|
dialog.open() |
|
} |
|
} |
|
} |
|
} |
|
|
|
Item { |
|
Layout.preferredWidth: 1 |
|
Layout.fillHeight: true |
|
} |
|
} |
|
|
|
FlatButton { |
|
Layout.fillWidth: true |
|
icon.source: '../../icons/add.png' |
|
text: qsTr('Import') |
|
enabled: valid |
|
onClicked: doAccept() |
|
} |
|
} |
|
|
|
Bitcoin { |
|
id: bitcoin |
|
} |
|
|
|
}
|
|
|