mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-17 00:07:51 +00:00
405 lines
16 KiB
QML
405 lines
16 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Layouts 1.1
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Dialogs 1.2
|
|
|
|
import "../../js/Utils.js" as Utils
|
|
import "../../components" as MoneroComponents
|
|
|
|
Rectangle {
|
|
color: "transparent"
|
|
height: 1400
|
|
Layout.fillWidth: true
|
|
|
|
ColumnLayout {
|
|
id: settingsWallet
|
|
property int itemHeight: 60 * scaleRatio
|
|
Layout.fillWidth: true
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
anchors.right: parent.right
|
|
anchors.margins: (isMobile)? 17 : 20
|
|
anchors.topMargin: 0
|
|
spacing: 0
|
|
|
|
Rectangle {
|
|
// divider
|
|
Layout.preferredHeight: 1 * scaleRatio
|
|
Layout.fillWidth: true
|
|
Layout.bottomMargin: 8 * scaleRatio
|
|
color: MoneroComponents.Style.dividerColor
|
|
opacity: MoneroComponents.Style.dividerOpacity
|
|
}
|
|
|
|
GridLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: settingsWallet.itemHeight
|
|
columnSpacing: 0
|
|
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: 0
|
|
|
|
Text {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 20 * scaleRatio
|
|
Layout.topMargin: 8 * scaleRatio
|
|
color: "white"
|
|
font.bold: true
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 16 * scaleRatio
|
|
text: qsTr("Close this wallet") + translationManager.emptyString
|
|
}
|
|
|
|
TextArea {
|
|
Layout.fillWidth: true
|
|
color: MoneroComponents.Style.greyFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
horizontalAlignment: TextInput.AlignLeft
|
|
selectByMouse: false
|
|
wrapMode: Text.WordWrap;
|
|
textMargin: 0
|
|
leftPadding: 0
|
|
topPadding: 0
|
|
text: qsTr("Logs out of this wallet.") + translationManager.emptyString
|
|
width: parent.width
|
|
readOnly: true
|
|
|
|
// @TODO: Legacy. Remove after Qt 5.8.
|
|
// https://stackoverflow.com/questions/41990013
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.minimumWidth: 120 * scaleRatio
|
|
Layout.preferredWidth: closeWalletText.width + (20 * scaleRatio)
|
|
Layout.preferredHeight: parent.height
|
|
color: "transparent"
|
|
|
|
Rectangle{
|
|
width: parent.width
|
|
height: 24 * scaleRatio
|
|
radius: 2 * scaleRatio
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.buttonBackgroundColorDisabled
|
|
|
|
Text {
|
|
id: closeWalletText
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.defaultFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
font.bold: true
|
|
text: qsTr("Close wallet") + translationManager.emptyString
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
appWindow.showWizard();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
// divider
|
|
Layout.preferredHeight: 1 * scaleRatio
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 8 * scaleRatio
|
|
Layout.bottomMargin: 8 * scaleRatio
|
|
color: MoneroComponents.Style.dividerColor
|
|
opacity: MoneroComponents.Style.dividerOpacity
|
|
}
|
|
|
|
GridLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: settingsWallet.itemHeight
|
|
columnSpacing: 0
|
|
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: 0
|
|
|
|
Text {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 20 * scaleRatio
|
|
Layout.topMargin: 8 * scaleRatio
|
|
color: "white"
|
|
font.bold: true
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 16 * scaleRatio
|
|
text: qsTr("Create a view-only wallet") + translationManager.emptyString
|
|
}
|
|
|
|
TextArea {
|
|
Layout.fillWidth: true
|
|
color: MoneroComponents.Style.greyFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
horizontalAlignment: TextInput.AlignLeft
|
|
selectByMouse: false
|
|
wrapMode: Text.WordWrap;
|
|
textMargin: 0
|
|
leftPadding: 0
|
|
topPadding: 0
|
|
text: qsTr("Creates a new wallet that can only view transactions, cannot initialize transactions.") + translationManager.emptyString
|
|
width: parent.width
|
|
readOnly: true
|
|
|
|
// @TODO: Legacy. Remove after Qt 5.8.
|
|
// https://stackoverflow.com/questions/41990013
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.minimumWidth: 120 * scaleRatio
|
|
Layout.preferredWidth: createViewOnlyText.width + (20 * scaleRatio)
|
|
Layout.preferredHeight: parent.height
|
|
color: "transparent"
|
|
|
|
Rectangle{
|
|
width: parent.width
|
|
height: 24 * scaleRatio
|
|
radius: 2 * scaleRatio
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.buttonBackgroundColorDisabled
|
|
|
|
Text {
|
|
id: createViewOnlyText
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.defaultFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
font.bold: true
|
|
text: qsTr("Create wallet") + translationManager.emptyString
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
wizard.openCreateViewOnlyWalletPage();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
// divider
|
|
Layout.preferredHeight: 1 * scaleRatio
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 8 * scaleRatio
|
|
Layout.bottomMargin: 8 * scaleRatio
|
|
color: MoneroComponents.Style.dividerColor
|
|
opacity: MoneroComponents.Style.dividerOpacity
|
|
}
|
|
|
|
GridLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: settingsWallet.itemHeight
|
|
columnSpacing: 0
|
|
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: 0
|
|
|
|
Text {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 20 * scaleRatio
|
|
Layout.topMargin: 8 * scaleRatio
|
|
color: "white"
|
|
font.bold: true
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 16 * scaleRatio
|
|
text: qsTr("Show seed & keys") + translationManager.emptyString
|
|
}
|
|
|
|
TextArea {
|
|
Layout.fillWidth: true
|
|
color: MoneroComponents.Style.greyFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
horizontalAlignment: TextInput.AlignLeft
|
|
selectByMouse: false
|
|
wrapMode: Text.WordWrap;
|
|
textMargin: 0 * scaleRatio
|
|
leftPadding: 0
|
|
topPadding: 0
|
|
text: qsTr("Store this information safely to recover your wallet in the future.") + translationManager.emptyString
|
|
width: parent.width
|
|
readOnly: true
|
|
|
|
// @TODO: Legacy. Remove after Qt 5.8.
|
|
// https://stackoverflow.com/questions/41990013
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.minimumWidth: 120 * scaleRatio
|
|
Layout.preferredWidth: showSeedText.width + (20 * scaleRatio)
|
|
Layout.preferredHeight: parent.height
|
|
color: "transparent"
|
|
|
|
Rectangle{
|
|
width: parent.width
|
|
height: 24 * scaleRatio
|
|
radius: 2 * scaleRatio
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.buttonBackgroundColorDisabled
|
|
|
|
Text {
|
|
id: showSeedText
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.defaultFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
font.bold: true
|
|
text: qsTr("Show seed") + translationManager.emptyString
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
onClicked: Utils.showSeedPage();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
// divider
|
|
Layout.preferredHeight: 1 * scaleRatio
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 8 * scaleRatio
|
|
Layout.bottomMargin: 8 * scaleRatio
|
|
color: MoneroComponents.Style.dividerColor
|
|
opacity: MoneroComponents.Style.dividerOpacity
|
|
}
|
|
|
|
GridLayout {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: settingsWallet.itemHeight
|
|
columnSpacing: 0
|
|
|
|
ColumnLayout {
|
|
Layout.fillWidth: true
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: 0
|
|
|
|
Text {
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 20 * scaleRatio
|
|
Layout.topMargin: 8 * scaleRatio
|
|
color: "white"
|
|
font.bold: true
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 16 * scaleRatio
|
|
text: qsTr("Rescan wallet balance") + translationManager.emptyString
|
|
}
|
|
|
|
TextArea {
|
|
Layout.fillWidth: true
|
|
color: MoneroComponents.Style.greyFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
horizontalAlignment: TextInput.AlignLeft
|
|
selectByMouse: false
|
|
wrapMode: Text.WordWrap;
|
|
textMargin: 0
|
|
leftPadding: 0
|
|
topPadding: 0
|
|
text: qsTr("Use this feature if you think the shown balance is not accurate.") + translationManager.emptyString
|
|
width: parent.width
|
|
readOnly: true
|
|
|
|
// @TODO: Legacy. Remove after Qt 5.8.
|
|
// https://stackoverflow.com/questions/41990013
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
Layout.minimumWidth: 120 * scaleRatio
|
|
Layout.preferredWidth: rescanButtonText.width + (20 * scaleRatio)
|
|
Layout.preferredHeight: parent.height
|
|
color: "transparent"
|
|
|
|
Rectangle{
|
|
width: parent.width
|
|
|
|
height: 24 * scaleRatio
|
|
radius: 2 * scaleRatio
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.buttonBackgroundColorDisabled
|
|
|
|
Text {
|
|
id: rescanButtonText
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
color: MoneroComponents.Style.defaultFontColor
|
|
font.family: MoneroComponents.Style.fontRegular.name
|
|
font.pixelSize: 14 * scaleRatio
|
|
font.bold: true
|
|
text: qsTr("Rescan") + translationManager.emptyString
|
|
}
|
|
|
|
MouseArea {
|
|
cursorShape: Qt.PointingHandCursor
|
|
anchors.fill: parent
|
|
onClicked: {
|
|
if (!currentWallet.rescanSpent()) {
|
|
console.error("Error: ", currentWallet.errorString);
|
|
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
|
informationPopup.text = qsTr("Error: ") + currentWallet.errorString
|
|
informationPopup.icon = StandardIcon.Critical
|
|
informationPopup.onCloseCallback = null
|
|
informationPopup.open();
|
|
} else {
|
|
informationPopup.title = qsTr("Information") + translationManager.emptyString
|
|
informationPopup.text = qsTr("Successfully rescanned spent outputs.") + translationManager.emptyString
|
|
informationPopup.icon = StandardIcon.Information
|
|
informationPopup.onCloseCallback = null
|
|
informationPopup.open();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
console.log('SettingsWallet loaded');
|
|
}
|
|
}
|
|
|