mirror of
https://github.com/monero-project/monero-gui.git
synced 2026-04-21 13:27:26 -04:00
Fixes some fonts, introduces a new checkbox and fixes 0 amount history entries
This commit is contained in:
committed by
moneromooo-monero
parent
53b5b7a5c7
commit
4977049425
99
components/CheckBox2.qml
Normal file
99
components/CheckBox2.qml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
// Copyright (c) 2014-2015, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
import QtQuick 2.0
|
||||||
|
import QtQuick.Layouts 1.1
|
||||||
|
import "." 1.0
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
id: checkBox
|
||||||
|
property alias text: label.text
|
||||||
|
property string checkedIcon: "../images/checkedIcon-black.png"
|
||||||
|
property string uncheckedIcon
|
||||||
|
property bool checked: false
|
||||||
|
property string background: "backgroundRect.color"
|
||||||
|
property int fontSize: 14 * scaleRatio
|
||||||
|
property alias fontColor: label.color
|
||||||
|
property int textMargin: 8 * scaleRatio
|
||||||
|
signal clicked()
|
||||||
|
height: 25 * scaleRatio
|
||||||
|
|
||||||
|
function toggle(){
|
||||||
|
checkBox.checked = !checkBox.checked
|
||||||
|
checkBox.clicked()
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Rectangle{
|
||||||
|
height: label.height
|
||||||
|
width: (label.width + indicatorRect.width + checkBox.textMargin)
|
||||||
|
color: "transparent"
|
||||||
|
anchors.left: parent.left
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: label
|
||||||
|
font.family: Style.fontLight
|
||||||
|
font.pixelSize: checkBox.fontSize
|
||||||
|
color: Style.defaultFontColor
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
Layout.fillWidth: true
|
||||||
|
anchors.left: parent.left
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: indicatorRect
|
||||||
|
width: indicatorImage.width
|
||||||
|
height: label.height
|
||||||
|
anchors.left: label.right
|
||||||
|
anchors.leftMargin: textMargin
|
||||||
|
color: "transparent"
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: indicatorImage
|
||||||
|
anchors.centerIn: parent
|
||||||
|
source: "../images/whiteDropIndicator.png"
|
||||||
|
rotation: checkBox.checked ? 180 * scaleRatio : 0
|
||||||
|
verticalAlignment: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea{
|
||||||
|
anchors.fill: parent
|
||||||
|
hoverEnabled: true
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
onClicked: {
|
||||||
|
toggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -73,9 +73,9 @@ Item {
|
|||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.topMargin: 2
|
anchors.topMargin: 2
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
font.family: Style.fontRegular.name
|
font.family: Style.fontLight
|
||||||
font.pixelSize: 14
|
font.pixelSize: 14
|
||||||
font.bold: true
|
font.bold: false
|
||||||
textFormat: Text.RichText
|
textFormat: Text.RichText
|
||||||
color: Style.defaultFontColor
|
color: Style.defaultFontColor
|
||||||
|
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ ListView {
|
|||||||
id: txrxLabel
|
id: txrxLabel
|
||||||
anchors.left: arrowImage.right
|
anchors.left: arrowImage.right
|
||||||
anchors.leftMargin: 18 * scaleRatio
|
anchors.leftMargin: 18 * scaleRatio
|
||||||
font.family: Style.fontRegular.name
|
font.family: Style.fontLight.name
|
||||||
font.pixelSize: 14 * scaleRatio
|
font.pixelSize: 14 * scaleRatio
|
||||||
text: isOut ? "Sent" : "Received"
|
text: isOut ? "Sent" : "Received"
|
||||||
color: "#808080"
|
color: "#808080"
|
||||||
@@ -195,7 +195,22 @@ ListView {
|
|||||||
font.family: Style.fontBold.name
|
font.family: Style.fontBold.name
|
||||||
font.pixelSize: 18 * scaleRatio
|
font.pixelSize: 18 * scaleRatio
|
||||||
font.bold: true
|
font.bold: true
|
||||||
text: { return (displayAmount * 1) + " XMR" } // hack, removes trailing zeros
|
text: {
|
||||||
|
// hack, removes trailing zeros
|
||||||
|
var amount = (displayAmount * 1);
|
||||||
|
|
||||||
|
// sometimes, displayAmount is 0 - no idea why.
|
||||||
|
// in that case, we try to get the amount from
|
||||||
|
// the `destinations` string.
|
||||||
|
if(amount === 0){
|
||||||
|
amount = destinations.split(" ")[0].split(":")[0];
|
||||||
|
amount = (amount *1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// sometimes this destinations string also shows 0,
|
||||||
|
// at which point we run out of options.
|
||||||
|
return amount + " XMR";
|
||||||
|
}
|
||||||
color: isOut ? "white" : "#2eb358"
|
color: isOut ? "white" : "#2eb358"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,14 +35,21 @@ import "." 1.0
|
|||||||
TextArea {
|
TextArea {
|
||||||
property bool error: false
|
property bool error: false
|
||||||
property bool addressValidation: false
|
property bool addressValidation: false
|
||||||
|
property bool wrapAnywhere: true
|
||||||
id: textArea
|
id: textArea
|
||||||
font.family: Style.fontRegular.name
|
font.family: Style.fontRegular.name
|
||||||
font.pixelSize: 18 * scaleRatio
|
font.pixelSize: 18 * scaleRatio
|
||||||
font.bold: true
|
font.bold: false
|
||||||
horizontalAlignment: TextInput.AlignLeft
|
horizontalAlignment: TextInput.AlignLeft
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
color: Style.defaultFontColor
|
color: Style.defaultFontColor
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: {
|
||||||
|
if(wrapAnywhere){
|
||||||
|
return Text.WrapAnywhere;
|
||||||
|
} else {
|
||||||
|
return Text.WordWrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
onTextChanged: {
|
onTextChanged: {
|
||||||
if(addressValidation){
|
if(addressValidation){
|
||||||
// js replacement for `RegExpValidator { regExp: /[0-9A-Fa-f]{95}/g }`
|
// js replacement for `RegExpValidator { regExp: /[0-9A-Fa-f]{95}/g }`
|
||||||
|
|||||||
@@ -40,12 +40,10 @@ Item {
|
|||||||
property int fontSize: 16 * scaleRatio
|
property int fontSize: 16 * scaleRatio
|
||||||
property bool fontBold: false
|
property bool fontBold: false
|
||||||
property string fontColor: Style.defaultFontColor
|
property string fontColor: Style.defaultFontColor
|
||||||
property string fontFamily: Style.fontRegular.name
|
property string fontFamily: ""
|
||||||
property alias wrapMode: label.wrapMode
|
property alias wrapMode: label.wrapMode
|
||||||
property alias horizontalAlignment: label.horizontalAlignment
|
property alias horizontalAlignment: label.horizontalAlignment
|
||||||
signal linkActivated()
|
signal linkActivated()
|
||||||
// width: icon.x + icon.width * scaleRatio
|
|
||||||
// height: icon.height * scaleRatio
|
|
||||||
height: label.height * scaleRatio
|
height: label.height * scaleRatio
|
||||||
width: label.width * scaleRatio
|
width: label.width * scaleRatio
|
||||||
Layout.topMargin: 10 * scaleRatio
|
Layout.topMargin: 10 * scaleRatio
|
||||||
@@ -55,7 +53,13 @@ Item {
|
|||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.bottomMargin: 2 * scaleRatio
|
anchors.bottomMargin: 2 * scaleRatio
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
font.family: fontFamily
|
font.family: {
|
||||||
|
if(fontFamily){
|
||||||
|
return fontFamily;
|
||||||
|
} else {
|
||||||
|
return Style.fontLight;
|
||||||
|
}
|
||||||
|
}
|
||||||
font.pixelSize: fontSize
|
font.pixelSize: fontSize
|
||||||
font.bold: fontBold
|
font.bold: fontBold
|
||||||
color: fontColor
|
color: fontColor
|
||||||
|
|||||||
@@ -53,17 +53,16 @@ Item {
|
|||||||
property bool borderDisabled: false
|
property bool borderDisabled: false
|
||||||
property int fontSize: 18 * scaleRatio
|
property int fontSize: 18 * scaleRatio
|
||||||
property bool showBorder: true
|
property bool showBorder: true
|
||||||
property bool fontBold: true
|
property bool fontBold: false
|
||||||
property alias fontColor: input.color
|
property alias fontColor: input.color
|
||||||
property bool error: false
|
property bool error: false
|
||||||
property alias labelText: inputLabel.text
|
property alias labelText: inputLabel.text
|
||||||
property alias labelColor: inputLabel.color
|
property alias labelColor: inputLabel.color
|
||||||
property alias labelTextFormat: inputLabel.textFormat
|
property alias labelTextFormat: inputLabel.textFormat
|
||||||
property string labelFontFamily: Style.fontRegular.name
|
|
||||||
property string backgroundColor: "transparent"
|
property string backgroundColor: "transparent"
|
||||||
property string tipText: ""
|
property string tipText: ""
|
||||||
property int labelFontSize: 14 * scaleRatio
|
property int labelFontSize: 14 * scaleRatio
|
||||||
property bool labelFontBold: true
|
property bool labelFontBold: false
|
||||||
property alias labelWrapMode: inputLabel.wrapMode
|
property alias labelWrapMode: inputLabel.wrapMode
|
||||||
property alias labelHorizontalAlignment: inputLabel.horizontalAlignment
|
property alias labelHorizontalAlignment: inputLabel.horizontalAlignment
|
||||||
property bool showingHeader: inputLabel.text !== "" || copyButton
|
property bool showingHeader: inputLabel.text !== "" || copyButton
|
||||||
@@ -100,7 +99,7 @@ Item {
|
|||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.topMargin: 2 * scaleRatio
|
anchors.topMargin: 2 * scaleRatio
|
||||||
font.family: labelFontFamily
|
font.family: Style.fontLight
|
||||||
font.pixelSize: labelFontSize
|
font.pixelSize: labelFontSize
|
||||||
font.bold: labelFontBold
|
font.bold: labelFontBold
|
||||||
textFormat: Text.RichText
|
textFormat: Text.RichText
|
||||||
@@ -132,7 +131,7 @@ Item {
|
|||||||
id: inputItem
|
id: inputItem
|
||||||
height: inputHeight * scaleRatio
|
height: inputHeight * scaleRatio
|
||||||
anchors.top: showingHeader ? inputLabel.bottom : parent.top
|
anchors.top: showingHeader ? inputLabel.bottom : parent.top
|
||||||
anchors.topMargin: showingHeader ? 6 * scaleRatio : 2
|
anchors.topMargin: showingHeader ? 12 * scaleRatio : 2
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
@@ -189,7 +188,7 @@ Item {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.leftMargin: inlineIcon.visible ? 38 : 0
|
anchors.leftMargin: inlineIcon.visible ? 38 : 0
|
||||||
font.pixelSize: item.fontSize
|
font.pixelSize: item.fontSize
|
||||||
font.bold: fontBold
|
font.bold: item.fontBold
|
||||||
onEditingFinished: item.editingFinished()
|
onEditingFinished: item.editingFinished()
|
||||||
onAccepted: item.accepted();
|
onAccepted: item.accepted();
|
||||||
onTextChanged: item.textUpdated()
|
onTextChanged: item.textUpdated()
|
||||||
|
|||||||
@@ -39,9 +39,10 @@ ColumnLayout {
|
|||||||
property alias readOnly: multiLine.readOnly
|
property alias readOnly: multiLine.readOnly
|
||||||
property alias addressValidation: multiLine.addressValidation
|
property alias addressValidation: multiLine.addressValidation
|
||||||
property alias labelButtonText: labelButton.text
|
property alias labelButtonText: labelButton.text
|
||||||
property bool labelFontBold: true
|
property bool labelFontBold: false
|
||||||
property bool labelButtonVisible: false
|
property bool labelButtonVisible: false
|
||||||
property bool copyButton: false
|
property bool copyButton: false
|
||||||
|
property bool wrapAnywhere: true
|
||||||
signal labelButtonClicked();
|
signal labelButtonClicked();
|
||||||
signal inputLabelLinkActivated();
|
signal inputLabelLinkActivated();
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@ ColumnLayout {
|
|||||||
id: inputLabel
|
id: inputLabel
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
font.family: Style.fontRegular.name
|
font.family: Style.fontLight
|
||||||
font.pixelSize: 14 * scaleRatio
|
font.pixelSize: 14 * scaleRatio
|
||||||
font.bold: labelFontBold
|
font.bold: labelFontBold
|
||||||
textFormat: Text.RichText
|
textFormat: Text.RichText
|
||||||
@@ -94,6 +95,7 @@ ColumnLayout {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
topPadding: 10 * scaleRatio
|
topPadding: 10 * scaleRatio
|
||||||
bottomPadding: 10 * scaleRatio
|
bottomPadding: 10 * scaleRatio
|
||||||
|
wrapAnywhere: parent.wrapAnywhere
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: placeholderLabel
|
id: placeholderLabel
|
||||||
|
|||||||
@@ -39,12 +39,12 @@ Item {
|
|||||||
property string textColor: "#FFFFFF"
|
property string textColor: "#FFFFFF"
|
||||||
property alias currentIndex: column.currentIndex
|
property alias currentIndex: column.currentIndex
|
||||||
property bool expanded: false
|
property bool expanded: false
|
||||||
property int dropdownHeight: 40
|
property int dropdownHeight: 42
|
||||||
property int fontHeaderSize: 16 * scaleRatio
|
property int fontHeaderSize: 16 * scaleRatio
|
||||||
property int fontItemSize: 14 * scaleRatio
|
property int fontItemSize: 14 * scaleRatio
|
||||||
property string colorHeaderBackground: "transparent"
|
property string colorHeaderBackground: "transparent"
|
||||||
property bool headerBorder: true
|
property bool headerBorder: true
|
||||||
property bool headerFontBold: true
|
property bool headerFontBold: false
|
||||||
|
|
||||||
height: dropdownHeight
|
height: dropdownHeight
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ Item {
|
|||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 12 * scaleRatio
|
anchors.leftMargin: 12 * scaleRatio
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
font.family: Style.fontRegular.name
|
font.family: Style.fontRegular
|
||||||
font.bold: dropdown.headerFontBold
|
font.bold: dropdown.headerFontBold
|
||||||
font.pixelSize: dropdown.fontHeaderSize
|
font.pixelSize: dropdown.fontHeaderSize
|
||||||
color: "#FFFFFF"
|
color: "#FFFFFF"
|
||||||
|
|||||||
@@ -219,7 +219,6 @@ Rectangle {
|
|||||||
Layout.minimumWidth: 120 * scaleRatio
|
Layout.minimumWidth: 120 * scaleRatio
|
||||||
text: qsTr("Sort") + translationManager.emptyString
|
text: qsTr("Sort") + translationManager.emptyString
|
||||||
fontSize: 14
|
fontSize: 14
|
||||||
fontBold: true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ListModel {
|
ListModel {
|
||||||
|
|||||||
@@ -31,73 +31,76 @@ import QtQuick.Controls 1.4
|
|||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQuick.Dialogs 1.2
|
import QtQuick.Dialogs 1.2
|
||||||
import "../version.js" as Version
|
|
||||||
|
|
||||||
|
|
||||||
import "../components"
|
|
||||||
import moneroComponents.Clipboard 1.0
|
import moneroComponents.Clipboard 1.0
|
||||||
|
import "../version.js" as Version
|
||||||
|
import "../components"
|
||||||
|
import "." 1.0
|
||||||
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
property bool viewOnly: false
|
property bool viewOnly: false
|
||||||
id: page
|
id: page
|
||||||
|
|
||||||
color: "#F0EEEE"
|
color: "transparent"
|
||||||
|
|
||||||
Clipboard { id: clipboard }
|
Clipboard { id: clipboard }
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: mainLayout
|
id: mainLayout
|
||||||
anchors.margins: 17 * scaleRatio
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
spacing: 20 * scaleRatio
|
|
||||||
|
anchors.margins: (isMobile)? 17 : 20
|
||||||
|
anchors.topMargin: 40 * scaleRatio
|
||||||
|
|
||||||
|
spacing: 30 * scaleRatio
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
//! Manage wallet
|
//! Manage wallet
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
fontSize: 22 * scaleRatio
|
||||||
|
Layout.topMargin: 10 * scaleRatio
|
||||||
text: qsTr("Mnemonic seed") + translationManager.emptyString
|
text: qsTr("Mnemonic seed") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: 1
|
height: 2
|
||||||
color: "#DEDEDE"
|
color: Style.dividerColor
|
||||||
|
opacity: Style.dividerOpacity
|
||||||
|
Layout.bottomMargin: 10 * scaleRatio
|
||||||
}
|
}
|
||||||
TextEdit {
|
|
||||||
|
LineEditMulti{
|
||||||
id: seedText
|
id: seedText
|
||||||
wrapMode: TextEdit.Wrap
|
spacing: 0
|
||||||
Layout.fillWidth: true;
|
copyButton: true
|
||||||
font.pixelSize: 14 * scaleRatio
|
addressValidation: false
|
||||||
readOnly: true
|
readOnly: true
|
||||||
MouseArea {
|
wrapAnywhere: false
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: {
|
|
||||||
appWindow.showStatusMessage(qsTr("Double tap to copy"),3)
|
|
||||||
}
|
|
||||||
onDoubleClicked: {
|
|
||||||
parent.selectAll()
|
|
||||||
parent.copy()
|
|
||||||
parent.deselect()
|
|
||||||
console.log("copied to clipboard");
|
|
||||||
appWindow.showStatusMessage(qsTr("Seed copied to clipboard"),3)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
fontSize: 22 * scaleRatio
|
||||||
|
Layout.topMargin: 10 * scaleRatio
|
||||||
text: qsTr("Keys") + translationManager.emptyString
|
text: qsTr("Keys") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: 1
|
height: 2
|
||||||
color: "#DEDEDE"
|
color: Style.dividerColor
|
||||||
|
opacity: Style.dividerOpacity
|
||||||
|
Layout.bottomMargin: 10 * scaleRatio
|
||||||
}
|
}
|
||||||
TextEdit {
|
TextEdit {
|
||||||
id: keysText
|
id: keysText
|
||||||
@@ -106,6 +109,7 @@ Rectangle {
|
|||||||
font.pixelSize: 14 * scaleRatio
|
font.pixelSize: 14 * scaleRatio
|
||||||
textFormat: TextEdit.RichText
|
textFormat: TextEdit.RichText
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
color: Style.defaultFontColor
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@@ -124,21 +128,26 @@ Rectangle {
|
|||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
fontSize: 22 * scaleRatio
|
||||||
|
Layout.topMargin: 10 * scaleRatio
|
||||||
text: qsTr("Export wallet") + translationManager.emptyString
|
text: qsTr("Export wallet") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
Rectangle {
|
Rectangle {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
height: 1
|
height: 2
|
||||||
color: "#DEDEDE"
|
color: Style.dividerColor
|
||||||
|
opacity: Style.dividerOpacity
|
||||||
|
Layout.bottomMargin: 10 * scaleRatio
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
StandardButton {
|
StandardButton {
|
||||||
enabled: !fullWalletQRCode.visible
|
enabled: !fullWalletQRCode.visible
|
||||||
id: showFullQr
|
id: showFullQr
|
||||||
|
small: true
|
||||||
text: qsTr("Spendable Wallet") + translationManager.emptyString
|
text: qsTr("Spendable Wallet") + translationManager.emptyString
|
||||||
onClicked: {
|
onClicked: {
|
||||||
viewOnlyQRCode.visible = false
|
viewOnlyQRCode.visible = false
|
||||||
@@ -147,6 +156,7 @@ Rectangle {
|
|||||||
StandardButton {
|
StandardButton {
|
||||||
enabled: fullWalletQRCode.visible
|
enabled: fullWalletQRCode.visible
|
||||||
id: showViewOnlyQr
|
id: showViewOnlyQr
|
||||||
|
small: true
|
||||||
text: qsTr("View Only Wallet") + translationManager.emptyString
|
text: qsTr("View Only Wallet") + translationManager.emptyString
|
||||||
onClicked: {
|
onClicked: {
|
||||||
viewOnlyQRCode.visible = true
|
viewOnlyQRCode.visible = true
|
||||||
@@ -155,7 +165,6 @@ Rectangle {
|
|||||||
Layout.bottomMargin: 30 * scaleRatio
|
Layout.bottomMargin: 30 * scaleRatio
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
visible: !viewOnlyQRCode.visible
|
visible: !viewOnlyQRCode.visible
|
||||||
id: fullWalletQRCode
|
id: fullWalletQRCode
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import moneroComponents.Wallet 1.0
|
|||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
color: "#F0EEEE"
|
color: "transparent"
|
||||||
property var currentHashRate: 0
|
property var currentHashRate: 0
|
||||||
|
|
||||||
/* main layout */
|
/* main layout */
|
||||||
@@ -74,13 +74,16 @@ Rectangle {
|
|||||||
text: qsTr("Mining with your computer helps strengthen the Monero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.<br> <br>Mining also gives you a small chance to earn some Monero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!") + translationManager.emptyString
|
text: qsTr("Mining with your computer helps strengthen the Monero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.<br> <br>Mining also gives you a small chance to earn some Monero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!") + translationManager.emptyString
|
||||||
wrapMode: Text.Wrap
|
wrapMode: Text.Wrap
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
font.family: Style.fontRegular
|
||||||
|
font.pixelSize: 14 * scaleRatio
|
||||||
|
color: Style.defaultFontColor
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: soloMinerThreadsRow
|
id: soloMinerThreadsRow
|
||||||
Label {
|
Label {
|
||||||
id: soloMinerThreadsLabel
|
id: soloMinerThreadsLabel
|
||||||
color: "#4A4949"
|
color: Style.defaultFontColor
|
||||||
text: qsTr("CPU threads") + translationManager.emptyString
|
text: qsTr("CPU threads") + translationManager.emptyString
|
||||||
fontSize: 16
|
fontSize: 16
|
||||||
Layout.preferredWidth: 120
|
Layout.preferredWidth: 120
|
||||||
@@ -122,7 +125,7 @@ Rectangle {
|
|||||||
RowLayout {
|
RowLayout {
|
||||||
Label {
|
Label {
|
||||||
id: manageSoloMinerLabel
|
id: manageSoloMinerLabel
|
||||||
color: "#4A4949"
|
color: Style.defaultFontColor
|
||||||
text: qsTr("Manage miner") + translationManager.emptyString
|
text: qsTr("Manage miner") + translationManager.emptyString
|
||||||
fontSize: 16
|
fontSize: 16
|
||||||
}
|
}
|
||||||
@@ -165,6 +168,7 @@ Rectangle {
|
|||||||
Text {
|
Text {
|
||||||
id: statusText
|
id: statusText
|
||||||
text: qsTr("Status: not mining")
|
text: qsTr("Status: not mining")
|
||||||
|
color: Style.defaultFontColor
|
||||||
textFormat: Text.RichText
|
textFormat: Text.RichText
|
||||||
wrapMode: Text.Wrap
|
wrapMode: Text.Wrap
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,9 @@ Rectangle {
|
|||||||
Layout.minimumWidth: 100 * scaleRatio
|
Layout.minimumWidth: 100 * scaleRatio
|
||||||
daemonAddrLabelText: qsTr("Address")
|
daemonAddrLabelText: qsTr("Address")
|
||||||
daemonPortLabelText: qsTr("Port")
|
daemonPortLabelText: qsTr("Port")
|
||||||
|
lineEditBackgroundColor: "transparent"
|
||||||
|
lineEditFontColor: "white"
|
||||||
|
lineEditBorderColor: Qt.rgba(255, 255, 255, 0.35)
|
||||||
daemonAddrText: persistentSettings.remoteNodeAddress.split(":")[0].trim()
|
daemonAddrText: persistentSettings.remoteNodeAddress.split(":")[0].trim()
|
||||||
daemonPortText: (persistentSettings.remoteNodeAddress.split(":")[1].trim() == "") ? "18081" : persistentSettings.remoteNodeAddress.split(":")[1]
|
daemonPortText: (persistentSettings.remoteNodeAddress.split(":")[1].trim() == "") ? "18081" : persistentSettings.remoteNodeAddress.split(":")[1]
|
||||||
onEditingFinished: {
|
onEditingFinished: {
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ Rectangle {
|
|||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
|
|
||||||
spacing: 26 * scaleRatio
|
spacing: 30 * scaleRatio
|
||||||
|
|
||||||
GridLayout {
|
GridLayout {
|
||||||
columns: (isMobile)? 1 : 2
|
columns: (isMobile)? 1 : 2
|
||||||
@@ -160,8 +160,9 @@ Rectangle {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Label {
|
Label {
|
||||||
id: transactionPriority
|
id: transactionPriority
|
||||||
|
Layout.topMargin: 14
|
||||||
text: qsTr("Transaction priority") + translationManager.emptyString
|
text: qsTr("Transaction priority") + translationManager.emptyString
|
||||||
fontBold: true
|
fontBold: false
|
||||||
fontSize: 14
|
fontSize: 14
|
||||||
}
|
}
|
||||||
// Note: workaround for translations in listElements
|
// Note: workaround for translations in listElements
|
||||||
@@ -185,6 +186,7 @@ Rectangle {
|
|||||||
StandardDropdown {
|
StandardDropdown {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
id: priorityDropdown
|
id: priorityDropdown
|
||||||
|
Layout.topMargin: 6
|
||||||
shadowReleasedColor: "#FF4304"
|
shadowReleasedColor: "#FF4304"
|
||||||
shadowPressedColor: "#B32D00"
|
shadowPressedColor: "#B32D00"
|
||||||
releasedColor: "#363636"
|
releasedColor: "#363636"
|
||||||
@@ -278,8 +280,7 @@ Rectangle {
|
|||||||
StandardButton {
|
StandardButton {
|
||||||
id: sendButton
|
id: sendButton
|
||||||
rightIcon: "../images/rightIcon.png"
|
rightIcon: "../images/rightIcon.png"
|
||||||
Layout.bottomMargin: 17 * scaleRatio
|
Layout.topMargin: 4 * scaleRatio
|
||||||
Layout.topMargin: 17 * scaleRatio
|
|
||||||
text: qsTr("Send") + translationManager.emptyString
|
text: qsTr("Send") + translationManager.emptyString
|
||||||
enabled : !appWindow.viewOnly && pageRoot.checkInformation(amountLine.text, addressLine.text, paymentIdLine.text, appWindow.persistentSettings.testnet)
|
enabled : !appWindow.viewOnly && pageRoot.checkInformation(amountLine.text, addressLine.text, paymentIdLine.text, appWindow.persistentSettings.testnet)
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@@ -317,7 +318,7 @@ Rectangle {
|
|||||||
} // pageRoot
|
} // pageRoot
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id:desaturate
|
id: desaturate
|
||||||
color:"black"
|
color:"black"
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
opacity: 0.1
|
opacity: 0.1
|
||||||
@@ -329,18 +330,18 @@ Rectangle {
|
|||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.margins: (isMobile)? 17 : 20
|
anchors.margins: (isMobile)? 17 : 20
|
||||||
anchors.topMargin: 40 * scaleRatio
|
anchors.topMargin: 32 * scaleRatio
|
||||||
spacing: 26 * scaleRatio
|
spacing: 26 * scaleRatio
|
||||||
enabled: !viewOnly || pageRoot.enabled
|
enabled: !viewOnly || pageRoot.enabled
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
CheckBox {
|
CheckBox2 {
|
||||||
id: showAdvancedCheckbox
|
id: showAdvancedCheckbox
|
||||||
checked: persistentSettings.transferShowAdvanced
|
checked: persistentSettings.transferShowAdvanced
|
||||||
onClicked: {
|
onClicked: {
|
||||||
persistentSettings.transferShowAdvanced = !persistentSettings.transferShowAdvanced
|
persistentSettings.transferShowAdvanced = !persistentSettings.transferShowAdvanced
|
||||||
}
|
}
|
||||||
text: qsTr("Show advanced options") + translationManager.emptyString
|
text: qsTr("Advanced options") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -401,6 +402,7 @@ Rectangle {
|
|||||||
id: sweepUnmixableButton
|
id: sweepUnmixableButton
|
||||||
text: qsTr("Sweep Unmixable") + translationManager.emptyString
|
text: qsTr("Sweep Unmixable") + translationManager.emptyString
|
||||||
enabled : pageRoot.enabled
|
enabled : pageRoot.enabled
|
||||||
|
small: true
|
||||||
onClicked: {
|
onClicked: {
|
||||||
console.log("Transfer: sweepUnmixableClicked")
|
console.log("Transfer: sweepUnmixableClicked")
|
||||||
root.sweepUnmixableClicked()
|
root.sweepUnmixableClicked()
|
||||||
@@ -412,6 +414,7 @@ Rectangle {
|
|||||||
text: qsTr("Create tx file") + translationManager.emptyString
|
text: qsTr("Create tx file") + translationManager.emptyString
|
||||||
visible: appWindow.viewOnly
|
visible: appWindow.viewOnly
|
||||||
enabled: pageRoot.checkInformation(amountLine.text, addressLine.text, paymentIdLine.text, appWindow.persistentSettings.nettype)
|
enabled: pageRoot.checkInformation(amountLine.text, addressLine.text, paymentIdLine.text, appWindow.persistentSettings.nettype)
|
||||||
|
small: true
|
||||||
onClicked: {
|
onClicked: {
|
||||||
console.log("Transfer: saveTx Clicked")
|
console.log("Transfer: saveTx Clicked")
|
||||||
var priority = priorityModelV5.get(priorityDropdown.currentIndex).priority
|
var priority = priorityModelV5.get(priorityDropdown.currentIndex).priority
|
||||||
@@ -428,6 +431,7 @@ Rectangle {
|
|||||||
StandardButton {
|
StandardButton {
|
||||||
id: signTxButton
|
id: signTxButton
|
||||||
text: qsTr("Sign tx file") + translationManager.emptyString
|
text: qsTr("Sign tx file") + translationManager.emptyString
|
||||||
|
small: true
|
||||||
visible: !appWindow.viewOnly
|
visible: !appWindow.viewOnly
|
||||||
onClicked: {
|
onClicked: {
|
||||||
console.log("Transfer: sign tx clicked")
|
console.log("Transfer: sign tx clicked")
|
||||||
@@ -438,6 +442,7 @@ Rectangle {
|
|||||||
StandardButton {
|
StandardButton {
|
||||||
id: submitTxButton
|
id: submitTxButton
|
||||||
text: qsTr("Submit tx file") + translationManager.emptyString
|
text: qsTr("Submit tx file") + translationManager.emptyString
|
||||||
|
small: true
|
||||||
visible: appWindow.viewOnly
|
visible: appWindow.viewOnly
|
||||||
enabled: pageRoot.enabled
|
enabled: pageRoot.enabled
|
||||||
onClicked: {
|
onClicked: {
|
||||||
@@ -446,12 +451,8 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//SignTxDialog
|
//SignTxDialog
|
||||||
FileDialog {
|
FileDialog {
|
||||||
id: signTxDialog
|
id: signTxDialog
|
||||||
|
|||||||
1
qml.qrc
1
qml.qrc
@@ -201,5 +201,6 @@
|
|||||||
<file>images/downArrow.png</file>
|
<file>images/downArrow.png</file>
|
||||||
<file>images/historyBorderRadius.png</file>
|
<file>images/historyBorderRadius.png</file>
|
||||||
<file>components/HistoryTableInnerColumn.qml</file>
|
<file>components/HistoryTableInnerColumn.qml</file>
|
||||||
|
<file>components/CheckBox2.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ ColumnLayout {
|
|||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: 20 * scaleRatio
|
Layout.topMargin: 20 * scaleRatio
|
||||||
fontSize: 14 * scaleRatio
|
fontSize: 14 * scaleRatio
|
||||||
|
fontColor: "black"
|
||||||
text: qsTr("Blockchain location") + translationManager.emptyString
|
text: qsTr("Blockchain location") + translationManager.emptyString
|
||||||
}
|
}
|
||||||
LineEdit {
|
LineEdit {
|
||||||
|
|||||||
Reference in New Issue
Block a user