aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Ferdinand <sa.ferdinand@gmail.com>2018-07-18 15:19:59 +0200
committerSander Ferdinand <sa.ferdinand@gmail.com>2018-07-18 16:16:48 +0200
commit28bd9a72d219d53314aebc2530df666748a8adca (patch)
treee652db43201207facff7d6b1cc2de60fb849234d
parent9019fa8baad06240554a0df3ac777a99835a38bc (diff)
downloadmonzero-gui-28bd9a72d219d53314aebc2530df666748a8adca.tar.gz
monzero-gui-28bd9a72d219d53314aebc2530df666748a8adca.tar.xz
monzero-gui-28bd9a72d219d53314aebc2530df666748a8adca.zip
Added settings page: Wallet
-rw-r--r--pages/settings/SettingsWallet.qml407
1 files changed, 407 insertions, 0 deletions
diff --git a/pages/settings/SettingsWallet.qml b/pages/settings/SettingsWallet.qml
new file mode 100644
index 00000000..ef2c43df
--- /dev/null
+++ b/pages/settings/SettingsWallet.qml
@@ -0,0 +1,407 @@
+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');
+ }
+}
+