mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-12-23 03:59:38 +00:00
Merge branch 'master' into patch-1
This commit is contained in:
commit
0836bd9cfd
48 changed files with 9134 additions and 5191 deletions
|
@ -90,7 +90,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -104,7 +103,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -128,7 +126,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -142,7 +139,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 14
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
|
|
@ -86,6 +86,18 @@ Rectangle {
|
|||
source: "images/moneroLogo.png"
|
||||
}
|
||||
|
||||
Text {
|
||||
id: testnetLabel
|
||||
visible: persistentSettings.testnet
|
||||
text: qsTr("Testnet") + translationManager.emptyString
|
||||
anchors.top: logo.bottom
|
||||
anchors.topMargin: 5
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 50
|
||||
font.bold: true
|
||||
color: "red"
|
||||
}
|
||||
|
||||
/* Disable twitter/news panel
|
||||
Image {
|
||||
anchors.left: parent.left
|
||||
|
@ -204,7 +216,7 @@ Rectangle {
|
|||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.top: column1.bottom
|
||||
anchors.topMargin: 50
|
||||
anchors.topMargin: 25
|
||||
color: "#1C1C1C"
|
||||
|
||||
Column {
|
||||
|
|
|
@ -206,7 +206,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -220,7 +219,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -245,7 +243,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
@ -259,7 +256,6 @@ Rectangle {
|
|||
height: 20
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 14
|
||||
font.letterSpacing: -1
|
||||
elide: Text.ElideRight
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
|
42
README.md
42
README.md
|
@ -1,3 +1,5 @@
|
|||
# Monero GUI
|
||||
|
||||
Copyright (c) 2014-2017, The Monero Project
|
||||
|
||||
## Development Resources
|
||||
|
@ -62,7 +64,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||
|
||||
### On Linux:
|
||||
|
||||
(Tested on Ubuntu 16.04 i386 and Linux Mint 18 "Sarah" - Cinnamon (64-bit))
|
||||
(Tested on Ubuntu 16.04 x86, 16.10 x64 and Linux Mint 18 "Sarah" - Cinnamon x64)
|
||||
|
||||
1. Install Monero dependencies.
|
||||
|
||||
|
@ -83,17 +85,17 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||
|
||||
5. Install the GUI dependencies.
|
||||
|
||||
- For Ubuntu 16.04 i386
|
||||
- For Ubuntu 16.04 x86
|
||||
|
||||
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs libzbar-dev`
|
||||
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs`
|
||||
|
||||
- For Ubuntu 16.04 x64
|
||||
- For Ubuntu 16.04+ x64
|
||||
|
||||
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qtmultimedia5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs qml-module-qt-labs-settings libqt5qml-graphicaleffects libzbar-dev`
|
||||
`sudo apt-get install qtbase5-dev qt5-default qtdeclarative5-dev qtmultimedia5-dev qml-module-qtquick-controls qml-module-qtquick-xmllistmodel qttools5-dev-tools qml-module-qtquick-dialogs qml-module-qt-labs-settings libqt5qml-graphicaleffects qml-module-qtmultimedia`
|
||||
|
||||
- For Linux Mint 18 "Sarah" - Cinnamon (64-bit)
|
||||
- For Linux Mint 18 "Sarah" - Cinnamon x64
|
||||
|
||||
`sudo apt install qml-module-qt-labs-settings qml-module-qtgraphicaleffects libzbar-dev`
|
||||
`sudo apt install qml-module-qt-labs-settings qml-module-qtgraphicaleffects`
|
||||
|
||||
6. Build the GUI.
|
||||
|
||||
|
@ -101,7 +103,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||
|
||||
7. Run the GUI client.
|
||||
|
||||
`./release/bin/monero-wallet-gui`
|
||||
`./build/release/bin/monero-wallet-gui`
|
||||
|
||||
### On OS X:
|
||||
|
||||
|
@ -109,28 +111,38 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||
2. Install [homebrew](http://brew.sh/)
|
||||
3. Install [monero](https://github.com/monero-project/monero) dependencies:
|
||||
|
||||
`brew install boost --c++11`
|
||||
`brew install boost --c++11`
|
||||
|
||||
`brew install openssl` - to install openssl headers
|
||||
`brew install openssl` - to install openssl headers
|
||||
|
||||
`brew install pkgconfig`
|
||||
`brew install pkgconfig`
|
||||
|
||||
`brew install cmake`
|
||||
`brew install cmake`
|
||||
|
||||
`brew install qt5` (or download QT 5.8+ from [qt.io](https://www.qt.io/download-open-source/))
|
||||
|
||||
If you have an older version of Qt installed via homebrew, you can force it to use 5.x like so:
|
||||
|
||||
`brew link --force --overwrite qt5`
|
||||
|
||||
4. Install latest Qt using official installer from [qt.io](https://www.qt.io/download-open-source/) (homebrew version might be outdated).
|
||||
5. Add Qt bin dir to your path (check first if directory exists; 5.8 is the current version)
|
||||
|
||||
`export PATH=$PATH:$HOME/Qt/5.8/clang_64/bin`
|
||||
|
||||
where ```Qt``` is the folder you selected to install Qt.
|
||||
5. Add Qt bin dir to your path. Example:
|
||||
|
||||
`export PATH=$PATH:/usr/local/opt/qt5/bin`
|
||||
|
||||
make sure this is where Qt 5.x is installed on **your** system eg `$HOME/Qt/5.8/clang_64/bin` if you downloaded from qt.io.
|
||||
|
||||
6. Grab an up-to-date copy of the monero-core repository.
|
||||
|
||||
`git clone https://github.com/monero-project/monero-core.git`
|
||||
`git clone https://github.com/monero-project/monero-core.git`
|
||||
|
||||
7. Go into the repository.
|
||||
|
||||
`cd monero-core`
|
||||
`cd monero-core`
|
||||
|
||||
8. Build libwallet
|
||||
|
||||
|
|
|
@ -87,7 +87,6 @@ ListView {
|
|||
anchors.rightMargin: 40
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 16
|
||||
font.letterSpacing: -1
|
||||
color: "#545454"
|
||||
text: address
|
||||
}
|
||||
|
@ -101,7 +100,6 @@ ListView {
|
|||
width: 139
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#535353"
|
||||
text: qsTr("Payment ID:") + translationManager.emptyString
|
||||
}
|
||||
|
@ -117,7 +115,6 @@ ListView {
|
|||
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 13
|
||||
font.letterSpacing: -1
|
||||
color: "#545454"
|
||||
text: paymentId
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
Item {
|
||||
id: checkBox
|
||||
|
@ -40,6 +41,7 @@ Item {
|
|||
signal clicked()
|
||||
height: 25
|
||||
width: label.x + label.width
|
||||
Layout.minimumWidth: label.x + label.contentWidth
|
||||
clip: true
|
||||
|
||||
Rectangle {
|
||||
|
@ -74,7 +76,6 @@ Item {
|
|||
anchors.leftMargin: 25 + 12
|
||||
font.family: "Arial"
|
||||
font.pixelSize: checkBox.fontSize
|
||||
font.letterSpacing: -1
|
||||
color: "#525252"
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: date
|
||||
}
|
||||
|
@ -153,7 +152,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: time
|
||||
}
|
||||
|
@ -175,7 +173,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: balance
|
||||
}
|
||||
|
@ -208,7 +205,6 @@ ListView {
|
|||
anchors.bottom: parent.bottom
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: out ? "#FF4F41" : "#36B05B"
|
||||
text: amount
|
||||
}
|
||||
|
|
|
@ -285,7 +285,6 @@ Item {
|
|||
anchors.centerIn: parent
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
font.bold: dayArea.pressed
|
||||
text: styleData.date.getDate()
|
||||
color: {
|
||||
|
@ -322,7 +321,6 @@ Item {
|
|||
elide: Text.ElideRight
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 9
|
||||
font.letterSpacing: -1
|
||||
color: "#535353"
|
||||
text: {
|
||||
var locale = Qt.locale()
|
||||
|
@ -339,7 +337,6 @@ Item {
|
|||
anchors.centerIn: parent
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#4A4646"
|
||||
text: styleData.title
|
||||
}
|
||||
|
|
|
@ -199,7 +199,6 @@ ListView {
|
|||
anchors.bottom: parent.bottom
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#535353"
|
||||
text: paymentId !== "" ? qsTr("Payment ID:") + translationManager.emptyString : ""
|
||||
}
|
||||
|
@ -213,7 +212,6 @@ ListView {
|
|||
//elide: Text.ElideRight
|
||||
font.family: "Arial"
|
||||
font.pixelSize:13
|
||||
font.letterSpacing: -1
|
||||
color: "#545454"
|
||||
text: paymentId
|
||||
|
||||
|
@ -228,7 +226,6 @@ ListView {
|
|||
//elide: Text.ElideRight
|
||||
font.family: "Arial"
|
||||
font.pixelSize:13
|
||||
font.letterSpacing: -1
|
||||
color: "#545454"
|
||||
text: "(" + lookupPaymentID(paymentId) + ")"
|
||||
visible: text !== "()"
|
||||
|
@ -250,7 +247,6 @@ ListView {
|
|||
width: 86
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#535353"
|
||||
text: qsTr("BlockHeight:") + translationManager.emptyString
|
||||
}
|
||||
|
@ -312,7 +308,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: date
|
||||
}
|
||||
|
@ -320,7 +315,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: time
|
||||
}
|
||||
|
@ -345,7 +339,6 @@ ListView {
|
|||
Text {
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#000000"
|
||||
text: balance
|
||||
}
|
||||
|
@ -380,7 +373,6 @@ ListView {
|
|||
anchors.bottom: parent.bottom
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: isOut ? "#FF4F41" : "#36B05B"
|
||||
text: displayAmount
|
||||
}
|
||||
|
@ -406,7 +398,6 @@ ListView {
|
|||
anchors.bottom: parent.bottom
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 18
|
||||
font.letterSpacing: -1
|
||||
color: "#FF4F41"
|
||||
text: fee
|
||||
}
|
||||
|
|
|
@ -100,7 +100,6 @@ Item {
|
|||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.bold: true
|
||||
font.letterSpacing: -1
|
||||
color: "#4A4747"
|
||||
text: "NAME"
|
||||
}
|
||||
|
@ -195,7 +194,6 @@ Item {
|
|||
anchors.rightMargin: 12
|
||||
font.family: "Arial"
|
||||
font.bold: true
|
||||
font.letterSpacing: -1
|
||||
font.pixelSize: 12
|
||||
color: delegateArea.pressed || parent.isCurrent ? "#FFFFFF" : "#4A4646"
|
||||
text: name
|
||||
|
|
|
@ -43,7 +43,7 @@ Item {
|
|||
signal clicked()
|
||||
|
||||
// Dynamic label width
|
||||
Layout.minimumWidth: (label.contentWidth > 100)? label.contentWidth + 20 : 100
|
||||
Layout.minimumWidth: (label.contentWidth > 80)? label.contentWidth + 20 : 100
|
||||
|
||||
|
||||
|
||||
|
@ -88,7 +88,7 @@ Item {
|
|||
font.pixelSize: button.fontSize
|
||||
color: parent.textColor
|
||||
visible: parent.icon === ""
|
||||
font.capitalization : Font.Capitalize
|
||||
// font.capitalization : Font.Capitalize
|
||||
}
|
||||
|
||||
Image {
|
||||
|
|
|
@ -197,6 +197,9 @@ Item {
|
|||
property string stringLow: qsTr("Low (x1 fee)") + translationManager.emptyString
|
||||
property string stringMedium: qsTr("Medium (x20 fee)") + translationManager.emptyString
|
||||
property string stringHigh: qsTr("High (x166 fee)") + translationManager.emptyString
|
||||
property string stringAll: qsTr("All") + translationManager.emptyString
|
||||
property string stringSent: qsTr("Sent") + translationManager.emptyString
|
||||
property string stringReceived: qsTr("Received") + translationManager.emptyString
|
||||
|
||||
|
||||
delegate: Rectangle {
|
||||
|
|
|
@ -177,6 +177,13 @@ Item {
|
|||
|
||||
Repeater {
|
||||
id: repeater
|
||||
|
||||
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
|
||||
property string stringCopy: qsTr("<b>Copy address to clipboard</b>") + translationManager.emptyString
|
||||
property string stringSend: qsTr("<b>Send to same destination</b>") + translationManager.emptyString
|
||||
property string stringFind: qsTr("<b>Find similar transactions</b>") + translationManager.emptyString
|
||||
property string stringRemove: qsTr("<b>Remove from address book</b>") + translationManager.emptyString
|
||||
|
||||
delegate: Rectangle {
|
||||
id: delegate
|
||||
property bool containsMouse: index === mouseArea.currentIndex
|
||||
|
@ -211,7 +218,7 @@ Item {
|
|||
onContainsMouseChanged: {
|
||||
if(containsMouse) {
|
||||
var pos = rootItem.mapFromItem(delegate, 30, -25)
|
||||
appWindow.toolTip.text = name
|
||||
appWindow.toolTip.text = qsTr(name) + translationManager.emptyString
|
||||
appWindow.toolTip.x = pos.x - appWindow.toolTip.width
|
||||
// if(appWindow.toolTip.height > 30)
|
||||
// pos.y -= appWindow.toolTip.height - 30
|
||||
|
|
|
@ -60,6 +60,13 @@ Rectangle {
|
|||
|
||||
Repeater {
|
||||
id: columnsRepeater
|
||||
|
||||
// Workaround for translations in listElements. All translated strings needs to be listed in this file.
|
||||
property string stringPaymentID: qsTr("Payment ID") + translationManager.emptyString
|
||||
property string stringDate: qsTr("Date") + translationManager.emptyString
|
||||
property string stringBlockHeight: qsTr("Block height") + translationManager.emptyString
|
||||
property string stringAmount: qsTr("Amount") + translationManager.emptyString
|
||||
|
||||
delegate: Rectangle {
|
||||
id: delegate
|
||||
property bool desc: false
|
||||
|
@ -81,7 +88,7 @@ Rectangle {
|
|||
return "#FF4304"
|
||||
return index === header.activeSortColumn || delegateArea.containsMouse ? "#FF6C3C" : "#4A4949"
|
||||
}
|
||||
text: columnName
|
||||
text: qsTr(columnName) + translationManager.emptyString
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
|
|
|
@ -65,7 +65,6 @@ Window {
|
|||
lineHeight: 0.7
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#FFFFFF"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,6 @@ Rectangle {
|
|||
anchors.centerIn: parent
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 15
|
||||
font.letterSpacing: -1
|
||||
color: "#FFFFFF"
|
||||
text: titleBar.title
|
||||
visible: customDecorations
|
||||
|
|
|
@ -15,7 +15,9 @@ BUILD_LIBWALLET=false
|
|||
if [ ! -d $MONERO_DIR/src ]; then
|
||||
git submodule init monero
|
||||
fi
|
||||
git submodule update --remote
|
||||
#git submodule update
|
||||
git -C $MONERO_DIR fetch --tags
|
||||
git -C $MONERO_DIR checkout v0.10.3
|
||||
|
||||
# get monero core tag
|
||||
get_tag
|
||||
|
|
BIN
lang/flags/taiwan.png
Normal file
BIN
lang/flags/taiwan.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.9 KiB |
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<languages>
|
||||
|
||||
<!--
|
||||
|
@ -14,20 +14,21 @@ List of available languages for your wallet's seed:
|
|||
<language display_name="English (US)" locale="en_US" wallet_language="English" flag="/lang/flags/usa.png" qs="none"/>
|
||||
<!-- <language display_name="English (GB)" locale="en_GB" wallet_language="English" flag="/lang/flags/uk.png" qs="none"/> -->
|
||||
<!-- <language display_name="English (ZA)" locale="en_SA" wallet_language="English" flag="/lang/flags/rpa.png" qs="none"/> -->
|
||||
<language display_name="العربية (PS)" locale="ar_PS" wallet_language="English" flag="/lang/flags/palestine.png" qs="none"/>
|
||||
<language display_name="Deutsch" locale="de_DE" wallet_language="German" flag="/lang/flags/german.png" qs="none"/>
|
||||
<!-- <language display_name="العربية (PS)" locale="ar_PS" wallet_language="English" flag="/lang/flags/palestine.png" qs="none"/> -->
|
||||
<!-- <language display_name="Deutsch" locale="de_DE" wallet_language="German" flag="/lang/flags/german.png" qs="none"/> -->
|
||||
<language display_name="Esperanto" locale="eo" wallet_language="English" flag="/lang/flags/esperanto.png" qs="none"/>
|
||||
<language display_name="Español" locale="es_ES" wallet_language="Spanish" flag="/lang/flags/spain.png" qs="none"/>
|
||||
<language display_name="Suomen kieli" locale="fi" wallet_language="English" flag="/lang/flags/finland.png" qs="none"/>
|
||||
<language display_name="Français" locale="fr_FR" wallet_language="English" flag="/lang/flags/france.png" qs="none"/>
|
||||
<language display_name="Hrvatski" locale="hr_HR" wallet_language="English" flag="/lang/flags/croatia.png" qs="none"/>
|
||||
<language display_name="हिन्दी" locale="hi_IN" wallet_language="English" flag="/lang/flags/india.png" qs="none"/>
|
||||
<!-- <language display_name="Español" locale="es_ES" wallet_language="Spanish" flag="/lang/flags/spain.png" qs="none"/> -->
|
||||
<!-- <language display_name="Suomen kieli" locale="fi" wallet_language="English" flag="/lang/flags/finland.png" qs="none"/> -->
|
||||
<language display_name="Français" locale="fr_FR" wallet_language="French" flag="/lang/flags/france.png" qs="none"/>
|
||||
<!-- <language display_name="Hrvatski" locale="hr_HR" wallet_language="English" flag="/lang/flags/croatia.png" qs="none"/> -->
|
||||
<!-- <language display_name="हिन्दी" locale="hi_IN" wallet_language="English" flag="/lang/flags/india.png" qs="none"/> -->
|
||||
<language display_name="Bahasa Indonesia" locale="id_ID" wallet_language="English" flag="/lang/flags/indonesia.png" qs="none"/>
|
||||
<language display_name="Italiano" locale="it_IT" wallet_language="Italian" flag="/lang/flags/italy.png" qs="none"/>
|
||||
<language display_name="日本語" locale="ja_JP" wallet_language="Japanese" flag="/lang/flags/japan.png" qs="none"/>
|
||||
<language display_name="Nederlands" locale="nl_NL" wallet_language="English" flag="/lang/flags/netherlands.png" qs="none"/>
|
||||
<language display_name="Polski" locale="pl_PL" wallet_language="English" flag="/lang/flags/poland.png" qs="none"/>
|
||||
<language display_name="Português (BR)" locale="pt_BR" wallet_language="Portuguese" flag="/lang/flags/brazil.png" qs="none"/>
|
||||
<language display_name="русский язык" locale="ru_RU" wallet_language="Russian" flag="/lang/flags/russia.png" qs="none"/>
|
||||
<language display_name="中文 (漢字)" locale="zh_TW" wallet_language="English" flag="/lang/flags/china.png" qs="none"/>
|
||||
<!-- <language display_name="Polski" locale="pl_PL" wallet_language="English" flag="/lang/flags/poland.png" qs="none"/> -->
|
||||
<!-- <language display_name="Português (BR)" locale="pt-br_BR" wallet_language="Portuguese" flag="/lang/flags/brazil.png" qs="none"/> -->
|
||||
<!-- <language display_name="русский язык" locale="ru_RU" wallet_language="Russian" flag="/lang/flags/russia.png" qs="none"/> -->
|
||||
<language display_name="简体中文 (中国)" locale="zh-cn_CN" wallet_language="English" flag="/lang/flags/china.png" qs="none"/>
|
||||
<language display_name="繁體中文 (台灣)" locale="zh-tw_CN" wallet_language="English" flag="/lang/flags/taiwan.png" qs="none"/>
|
||||
</languages>
|
||||
|
|
8
main.qml
8
main.qml
|
@ -286,6 +286,9 @@ ApplicationWindow {
|
|||
leftPanel.networkStatus.connected = status
|
||||
leftPanel.progressBar.visible = (status === Wallet.ConnectionStatus_Connected) && !daemonSynced
|
||||
|
||||
// Update fee multiplier dropdown on transfer page
|
||||
middlePanel.transferView.updatePriorityDropdown();
|
||||
|
||||
// If wallet isnt connected and no daemon is running - Ask
|
||||
if(!walletInitialized && status === Wallet.ConnectionStatus_Disconnected && !daemonManager.running(persistentSettings.testnet)){
|
||||
daemonManagerDialog.open();
|
||||
|
@ -537,6 +540,7 @@ ApplicationWindow {
|
|||
console.log("integer amount: ", amountxmr);
|
||||
console.log("integer unlocked",currentWallet.unlockedBalance)
|
||||
if (amountxmr <= 0) {
|
||||
hideProcessingSplash()
|
||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
||||
informationPopup.text = qsTr("Amount is wrong: expected number from %1 to %2")
|
||||
.arg(walletManager.displayAmount(0))
|
||||
|
@ -548,8 +552,9 @@ ApplicationWindow {
|
|||
informationPopup.open()
|
||||
return;
|
||||
} else if (amountxmr > currentWallet.unlockedBalance) {
|
||||
hideProcessingSplash()
|
||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
||||
informationPopup.text = qsTr("insufficient funds. Unlocked balance: %1")
|
||||
informationPopup.text = qsTr("Insufficient funds. Unlocked balance: %1")
|
||||
.arg(walletManager.displayAmount(currentWallet.unlockedBalance))
|
||||
+ translationManager.emptyString
|
||||
|
||||
|
@ -1253,7 +1258,6 @@ ApplicationWindow {
|
|||
lineHeight: 0.7
|
||||
font.family: "Arial"
|
||||
font.pixelSize: 12
|
||||
font.letterSpacing: -1
|
||||
color: "#FFFFFF"
|
||||
}
|
||||
}
|
||||
|
|
2
monero
2
monero
|
@ -1 +1 @@
|
|||
Subproject commit daf66621dcf43f36067465a1f1c99f5b1390c400
|
||||
Subproject commit 72f38bcc91ac45f88e192f7f0ca3ec2d6df76663
|
|
@ -277,7 +277,7 @@ macx {
|
|||
# translation stuff
|
||||
TRANSLATIONS = \ # English is default language, no explicit translation file
|
||||
$$PWD/translations/monero-core_ar.ts \ # Arabic
|
||||
$$PWD/translations/monero-core_br.ts \ # Portuguese (Brazil)
|
||||
$$PWD/translations/monero-core_pt-br.ts \ # Portuguese (Brazil)
|
||||
$$PWD/translations/monero-core_de.ts \ # German
|
||||
$$PWD/translations/monero-core_eo.ts \ # Esperanto
|
||||
$$PWD/translations/monero-core_es.ts \ # Spanish
|
||||
|
@ -285,13 +285,14 @@ TRANSLATIONS = \ # English is default language, no explicit translation file
|
|||
$$PWD/translations/monero-core_fr.ts \ # French
|
||||
$$PWD/translations/monero-core_hr.ts \ # Croatian
|
||||
$$PWD/translations/monero-core_id.ts \ # Indonesian
|
||||
$$PWD/translations/monero-core_in.ts \ # Hindi
|
||||
$$PWD/translations/monero-core_hi.ts \ # Hindi
|
||||
$$PWD/translations/monero-core_it.ts \ # Italian
|
||||
$$PWD/translations/monero-core_ja.ts \ # Japanese
|
||||
$$PWD/translations/monero-core_nl.ts \ # Dutch
|
||||
$$PWD/translations/monero-core_pl.ts \ # Polish
|
||||
$$PWD/translations/monero-core_ru.ts \ # Russian
|
||||
$$PWD/translations/monero-core_zh.ts \ # Chinese (Traditional)
|
||||
$$PWD/translations/monero-core_zh-cn.ts \ # Chinese (Simplified-China)
|
||||
$$PWD/translations/monero-core_zh-tw.ts \ # Chinese (Traditional-Taiwan)
|
||||
|
||||
CONFIG(release, debug|release) {
|
||||
DESTDIR = release/bin
|
||||
|
|
|
@ -50,7 +50,9 @@ Rectangle {
|
|||
/* main layout */
|
||||
ColumnLayout {
|
||||
id: mainLayout
|
||||
anchors.margins: 10
|
||||
anchors.margins: 40
|
||||
anchors.bottomMargin: 10
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
@ -60,7 +62,6 @@ Rectangle {
|
|||
// solo
|
||||
ColumnLayout {
|
||||
id: soloBox
|
||||
anchors.margins: 40
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
|
@ -82,13 +83,9 @@ Rectangle {
|
|||
|
||||
Text {
|
||||
id: soloMainLabel
|
||||
text: qsTr("Mining helps the Monero network build resilience.<br>")
|
||||
+ qsTr("The more mining is done, the harder it is to attack the network.<br>")
|
||||
+ qsTr("Mining also gives you a small chance to earn some Monero.<br>")
|
||||
+ qsTr("Your computer will search for Monero block solutions.<br>")
|
||||
+ qsTr("If you find a block, you will get the associated reward.<br>")
|
||||
+ 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
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
|
@ -193,7 +190,6 @@ Rectangle {
|
|||
|
||||
Text {
|
||||
id: statusText
|
||||
anchors.leftMargin: 40
|
||||
anchors.topMargin: 17
|
||||
text: qsTr("Status: not mining")
|
||||
textFormat: Text.RichText
|
||||
|
|
|
@ -51,16 +51,23 @@ Rectangle {
|
|||
function updatePaymentId(payment_id) {
|
||||
if (typeof appWindow.currentWallet === 'undefined' || appWindow.currentWallet == null)
|
||||
return
|
||||
|
||||
// generate a new one if not given as argument
|
||||
if (typeof payment_id === 'undefined') {
|
||||
payment_id = appWindow.currentWallet.generatePaymentId()
|
||||
appWindow.persistentSettings.payment_id = payment_id
|
||||
paymentIdLine.text = payment_id
|
||||
}
|
||||
addressLine.text = appWindow.currentWallet.address
|
||||
integratedAddressLine.text = appWindow.currentWallet.integratedAddress(payment_id)
|
||||
if (integratedAddressLine.text === "")
|
||||
integratedAddressLine.text = qsTr("Invalid payment ID")
|
||||
|
||||
if (payment_id.length > 0) {
|
||||
integratedAddressLine.text = appWindow.currentWallet.integratedAddress(payment_id)
|
||||
if (integratedAddressLine.text === "")
|
||||
integratedAddressLine.text = qsTr("Invalid payment ID")
|
||||
}
|
||||
else {
|
||||
paymentIdLine.text = ""
|
||||
integratedAddressLine.text = ""
|
||||
}
|
||||
|
||||
update()
|
||||
}
|
||||
|
||||
|
@ -161,7 +168,8 @@ Rectangle {
|
|||
/* main layout */
|
||||
ColumnLayout {
|
||||
id: mainLayout
|
||||
anchors.margins: 40
|
||||
anchors.margins: 17
|
||||
anchors.topMargin: 40
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
@ -236,20 +244,27 @@ Rectangle {
|
|||
StandardButton {
|
||||
id: generatePaymentId
|
||||
width: 80
|
||||
fontSize: 14
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
pressedColor: "#FF4304"
|
||||
text: qsTr("Generate") + translationManager.emptyString;
|
||||
anchors.right: parent.right
|
||||
onClicked: {
|
||||
appWindow.persistentSettings.payment_id = appWindow.currentWallet.generatePaymentId();
|
||||
updatePaymentId()
|
||||
}
|
||||
onClicked: updatePaymentId()
|
||||
}
|
||||
|
||||
StandardButton {
|
||||
id: clearPaymentId
|
||||
enabled: !!paymentIdLine.text
|
||||
width: 80
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
pressedColor: "#FF4304"
|
||||
text: qsTr("Clear") + translationManager.emptyString;
|
||||
onClicked: updatePaymentId("")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
RowLayout {
|
||||
id: integratedAddressRow
|
||||
Label {
|
||||
|
@ -264,7 +279,7 @@ Rectangle {
|
|||
|
||||
id: integratedAddressLine
|
||||
fontSize: mainLayout.lineEditFontSize
|
||||
placeholderText: qsTr("ReadOnly wallet integrated address displayed here") + translationManager.emptyString
|
||||
placeholderText: qsTr("Generate payment ID for integrated address") + translationManager.emptyString
|
||||
readOnly: true
|
||||
width: mainLayout.editWidth
|
||||
Layout.fillWidth: true
|
||||
|
@ -296,7 +311,7 @@ Rectangle {
|
|||
LineEdit {
|
||||
id: amountLine
|
||||
fontSize: mainLayout.lineEditFontSize
|
||||
placeholderText: qsTr("Amount") + translationManager.emptyString
|
||||
placeholderText: qsTr("Amount to receive") + translationManager.emptyString
|
||||
readOnly: false
|
||||
width: mainLayout.editWidth
|
||||
Layout.fillWidth: true
|
||||
|
@ -414,12 +429,14 @@ Rectangle {
|
|||
function onPageCompleted() {
|
||||
console.log("Receive page loaded");
|
||||
|
||||
if(addressLine.text.length === 0 || addressLine.text !== appWindow.currentWallet.address) {
|
||||
updatePaymentId()
|
||||
if (appWindow.currentWallet) {
|
||||
if (addressLine.text.length === 0 || addressLine.text !== appWindow.currentWallet.address) {
|
||||
addressLine.text = appWindow.currentWallet.address
|
||||
}
|
||||
}
|
||||
|
||||
update()
|
||||
timer.running = true
|
||||
|
||||
}
|
||||
|
||||
function onPageClosed() {
|
||||
|
|
|
@ -127,6 +127,7 @@ Rectangle {
|
|||
RowLayout {
|
||||
Label {
|
||||
id: manageDaemonLabel
|
||||
Layout.fillWidth: true
|
||||
color: "#4A4949"
|
||||
text: qsTr("Manage daemon") + translationManager.emptyString
|
||||
fontSize: 16
|
||||
|
@ -141,6 +142,9 @@ Rectangle {
|
|||
}
|
||||
|
||||
RowLayout {
|
||||
id: daemonStatusRow
|
||||
Layout.fillWidth: true
|
||||
|
||||
StandardButton {
|
||||
visible: true
|
||||
enabled: !appWindow.daemonRunning
|
||||
|
@ -268,7 +272,7 @@ Rectangle {
|
|||
id: daemonAddrSave
|
||||
Layout.fillWidth: false
|
||||
Layout.leftMargin: 30
|
||||
text: qsTr("Save") + translationManager.emptyString
|
||||
text: qsTr("Connect") + translationManager.emptyString
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
|
|
|
@ -172,7 +172,7 @@ Rectangle {
|
|||
//anchors.top: amountLine.top
|
||||
//anchors.bottom: amountLine.bottom
|
||||
width: 60
|
||||
text: qsTr("all") + translationManager.emptyString
|
||||
text: qsTr("All") + translationManager.emptyString
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
|
@ -195,6 +195,17 @@ Rectangle {
|
|||
ListElement { column1: qsTr("High (x166 fee)") ; column2: ""; priority: PendingTransaction.Priority_High }
|
||||
}
|
||||
|
||||
// Priorites after v5
|
||||
ListModel {
|
||||
id: priorityModelV5
|
||||
|
||||
ListElement { column1: qsTr("Low (x1 fee)") ; column2: ""; priority: 1}
|
||||
ListElement { column1: qsTr("Default (x4 fee)") ; column2: ""; priority: 2 }
|
||||
ListElement { column1: qsTr("Medium (x20 fee)") ; column2: ""; priority: 3 }
|
||||
ListElement { column1: qsTr("High (x166 fee)") ; column2: ""; priority: 4 }
|
||||
|
||||
}
|
||||
|
||||
StandardDropdown {
|
||||
id: priorityDropdown
|
||||
anchors.top: transactionPriority.bottom
|
||||
|
@ -206,7 +217,6 @@ Rectangle {
|
|||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
pressedColor: "#FF4304"
|
||||
dataModel: priorityModel
|
||||
z: 1
|
||||
}
|
||||
|
||||
|
@ -524,7 +534,7 @@ Rectangle {
|
|||
|
||||
StandardButton {
|
||||
id: signTxButton
|
||||
text: qsTr("sign tx file") + translationManager.emptyString
|
||||
text: qsTr("Sign tx file") + translationManager.emptyString
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
|
@ -538,7 +548,7 @@ Rectangle {
|
|||
|
||||
StandardButton {
|
||||
id: submitTxButton
|
||||
text: qsTr("submit tx file") + translationManager.emptyString
|
||||
text: qsTr("Submit tx file") + translationManager.emptyString
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
|
@ -700,6 +710,19 @@ Rectangle {
|
|||
console.log("transfer page loaded")
|
||||
updateStatus();
|
||||
updateMixin();
|
||||
updatePriorityDropdown()
|
||||
}
|
||||
|
||||
function updatePriorityDropdown() {
|
||||
// Use new fee multipliers after v5 fork
|
||||
if (typeof currentWallet != "undefined" && currentWallet.useForkRules(5)) {
|
||||
priorityDropdown.dataModel = priorityModelV5;
|
||||
priorityDropdown.currentIndex = 1
|
||||
} else {
|
||||
priorityDropdown.dataModel = priorityModel;
|
||||
priorityDropdown.currentIndex = 0
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//TODO: Add daemon sync status
|
||||
|
|
1
qml.qrc
1
qml.qrc
|
@ -114,6 +114,7 @@
|
|||
<file>lang/flags/rpa.png</file>
|
||||
<file>lang/flags/russia.png</file>
|
||||
<file>lang/flags/spain.png</file>
|
||||
<file>lang/flags/taiwan.png</file>
|
||||
<file>lang/flags/uk.png</file>
|
||||
<file>lang/flags/usa.png</file>
|
||||
<file>lang/flags/indonesia.png</file>
|
||||
|
|
|
@ -587,6 +587,11 @@ bool Wallet::rescanSpent()
|
|||
return m_walletImpl->rescanSpent();
|
||||
}
|
||||
|
||||
bool Wallet::useForkRules(quint8 required_version, quint64 earlyBlocks) const
|
||||
{
|
||||
return m_walletImpl->useForkRules(required_version,earlyBlocks);
|
||||
}
|
||||
|
||||
Wallet::Wallet(Monero::Wallet *w, QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_walletImpl(w)
|
||||
|
|
|
@ -228,6 +228,9 @@ public:
|
|||
// Rescan spent outputs
|
||||
Q_INVOKABLE bool rescanSpent();
|
||||
|
||||
// check if fork rules should be used
|
||||
Q_INVOKABLE bool useForkRules(quint8 version, quint64 earlyBlocks) const;
|
||||
|
||||
// TODO: setListenter() when it implemented in API
|
||||
signals:
|
||||
// emitted on every event happened with wallet
|
||||
|
|
|
@ -1233,7 +1233,7 @@ Description: </source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="442"/>
|
||||
<source>insufficient funds. Unlocked balance: %1</source>
|
||||
<source>Insufficient funds. Unlocked balance: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
2418
translations/monero-core_zh-cn.ts
Normal file
2418
translations/monero-core_zh-cn.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -124,7 +124,7 @@ ColumnLayout {
|
|||
//renderType: Text.NativeRendering
|
||||
color: "#4A4646"
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: qsTr("Note: this password cannot be recovered. If you forget it then the wallet will have to be restored from its 25 word mnemonic seed.<br/><br/>
|
||||
text: qsTr(" <br>Note: this password cannot be recovered. If you forget it then the wallet will have to be restored from its 25 word mnemonic seed.<br/><br/>
|
||||
<b>Enter a strong password</b> (using letters, numbers, and/or symbols):")
|
||||
+ translationManager.emptyString
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue