From a3128c9103fd0a03d352ce1d3b774936cd87d912 Mon Sep 17 00:00:00 2001 From: dsc Date: Fri, 1 Feb 2019 22:20:38 +0100 Subject: [PATCH] Cleanup advanced pages --- pages/Mining.qml | 10 +-- pages/SharedRingDB.qml | 186 ++++++++++++++++++++--------------------- pages/Sign.qml | 123 +++++++++++---------------- pages/TxKey.qml | 175 +++++++++++++++++++------------------- 4 files changed, 230 insertions(+), 264 deletions(-) diff --git a/pages/Mining.qml b/pages/Mining.qml index b05fea49..83324bdb 100644 --- a/pages/Mining.qml +++ b/pages/Mining.qml @@ -39,13 +39,13 @@ Rectangle { ColumnLayout { id: mainLayout + Layout.fillWidth: true anchors.margins: (isMobile)? 17 * scaleRatio : 20 * scaleRatio anchors.topMargin: 40 * scaleRatio anchors.left: parent.left anchors.top: parent.top anchors.right: parent.right spacing: 20 * scaleRatio - Layout.fillWidth: true MoneroComponents.Label { id: soloTitleLabel @@ -53,11 +53,9 @@ Rectangle { text: qsTr("Solo mining") + translationManager.emptyString } - MoneroComponents.Label { - id: soloLocalDaemonsLabel - fontSize: 18 * scaleRatio - color: "#D02020" - text: qsTr("(only available for local daemons)") + translationManager.emptyString + MoneroComponents.WarningBox { + Layout.bottomMargin: 8 * scaleRatio + text: qsTr("Mining is only available on local daemons.") + translationManager.emptyString visible: !walletManager.isDaemonLocal(appWindow.currentDaemonAddress) } diff --git a/pages/SharedRingDB.qml b/pages/SharedRingDB.qml index 2341ce32..6dc17e0e 100644 --- a/pages/SharedRingDB.qml +++ b/pages/SharedRingDB.qml @@ -32,7 +32,7 @@ import QtQuick.Controls.Styles 1.4 import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.2 -import "../components" +import "../components" as MoneroComponents import moneroComponents.Clipboard 1.0 Rectangle { @@ -79,6 +79,7 @@ Rectangle { /* main layout */ ColumnLayout { id: mainLayout + Layout.fillWidth: true anchors.margins: (isMobile)? 17 * scaleRatio : 20 * scaleRatio anchors.topMargin: 40 * scaleRatio @@ -87,16 +88,13 @@ Rectangle { anchors.right: parent.right spacing: 20 * scaleRatio - property int labelWidth: 120 - property int editWidth: 400 - property int lineEditFontSize: 14 * scaleRatio MessageDialog { id: sharedRingDBDialog standardButtons: StandardButton.Ok } - Label { + MoneroComponents.Label { id: signTitleLabel fontSize: 24 * scaleRatio text: qsTr("Shared RingDB") + translationManager.emptyString @@ -107,12 +105,12 @@ Rectangle { "This database is meant for use by Monero wallets as well as wallets from Monero clones which reuse the Monero keys.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } - LabelSubheader { + MoneroComponents.LabelSubheader { Layout.fillWidth: true textFormat: Text.RichText text: "" + @@ -138,13 +136,13 @@ Rectangle { Text { textFormat: Text.RichText - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio text: qsTr("This sets which outputs are known to be spent, and thus not to be used as privacy placeholders in ring signatures. ") + qsTr("You should only have to load a file when you want to refresh the list. Manual adding/removing is possible if needed.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true; - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } ColumnLayout { @@ -155,35 +153,31 @@ Rectangle { id: loadBlackballFileDialog title: qsTr("Please choose a file from which to load outputs to mark as spent") + translationManager.emptyString; folder: "file://" - nameFilters: [ "*"] + nameFilters: ["*"] onAccepted: { loadBlackballFileLine.text = walletManager.urlToLocalPath(loadBlackballFileDialog.fileUrl) } } - RowLayout { + MoneroComponents.LineEdit { + id: loadBlackballFileLine Layout.fillWidth: true - - LineEdit { - id: loadBlackballFileLine - Layout.fillWidth: true - fontSize: mainLayout.lineEditFontSize - placeholderText: qsTr("Path to file") + "..." + translationManager.emptyString - labelFontSize: 14 * scaleRatio - labelText: qsTr("Filename with outputs to mark as spent") + ":" + translationManager.emptyString - copyButton: true - readOnly: false - } + fontSize: 16 * scaleRatio + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Path to file") + "..." + translationManager.emptyString + labelFontSize: 14 * scaleRatio + labelText: qsTr("Filename with outputs to mark as spent") + ":" + translationManager.emptyString + copyButton: true + readOnly: false } RowLayout { Layout.fillWidth: true Layout.topMargin: 18 - StandardButton { + MoneroComponents.StandardButton { id: selectBlackballFileButton - anchors.rightMargin: 17 * scaleRatio text: qsTr("Browse") + translationManager.emptyString enabled: true small: true @@ -192,7 +186,7 @@ Rectangle { } } - StandardButton { + MoneroComponents.StandardButton { id: loadBlackballFileButton text: qsTr("Load") + translationManager.emptyString small: true @@ -202,55 +196,57 @@ Rectangle { } } - ColumnLayout { - Layout.topMargin: 12 + GridLayout { + Layout.fillWidth: true + columnSpacing: 20 * scaleRatio - RowLayout { - LineEdit { - id: blackballOutputAmountLine - fontSize: mainLayout.lineEditFontSize - labelFontSize: 14 * scaleRatio - labelText: qsTr("Or manually mark a single output as spent/unspent:") + translationManager.emptyString - placeholderText: qsTr("Paste output amount") + "..." + translationManager.emptyString - readOnly: false - width: mainLayout.editWidth / 2 - validator: IntValidator { bottom: 0 } - } - LineEdit { - id: blackballOutputOffsetLine - fontSize: mainLayout.lineEditFontSize - labelFontSize: 14 * scaleRatio - labelText: " " - placeholderText: qsTr("Paste output offset") + "..." + translationManager.emptyString - readOnly: false - width: mainLayout.editWidth / 2 - validator: IntValidator { bottom: 0 } - } + MoneroComponents.LineEdit { + id: blackballOutputAmountLine + Layout.fillWidth: true + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: qsTr("Or manually mark a single output as spent/unspent:") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste output amount") + "..." + translationManager.emptyString + readOnly: false + validator: IntValidator { bottom: 0 } } - RowLayout { + MoneroComponents.LineEdit { + id: blackballOutputOffsetLine Layout.fillWidth: true - Layout.topMargin: 18 - - StandardButton { - id: blackballButton - text: qsTr("Mark as spent") + translationManager.emptyString - small: true - enabled: !!appWindow.currentWallet && validUnsigned(blackballOutputAmountLine.text) && validUnsigned(blackballOutputOffsetLine.text) - onClicked: appWindow.currentWallet.blackballOutput(blackballOutputAmountLine.text, blackballOutputOffsetLine.text) - } - - StandardButton { - id: unblackballButton - text: qsTr("Mark as unspent") + translationManager.emptyString - small: true - enabled: !!appWindow.currentWallet && validUnsigned(blackballOutputAmountLine.text) && validUnsigned(blackballOutputOffsetLine.text) - onClicked: appWindow.currentWallet.unblackballOutput(blackballOutputAmountLine.text, blackballOutputOffsetLine.text) - } + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: " " + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste output offset") + "..." + translationManager.emptyString + readOnly: false + validator: IntValidator { bottom: 0 } } } - LabelSubheader { + RowLayout { + Layout.fillWidth: true + Layout.topMargin: 18 + + MoneroComponents.StandardButton { + id: blackballButton + text: qsTr("Mark as spent") + translationManager.emptyString + small: true + enabled: !!appWindow.currentWallet && validUnsigned(blackballOutputAmountLine.text) && validUnsigned(blackballOutputOffsetLine.text) + onClicked: appWindow.currentWallet.blackballOutput(blackballOutputAmountLine.text, blackballOutputOffsetLine.text) + } + + MoneroComponents.StandardButton { + id: unblackballButton + text: qsTr("Mark as unspent") + translationManager.emptyString + small: true + enabled: !!appWindow.currentWallet && validUnsigned(blackballOutputAmountLine.text) && validUnsigned(blackballOutputOffsetLine.text) + onClicked: appWindow.currentWallet.unblackballOutput(blackballOutputAmountLine.text, blackballOutputOffsetLine.text) + } + } + + MoneroComponents.LabelSubheader { Layout.fillWidth: true Layout.topMargin: 24 * scaleRatio textFormat: Text.RichText @@ -278,26 +274,24 @@ Rectangle { Text { textFormat: Text.RichText - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio text: qsTr("This records rings used by outputs spent on Monero on a key reusing chain, so that the same ring may be reused to avoid privacy issues.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true; - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } - RowLayout { - LineEdit { - id: keyImageLine - fontSize: mainLayout.lineEditFontSize - labelFontSize: 14 * scaleRatio - labelText: qsTr("Key image") + ":" + translationManager.emptyString - placeholderText: qsTr("Paste key image") + "..." + translationManager.emptyString - readOnly: false - copyButton: true - width: mainLayout.editWidth - Layout.fillWidth: true - } + MoneroComponents.LineEdit { + id: keyImageLine + Layout.fillWidth: true + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: qsTr("Key image") + ":" + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste key image") + "..." + translationManager.emptyString + readOnly: false + copyButton: true } GridLayout{ @@ -307,10 +301,10 @@ Rectangle { ColumnLayout { RowLayout { - LineEdit { + MoneroComponents.LineEdit { id: getRingLine Layout.fillWidth: true - fontSize: mainLayout.lineEditFontSize + fontSize: 16 * scaleRatio labelFontSize: 14 * scaleRatio labelText: qsTr("Get ring") + ":" + translationManager.emptyString readOnly: true @@ -322,7 +316,7 @@ Rectangle { Layout.fillWidth: true Layout.topMargin: 18 - StandardButton { + MoneroComponents.StandardButton { id: getRingButton text: qsTr("Get Ring") + translationManager.emptyString small: true @@ -342,11 +336,12 @@ Rectangle { ColumnLayout { RowLayout { - LineEdit { + MoneroComponents.LineEdit { id: setRingLine Layout.fillWidth: true - fontSize: mainLayout.lineEditFontSize + fontSize: 16 * scaleRatio labelFontSize: 14 * scaleRatio + placeholderFontSize: 16 * scaleRatio labelText: qsTr("Set ring") + ":" + translationManager.emptyString readOnly: false copyButton: true @@ -357,7 +352,7 @@ Rectangle { Layout.fillWidth: true Layout.topMargin: 18 - StandardButton { + MoneroComponents.StandardButton { id: setRingButton text: qsTr("Set Ring") + translationManager.emptyString small: true @@ -372,9 +367,10 @@ Rectangle { } GridLayout { + columnSpacing: 20 * scaleRatio columns: (isMobile) ? 1 : 2 - CheckBox { + MoneroComponents.CheckBox { id: segregatePreForkOutputs checked: persistentSettings.segregatePreForkOutputs text: qsTr("I intend to spend on key-reusing fork(s)") + translationManager.emptyString @@ -388,7 +384,7 @@ Rectangle { } } - CheckBox { + MoneroComponents.CheckBox { id: keyReuseMitigation2 checked: persistentSettings.keyReuseMitigation2 text: qsTr("I might want to spend on key-reusing fork(s)") + translationManager.emptyString @@ -402,7 +398,7 @@ Rectangle { } } - CheckBox { + MoneroComponents.CheckBox { id: setRingRelative checked: true text: qsTr("Relative") + translationManager.emptyString @@ -416,13 +412,15 @@ Rectangle { Layout.topMargin: 17 * scaleRatio Layout.fillWidth: true - LineEdit { + MoneroComponents.LineEdit { id: segregationHeightLine - readOnly: false + Layout.fillWidth: true + + placeholderFontSize: 16 * scaleRatio labelFontSize: 14 * scaleRatio labelText: qsTr("Segregation height:") + translationManager.emptyString - Layout.fillWidth: true validator: IntValidator { bottom: 0 } + readOnly: false onEditingFinished: { persistentSettings.segregationHeight = segregationHeightLine.text if (appWindow.currentWallet) { diff --git a/pages/Sign.qml b/pages/Sign.qml index c90ef324..d0b74d80 100644 --- a/pages/Sign.qml +++ b/pages/Sign.qml @@ -37,7 +37,6 @@ import moneroComponents.WalletManager 1.0 import "../components" as MoneroComponents Rectangle { - id: mainLayout property bool messageMode: true property bool fileMode: false @@ -86,48 +85,29 @@ Rectangle { // sign / verify ColumnLayout { - anchors.top: parent.top + id: mainLayout + Layout.fillWidth: true anchors.margins: (isMobile)? 17 * scaleRatio : 20 * scaleRatio anchors.topMargin: 40 * scaleRatio + anchors.left: parent.left + anchors.top: parent.top anchors.right: parent.right - Rectangle { - id: instructionsRect - Layout.preferredHeight: (instructionsText.height + 26) * scaleRatio + spacing: 20 * scaleRatio + + MoneroComponents.Label { + fontSize: 24 * scaleRatio + text: qsTr("Sign/verify") + translationManager.emptyString + } + + Text { + text: qsTr("This page lets you sign/verify a message (or file contents) with your address.") + translationManager.emptyString + wrapMode: Text.Wrap Layout.fillWidth: true - radius: 2 * scaleRatio - border.color: Qt.rgba(255, 255, 255, 0.25) - border.width: 1 * scaleRatio - color: "transparent" - - RowLayout { - Layout.fillWidth: true - Layout.preferredHeight: (instructionsText.height + 40) * scaleRatio - - Image { - Layout.alignment: Qt.AlignVCenter - Layout.preferredHeight: 22 * scaleRatio - Layout.preferredWidth: 22 * scaleRatio - Layout.leftMargin: 10 * scaleRatio - Layout.topMargin: 10 * scaleRatio - source: "../images/editIcon.png" - } - - Text { - id: instructionsText - Layout.topMargin: 12 * scaleRatio - Layout.preferredWidth: (instructionsRect.width - 80) * scaleRatio - Layout.leftMargin: 6 * scaleRatio - text: qsTr("This page lets you sign/verify a message (or file contents) with your address.") + translationManager.emptyString - wrapMode: Text.Wrap - Layout.fillWidth: true - font.family: MoneroComponents.Style.fontRegular.name - font.pixelSize: 15 * scaleRatio - textFormat: Text.RichText - color: MoneroComponents.Style.defaultFontColor - } - } + font.family: MoneroComponents.Style.fontRegular.name + font.pixelSize: 14 * scaleRatio + color: MoneroComponents.Style.defaultFontColor } ColumnLayout { @@ -173,23 +153,15 @@ Rectangle { } } - 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 - } - ColumnLayout { id: signSection spacing: 10 * scaleRatio - MoneroComponents.Label { - id: signTitleLabel - fontSize: 20 * scaleRatio + MoneroComponents.LabelSubheader { + Layout.fillWidth: true + Layout.topMargin: 12 * scaleRatio + Layout.bottomMargin: 24 * scaleRatio + textFormat: Text.RichText text: fileMode ? qsTr("Sign file") + translationManager.emptyString : qsTr("Sign message") + translationManager.emptyString } @@ -202,8 +174,10 @@ Rectangle { MoneroComponents.LineEditMulti{ id: signMessageLine Layout.fillWidth: true - placeholderText: qsTr("Enter a message to sign") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio labelText: qsTr("Message") + translationManager.emptyString; + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Enter a message to sign") + translationManager.emptyString; readOnly: false onTextChanged: signSignatureLine.text = '' wrapMode: Text.WrapAnywhere @@ -218,7 +192,9 @@ Rectangle { MoneroComponents.LineEditMulti { id: signFileLine + labelFontSize: 14 * scaleRatio labelText: qsTr("File") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio placeholderText: qsTr("Enter path to file") + translationManager.emptyString; readOnly: false Layout.fillWidth: true @@ -244,7 +220,9 @@ Rectangle { MoneroComponents.LineEditMulti { id: signSignatureLine - labelText: qsTr("Signature") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio + labelText: qsTr("Signature") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio placeholderText: messageMode ? qsTr("Click [Sign Message] to generate signature") + translationManager.emptyString : qsTr("Click [Sign File] to generate signature") + translationManager.emptyString; readOnly: true Layout.fillWidth: true @@ -296,23 +274,14 @@ Rectangle { } } - 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 - } - ColumnLayout { id: verifySection spacing: 16 * scaleRatio - MoneroComponents.Label { - id: verifyTitleLabel - fontSize: 20 * scaleRatio + MoneroComponents.LabelSubheader { + Layout.fillWidth: true + Layout.bottomMargin: 24 * scaleRatio + textFormat: Text.RichText text: fileMode ? qsTr("Verify file") + translationManager.emptyString : qsTr("Verify message") + translationManager.emptyString } @@ -320,8 +289,10 @@ Rectangle { id: verifyMessageLine visible: messageMode Layout.fillWidth: true - labelText: qsTr("Message") + translationManager.emptyString; - placeholderText: qsTr("Enter the message to verify") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio + labelText: qsTr("Message") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Enter the message to verify") + translationManager.emptyString readOnly: false wrapMode: Text.WrapAnywhere text: '' @@ -335,8 +306,10 @@ Rectangle { MoneroComponents.LineEditMulti { id: verifyFileLine - labelText: qsTr("File") + translationManager.emptyString; - placeholderText: qsTr("Enter path to file") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio + labelText: qsTr("File") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Enter path to file") + translationManager.emptyString readOnly: false Layout.fillWidth: true wrapMode: Text.WrapAnywhere @@ -358,9 +331,11 @@ Rectangle { MoneroComponents.LineEditMulti { id: verifyAddressLine Layout.fillWidth: true - labelText: qsTr("Address") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio + labelText: qsTr("Address") + translationManager.emptyString addressValidation: true - placeholderText: qsTr("Enter the Monero Address (example: 44AFFq5kSiGBoZ...)") + translationManager.emptyString; + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Enter the Monero Address (example: 44AFFq5kSiGBoZ...)") + translationManager.emptyString wrapMode: Text.WrapAnywhere text: '' pasteButton: true @@ -368,8 +343,10 @@ Rectangle { MoneroComponents.LineEditMulti { id: verifySignatureLine - labelText: qsTr("Signature") + translationManager.emptyString; - placeholderText: qsTr("Enter the signature to verify") + translationManager.emptyString; + labelFontSize: 14 * scaleRatio + labelText: qsTr("Signature") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Enter the signature to verify") + translationManager.emptyString Layout.fillWidth: true pasteButton: true wrapMode: Text.WrapAnywhere diff --git a/pages/TxKey.qml b/pages/TxKey.qml index 360d4e3a..ee046b4b 100644 --- a/pages/TxKey.qml +++ b/pages/TxKey.qml @@ -31,7 +31,7 @@ import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import QtQuick.Layouts 1.1 -import "../components" +import "../components" as MoneroComponents import moneroComponents.Clipboard 1.0 import "../js/TxUtils.js" as TxUtils @@ -57,62 +57,60 @@ Rectangle { id: soloBox spacing: 20 * scaleRatio - Label { + MoneroComponents.Label { id: soloTitleLabel fontSize: 24 * scaleRatio text: qsTr("Prove Transaction") + translationManager.emptyString } Text { + Layout.fillWidth: true text: qsTr("Generate a proof of your incoming/outgoing payment by supplying the transaction ID, the recipient address and an optional message. \n" + "For the case of outgoing payments, you can get a 'Spend Proof' that proves the authorship of a transaction. In this case, you don't need to specify the recipient address.") + translationManager.emptyString wrapMode: Text.Wrap - Layout.fillWidth: true - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } - RowLayout { - LineEdit { - labelText: qsTr("Transaction ID") + translationManager.emptyString - id: getProofTxIdLine - fontSize: 16 * scaleRatio - placeholderText: qsTr("Paste tx ID") + translationManager.emptyString - readOnly: false - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: getProofTxIdLine + Layout.fillWidth: true + labelFontSize: 14 * scaleRatio + labelText: qsTr("Transaction ID") + translationManager.emptyString + fontSize: 16 * scaleRatio + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste tx ID") + translationManager.emptyString + readOnly: false + copyButton: true } - RowLayout { - LineEdit { - id: getProofAddressLine - labelText: qsTr("Address") + translationManager.emptyString - fontSize: 16 * scaleRatio - placeholderText: qsTr("Recipient's wallet address") + translationManager.emptyString; - readOnly: false - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: getProofAddressLine + Layout.fillWidth: true + labelFontSize: 14 * scaleRatio + labelText: qsTr("Address") + translationManager.emptyString + fontSize: 16 * scaleRatio + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Recipient's wallet address") + translationManager.emptyString; + readOnly: false + copyButton: true } - RowLayout { - LineEdit { - id: getProofMessageLine - fontSize: 16 * scaleRatio - labelText: qsTr("Message") + translationManager.emptyString - placeholderText: qsTr("Optional message against which the signature is signed") + translationManager.emptyString; - readOnly: false - width: mainLayout.editWidth - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: getProofMessageLine + Layout.fillWidth: true + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: qsTr("Message") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Optional message against which the signature is signed") + translationManager.emptyString; + readOnly: false + copyButton: true } - StandardButton { - Layout.topMargin: 17 * scaleRatio - width: 60 * scaleRatio + MoneroComponents.StandardButton { + Layout.topMargin: 16 * scaleRatio small: true text: qsTr("Generate") + translationManager.emptyString enabled: TxUtils.checkTxID(getProofTxIdLine.text) && (getProofAddressLine.text.length == 0 || TxUtils.checkAddress(getProofAddressLine.text, appWindow.persistentSettings.nettype)) @@ -131,7 +129,7 @@ Rectangle { anchors.bottomMargin: 3 * scaleRatio } - Label { + MoneroComponents.Label { id: soloTitleLabel2 fontSize: 24 * scaleRatio text: qsTr("Check Transaction") + translationManager.emptyString @@ -142,66 +140,61 @@ Rectangle { "For the case with Spend Proof, you don't need to specify the recipient address.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } - RowLayout { - LineEdit { - id: checkProofTxIdLine - labelText: qsTr("Transaction ID") + translationManager.emptyString - fontSize: 16 * scaleRatio - placeholderText: qsTr("Paste tx ID") + translationManager.emptyString - readOnly: false - width: mainLayout.editWidth - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: checkProofTxIdLine + Layout.fillWidth: true + labelFontSize: 14 * scaleRatio + labelText: qsTr("Transaction ID") + translationManager.emptyString + fontSize: 16 * scaleRatio + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste tx ID") + translationManager.emptyString + readOnly: false + copyButton: true } - RowLayout { - LineEdit { - id: checkProofAddressLine - labelText: qsTr("Address") + translationManager.emptyString - fontSize: 16 * scaleRatio - placeholderText: qsTr("Recipient's wallet address") + translationManager.emptyString; - readOnly: false - width: mainLayout.editWidth - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: checkProofAddressLine + Layout.fillWidth: true + labelFontSize: 14 * scaleRatio + labelText: qsTr("Address") + translationManager.emptyString + fontSize: 16 * scaleRatio + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Recipient's wallet address") + translationManager.emptyString; + readOnly: false + copyButton: true } - RowLayout { - LineEdit { - id: checkProofMessageLine - fontSize: 16 * scaleRatio - labelText: qsTr("Message") + translationManager.emptyString - placeholderText: qsTr("Optional message against which the signature is signed") + translationManager.emptyString; - readOnly: false - width: mainLayout.editWidth - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: checkProofMessageLine + Layout.fillWidth: true + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: qsTr("Message") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Optional message against which the signature is signed") + translationManager.emptyString; + readOnly: false + copyButton: true } - RowLayout { - LineEdit { - id: checkProofSignatureLine - fontSize: 16 * scaleRatio - labelText: qsTr("Signature") + translationManager.emptyString - placeholderText: qsTr("Paste tx proof") + translationManager.emptyString; - readOnly: false - width: mainLayout.editWidth - Layout.fillWidth: true - copyButton: true - } + MoneroComponents.LineEdit { + id: checkProofSignatureLine + Layout.fillWidth: true + fontSize: 16 * scaleRatio + labelFontSize: 14 * scaleRatio + labelText: qsTr("Signature") + translationManager.emptyString + placeholderFontSize: 16 * scaleRatio + placeholderText: qsTr("Paste tx proof") + translationManager.emptyString; + readOnly: false + copyButton: true } - StandardButton { - Layout.topMargin: 17 * scaleRatio - width: 60 + MoneroComponents.StandardButton { + Layout.topMargin: 16 * scaleRatio small: true text: qsTr("Check") + translationManager.emptyString enabled: TxUtils.checkTxID(checkProofTxIdLine.text) && TxUtils.checkSignature(checkProofSignatureLine.text) && ((checkProofSignatureLine.text.indexOf("SpendProofV") === 0 && checkProofAddressLine.text.length == 0) || (checkProofSignatureLine.text.indexOf("SpendProofV") !== 0 && TxUtils.checkAddress(checkProofAddressLine.text, appWindow.persistentSettings.nettype))) @@ -225,9 +218,9 @@ Rectangle { text: qsTr("If a payment had several transactions then each must be checked and the results combined.") + translationManager.emptyString wrapMode: Text.Wrap Layout.fillWidth: true - font.family: Style.fontRegular.name + font.family: MoneroComponents.Style.fontRegular.name font.pixelSize: 14 * scaleRatio - color: Style.defaultFontColor + color: MoneroComponents.Style.defaultFontColor } } }