fe226c4bf5
Replace all user-visible "Bitcoin" and "Electrum" strings across Qt and QML GUIs with "Bitcoin Purple" and "Electrum Purple" respectively. Update the Help menu: replace the Bitcoin Paper link with the Bitcoin Purple whitepaper and point the official website to bitcoinpurpleblockchain.com. Remove the "Distributed by Electrum Technologies GmbH" attribution from the About dialog. No code identifiers, class names or technical references were modified.
168 lines
4.9 KiB
QML
168 lines
4.9 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
import QtQuick.Controls.Material
|
|
|
|
import QtQml
|
|
|
|
import "controls"
|
|
|
|
ElDialog
|
|
{
|
|
id: root
|
|
|
|
property var crashData
|
|
|
|
property bool _sending: false
|
|
|
|
width: parent.width
|
|
height: parent.height
|
|
z: 1000 // assure topmost of all other dialogs. note: child popups need even higher!
|
|
// disable padding in ElDialog as it is overwritten here and shows no effect, this dialog needs padding though
|
|
needsSystemBarPadding: false
|
|
|
|
header: null
|
|
|
|
ColumnLayout {
|
|
anchors.topMargin: app.statusBarHeight // edge-to-edge layout padding
|
|
anchors.bottomMargin: app.navigationBarHeight
|
|
anchors.fill: parent
|
|
enabled: !_sending
|
|
|
|
Image {
|
|
Layout.alignment: Qt.AlignCenter
|
|
Layout.preferredWidth: 128
|
|
Layout.preferredHeight: 128
|
|
source: '../../icons/bug.png'
|
|
}
|
|
Label {
|
|
text: qsTr('Sorry!')
|
|
font.pixelSize: constants.fontSizeLarge
|
|
}
|
|
|
|
Label {
|
|
Layout.fillWidth: true
|
|
text: qsTr('Something went wrong while executing Electrum Purple.')
|
|
}
|
|
Label {
|
|
Layout.fillWidth: true
|
|
text: qsTr('To help us diagnose and fix the problem, you can send us a bug report that contains useful debug information:')
|
|
wrapMode: Text.Wrap
|
|
}
|
|
Button {
|
|
Layout.alignment: Qt.AlignCenter
|
|
text: qsTr('Show report contents')
|
|
onClicked: {
|
|
if (crashData.traceback)
|
|
console.log('traceback: ' + crashData.traceback.stack)
|
|
var dialog = report.createObject(app, {
|
|
reportText: crashData.reportstring
|
|
})
|
|
dialog.open()
|
|
}
|
|
}
|
|
Label {
|
|
Layout.fillWidth: true
|
|
text: qsTr('Please briefly describe what led to the error (optional):')
|
|
}
|
|
TextArea {
|
|
id: user_text
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
background: Rectangle {
|
|
color: Qt.darker(Material.background, 1.25)
|
|
}
|
|
}
|
|
Label {
|
|
text: qsTr('Do you want to send this report?')
|
|
}
|
|
RowLayout {
|
|
Button {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 3
|
|
text: qsTr('Send Bug Report')
|
|
onClicked: {
|
|
var dialog = app.messageDialog.createObject(app, {
|
|
text: qsTr('Confirm to send bugreport?'),
|
|
yesno: true,
|
|
z: 1001 // assure topmost of all other dialogs
|
|
})
|
|
dialog.accepted.connect(function() {
|
|
AppController.sendReport(user_text.text)
|
|
})
|
|
dialog.open()
|
|
}
|
|
}
|
|
Button {
|
|
Layout.fillWidth: true
|
|
Layout.preferredWidth: 2
|
|
text: qsTr('Not Now')
|
|
onClicked: close()
|
|
}
|
|
}
|
|
}
|
|
|
|
BusyIndicator {
|
|
anchors.centerIn: parent
|
|
running: _sending
|
|
}
|
|
|
|
Component {
|
|
id: report
|
|
ElDialog {
|
|
property string reportText
|
|
|
|
width: parent.width
|
|
height: parent.height
|
|
z: 1001 // above root
|
|
needsSystemBarPadding: false
|
|
|
|
header: null
|
|
|
|
Flickable {
|
|
anchors.fill: parent
|
|
anchors.topMargin: app.statusBarHeight
|
|
anchors.bottomMargin: app.navigationBarHeight
|
|
contentHeight: reportLabel.implicitHeight
|
|
interactive: height < contentHeight
|
|
|
|
Label {
|
|
id: reportLabel
|
|
text: reportText
|
|
wrapMode: Text.Wrap
|
|
width: parent.width
|
|
}
|
|
}
|
|
onClosed: destroy()
|
|
}
|
|
}
|
|
|
|
Connections {
|
|
target: AppController
|
|
function onSendingBugreportSuccess(text) {
|
|
_sending = false
|
|
var dialog = app.messageDialog.createObject(app, {
|
|
text: text,
|
|
richText: true,
|
|
z: 1001 // assure topmost of all other dialogs
|
|
})
|
|
dialog.open()
|
|
close()
|
|
}
|
|
function onSendingBugreportFailure(text) {
|
|
_sending = false
|
|
var dialog = app.messageDialog.createObject(app, {
|
|
title: qsTr('Error'),
|
|
iconSource: Qt.resolvedUrl('../../icons/warning.png'),
|
|
text: text,
|
|
richText: true,
|
|
z: 1001 // assure topmost of all other dialogs
|
|
})
|
|
dialog.open()
|
|
}
|
|
function onSendingBugreport() {
|
|
_sending = true
|
|
}
|
|
}
|
|
}
|