Merge branch 'master' into patch-1

This commit is contained in:
Matthias Tarasiewicz 2017-03-25 17:22:13 +01:00 committed by GitHub
commit 0836bd9cfd
48 changed files with 9134 additions and 5191 deletions

View file

@ -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

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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"
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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

View file

@ -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 {

View file

@ -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 {

View file

@ -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

View file

@ -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 {

View file

@ -65,7 +65,6 @@ Window {
lineHeight: 0.7
font.family: "Arial"
font.pixelSize: 12
font.letterSpacing: -1
color: "#FFFFFF"
}
}

View file

@ -47,7 +47,6 @@ Rectangle {
anchors.centerIn: parent
font.family: "Arial"
font.pixelSize: 15
font.letterSpacing: -1
color: "#FFFFFF"
text: titleBar.title
visible: customDecorations

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View file

@ -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>

View file

@ -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

@ -1 +1 @@
Subproject commit daf66621dcf43f36067465a1f1c99f5b1390c400
Subproject commit 72f38bcc91ac45f88e192f7f0ca3ec2d6df76663

View file

@ -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

View file

@ -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

View file

@ -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() {

View file

@ -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"

View file

@ -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

View file

@ -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>

View 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)

View file

@ -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

View file

@ -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

View file

@ -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
}