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.
127 lines
3.7 KiB
127 lines
3.7 KiB
import QtQuick 2.6 |
|
import QtQuick.Layouts 1.0 |
|
import QtQuick.Controls 2.3 |
|
import QtQuick.Controls.Material 2.0 |
|
|
|
import org.electrum 1.0 |
|
|
|
import "controls" |
|
|
|
ElDialog { |
|
id: dialog |
|
width: parent.width |
|
height: parent.height |
|
|
|
title: qsTr('Opening Channel...') |
|
|
|
allowClose: false |
|
|
|
property alias state: s.state |
|
property alias error: errorText.text |
|
property alias info: infoText.text |
|
property alias peer: peerText.text |
|
|
|
property string channelBackup |
|
|
|
function reset() { |
|
state = '' |
|
errorText.text = '' |
|
peerText.text = '' |
|
channelBackup = '' |
|
} |
|
|
|
Item { |
|
id: s |
|
state: '' |
|
states: [ |
|
State { |
|
name: 'success' |
|
PropertyChanges { target: dialog; allowClose: true } |
|
PropertyChanges { target: stateText; text: qsTr('Success!') } |
|
PropertyChanges { target: infoText; visible: true } |
|
PropertyChanges { target: icon; source: '../../icons/confirmed.png' } |
|
}, |
|
State { |
|
name: 'failed' |
|
PropertyChanges { target: dialog; allowClose: true } |
|
PropertyChanges { target: stateText; text: qsTr('Problem opening channel') } |
|
PropertyChanges { target: errorText; visible: true } |
|
PropertyChanges { target: icon; source: '../../icons/warning.png' } |
|
} |
|
] |
|
} |
|
|
|
ColumnLayout { |
|
id: content |
|
anchors.centerIn: parent |
|
width: parent.width |
|
spacing: constants.paddingLarge |
|
|
|
RowLayout { |
|
Layout.alignment: Qt.AlignHCenter |
|
Image { |
|
id: icon |
|
source: '' |
|
visible: source != '' |
|
Layout.preferredWidth: constants.iconSizeLarge |
|
Layout.preferredHeight: constants.iconSizeLarge |
|
} |
|
BusyIndicator { |
|
id: spinner |
|
running: visible |
|
visible: s.state == '' |
|
Layout.preferredWidth: constants.iconSizeLarge |
|
Layout.preferredHeight: constants.iconSizeLarge |
|
} |
|
|
|
Label { |
|
id: stateText |
|
text: qsTr('Opening Channel...') |
|
font.pixelSize: constants.fontSizeXXLarge |
|
} |
|
} |
|
|
|
TextHighlightPane { |
|
Layout.alignment: Qt.AlignHCenter |
|
Layout.preferredWidth: dialog.width * 3/4 |
|
Label { |
|
id: peerText |
|
font.pixelSize: constants.fontSizeMedium |
|
width: parent.width |
|
wrapMode: Text.Wrap |
|
horizontalAlignment: Text.AlignHCenter |
|
} |
|
} |
|
|
|
InfoTextArea { |
|
id: errorText |
|
Layout.alignment: Qt.AlignHCenter |
|
Layout.preferredWidth: dialog.width * 2/3 |
|
visible: false |
|
iconStyle: InfoTextArea.IconStyle.Error |
|
textFormat: TextEdit.PlainText |
|
} |
|
|
|
InfoTextArea { |
|
id: infoText |
|
Layout.alignment: Qt.AlignHCenter |
|
Layout.preferredWidth: dialog.width * 2/3 |
|
visible: false |
|
textFormat: TextEdit.PlainText |
|
} |
|
} |
|
|
|
onClosed: { |
|
if (!dialog.channelBackup) |
|
return |
|
|
|
var sharedialog = app.genericShareDialog.createObject(app, { |
|
title: qsTr('Save Channel Backup'), |
|
text: dialog.channelBackup, |
|
text_help: qsTr('The channel you created is not recoverable from seed.') |
|
+ ' ' + qsTr('To prevent fund losses, please save this backup on another device.') |
|
+ ' ' + qsTr('It may be imported in another Electrum wallet with the same seed.') |
|
}) |
|
sharedialog.open() |
|
} |
|
}
|
|
|