Compare commits

..

18 Commits

Author SHA1 Message Date
Riccardo Spagni
6206e3d4c5 Merge pull request #1502
716366c revert 28fb9fa2be (cryptochangements34)
2018-07-12 17:06:51 +02:00
Riccardo Spagni
496e69b5ce Merge pull request #1496
057b5cd Add support for creating hardware wallet (stoffu)
5029bae get_libwallet_api: checkout v0.12.3.0 (stoffu)
2018-07-12 17:06:31 +02:00
stoffu
057b5cdec7 Add support for creating hardware wallet 2018-07-12 19:58:56 +09:00
luigi1111
f5792cc8fc Merge pull request #1501
f7bbdd3 add explicit mainnet button and move nettypes to advanced options (cryptochangements34)
2018-07-09 15:51:57 -05:00
luigi1111
07499bb96a Merge pull request #1497
ea58857 Fix version string by picking up unannotated tags (stoffu)
2018-07-09 15:50:28 -05:00
luigi1111
dc58f0c2b5 Merge pull request #1490
eb26b37 remove embedded Adobe color profile in denmark.png (erciccione)
2018-07-09 15:47:50 -05:00
luigi1111
eb94aef791 Merge pull request #1472
7b792ee remove non-free SF fonts, add Roboto fonts + license (pazos)
2018-07-09 15:45:31 -05:00
luigi1111
2b443eda93 Merge pull request #1470
29b59d3 don't check local daemon status on settings page, update on onWalletConnectionStatusChanged (pazos)
2018-07-09 13:46:19 -05:00
stoffu
ea58857b43 Fix version string by picking up unannotated tags 2018-07-06 09:44:01 +09:00
stoffu
5029baec33 get_libwallet_api: checkout v0.12.3.0 2018-07-06 09:35:09 +09:00
Martín Fdez
7b792ee19f remove non-free SF fonts, add Roboto fonts + license 2018-06-21 18:24:41 +02:00
Martín Fdez
29b59d3901 don't check local daemon status on settings page, update on onWalletConnectionStatusChanged 2018-06-20 22:20:50 +02:00
luigi1111
d85f3eae7c Merge pull request #1443
377c56d Add libwinscard to link line on Windows
2018-06-05 12:58:42 -05:00
luigi1111
5f46c41598 Merge pull request #1442
5bb24cf Update submodule for v0.12.2.0
2018-06-05 12:57:21 -05:00
iDunk5400
377c56d4a4 Add libwinscard to link line on Windows
This fixes monero-wallet-gui linking error in MSYS2 since PC/SC hw device support was added to Windows builds
2018-06-02 20:21:24 +02:00
dEBRUYNE-1
5bb24cfc92 Update submodule for v0.12.2.0 2018-06-02 19:19:47 +02:00
luigi1111
b40363cd88 Merge pull request #1432
a412ab7 Submodule: use v0.12.1.0 tag instead of branch
2018-05-27 08:38:04 -05:00
dEBRUYNE-1
a412ab7b80 Submodule: use v0.12.1.0 tag instead of branch 2018-05-27 13:05:50 +02:00
160 changed files with 20624 additions and 34787 deletions

View File

@@ -72,7 +72,6 @@ Rectangle {
else if(pos === "Sign") menuColumn.previousButton = signButton else if(pos === "Sign") menuColumn.previousButton = signButton
else if(pos === "Settings") menuColumn.previousButton = settingsButton else if(pos === "Settings") menuColumn.previousButton = settingsButton
else if(pos === "Advanced") menuColumn.previousButton = advancedButton else if(pos === "Advanced") menuColumn.previousButton = advancedButton
else if(pos === "Keys") menuColumn.previousButton = keysButton
menuColumn.previousButton.checked = true menuColumn.previousButton.checked = true
} }
@@ -479,7 +478,7 @@ Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
text: qsTr("Shared RingDB") + translationManager.emptyString text: qsTr("Shared RingDB") + translationManager.emptyString
symbol: qsTr("G") + translationManager.emptyString symbol: qsTr("A") + translationManager.emptyString
dotColor: "#FFD781" dotColor: "#FFD781"
under: advancedButton under: advancedButton
onClicked: { onClicked: {

View File

@@ -37,7 +37,6 @@ import QtGraphicalEffects 1.0
import moneroComponents.Wallet 1.0 import moneroComponents.Wallet 1.0
import "./pages" import "./pages"
import "./pages/settings"
Rectangle { Rectangle {
id: root id: root
@@ -142,7 +141,7 @@ Rectangle {
}, State { }, State {
name: "Settings" name: "Settings"
PropertyChanges { target: root; currentView: settingsView } PropertyChanges { target: root; currentView: settingsView }
PropertyChanges { target: mainFlickable; contentHeight: settingsView.settingsHeight } PropertyChanges { target: mainFlickable; contentHeight: settingsView.settingsHeight + 100 }
}, State { }, State {
name: "Mining" name: "Mining"
PropertyChanges { target: root; currentView: miningView } PropertyChanges { target: root; currentView: miningView }

View File

@@ -75,11 +75,11 @@ Packaging for your favorite distribution would be a welcome contribution!
- For Debian distributions (Debian, Ubuntu, Mint, Tails...) - For Debian distributions (Debian, Ubuntu, Mint, Tails...)
`sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev` `sudo apt install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev`
- For Gentoo - For Gentoo
`sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/ldns net-libs/miniupnpc net-libs/zeromq sys-libs/libunwind dev-libs/libsodium` `sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/ldns net-libs/miniupnpc net-libs/zeromq sys-libs/libunwind`
2. Install Qt: 2. Install Qt:
@@ -114,7 +114,7 @@ Packaging for your favorite distribution would be a welcome contribution!
``` ```
cd monero-gui cd monero-gui
QT_SELECT=5 ./build.sh ./build.sh
``` ```
The executable can be found in the build/release/bin folder. The executable can be found in the build/release/bin folder.
@@ -191,7 +191,7 @@ The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not off
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names 3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
``` ```
pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium
``` ```
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package. You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.

View File

@@ -53,7 +53,7 @@ Rectangle{
font.family: MoneroComponents.Style.fontRegular.name font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio font.pixelSize: 14 * scaleRatio
text: labelHeader text: labelHeader
color: MoneroComponents.Style.dimmedFontColor color: MoneroComponents.Style.greyFontColor
} }
Text { Text {
@@ -77,7 +77,7 @@ Rectangle{
label2.color = MoneroComponents.Style.defaultFontColor; label2.color = MoneroComponents.Style.defaultFontColor;
} }
onExited: { onExited: {
label1.color = MoneroComponents.Style.dimmedFontColor label1.color = MoneroComponents.Style.greyFontColor;
label2.color = MoneroComponents.Style.dimmedFontColor; label2.color = MoneroComponents.Style.dimmedFontColor;
} }
onClicked: { onClicked: {

View File

@@ -65,7 +65,7 @@ Item {
} }
ColumnLayout { ColumnLayout {
z: parent.z + 1 z: bg.z + 1
id: mainLayout id: mainLayout
spacing: 10 spacing: 10
anchors { fill: parent; margins: 35 } anchors { fill: parent; margins: 35 }
@@ -103,8 +103,6 @@ Item {
leftPadding: 10 leftPadding: 10
topPadding: 10 topPadding: 10
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle { background: Rectangle {
radius: 2 radius: 2

View File

@@ -32,25 +32,31 @@ import QtQuick 2.7
import "../js/TxUtils.js" as TxUtils import "../js/TxUtils.js" as TxUtils
import "../components" as MoneroComponents import "../components" as MoneroComponents
TextArea {
property int fontSize: 18 * scaleRatio
property bool fontBold: false
property string fontColor: MoneroComponents.Style.defaultFontColor
property bool mouseSelection: true TextArea {
property bool error: false property bool error: false
property bool addressValidation: false property bool addressValidation: false
property bool wrapAnywhere: true
property int fontSize: 18 * scaleRatio
property bool fontBold: false
id: textArea id: textArea
font.family: MoneroComponents.Style.fontRegular.name font.family: MoneroComponents.Style.fontRegular.name
color: fontColor
font.pixelSize: fontSize font.pixelSize: fontSize
font.bold: fontBold font.bold: fontBold
horizontalAlignment: TextInput.AlignLeft horizontalAlignment: TextInput.AlignLeft
selectByMouse: mouseSelection selectByMouse: true
color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor selectedTextColor: MoneroComponents.Style.defaultFontColor
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 }`

View File

@@ -50,8 +50,6 @@ Item {
property alias inlineButtonText: inlineButtonId.text property alias inlineButtonText: inlineButtonId.text
property alias inlineIcon: inlineIcon.visible property alias inlineIcon: inlineIcon.visible
property bool copyButton: false property bool copyButton: false
property bool borderDisabled: false
property string borderColor: { property string borderColor: {
if(input.activeFocus){ if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive; return MoneroComponents.Style.inputBorderColorActive;
@@ -59,8 +57,9 @@ Item {
return MoneroComponents.Style.inputBorderColorInActive; return MoneroComponents.Style.inputBorderColorInActive;
} }
} }
property bool borderDisabled: false
property int fontSize: 18 * scaleRatio property int fontSize: 18 * scaleRatio
property bool showBorder: true
property bool fontBold: false property bool fontBold: false
property alias fontColor: input.color property alias fontColor: input.color
property bool error: false property bool error: false
@@ -141,7 +140,6 @@ Item {
anchors.top: showingHeader ? inputLabel.bottom : parent.top anchors.top: showingHeader ? inputLabel.bottom : parent.top
anchors.topMargin: showingHeader ? 12 * scaleRatio : 2 * scaleRatio anchors.topMargin: showingHeader ? 12 * scaleRatio : 2 * scaleRatio
width: parent.width width: parent.width
clip: true
Text { Text {
id: placeholderLabel id: placeholderLabel
@@ -196,14 +194,12 @@ Item {
MoneroComponents.Input { MoneroComponents.Input {
id: input id: input
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: inlineIcon.visible ? 44 * scaleRatio : 0 anchors.leftMargin: inlineIcon.visible ? 38 : 0
font.pixelSize: item.fontSize font.pixelSize: item.fontSize
font.bold: item.fontBold font.bold: item.fontBold
onEditingFinished: item.editingFinished() onEditingFinished: item.editingFinished()
onAccepted: item.accepted(); onAccepted: item.accepted();
onTextChanged: item.textUpdated() onTextChanged: item.textUpdated()
topPadding: 10 * scaleRatio
bottomPadding: 10 * scaleRatio
} }
MoneroComponents.InlineButton { MoneroComponents.InlineButton {

View File

@@ -32,56 +32,25 @@ import QtQuick.Layouts 1.1
import "../components" as MoneroComponents import "../components" as MoneroComponents
ColumnLayout { ColumnLayout {
id: item id: lineditmulti
property alias text: multiLine.text
Layout.fillWidth: true
Layout.preferredHeight: childrenRect.height
property alias text: input.text
property alias labelText: inputLabel.text
property alias labelButtonText: labelButton.text
property alias placeholderText: placeholderLabel.text property alias placeholderText: placeholderLabel.text
property alias labelText: inputLabel.text
property bool placeholderCenter: false property alias error: multiLine.error
property string placeholderFontFamily: MoneroComponents.Style.fontRegular.name property alias readOnly: multiLine.readOnly
property bool placeholderFontBold: false property alias addressValidation: multiLine.addressValidation
property int placeholderFontSize: 18 * scaleRatio property alias labelButtonText: labelButton.text
property string placeholderColor: MoneroComponents.Style.defaultFontColor
property real placeholderOpacity: 0.35
property bool borderDisabled: false
property string borderColor: {
if(input.error && input.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(input.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
property bool error: false
property string labelFontColor: MoneroComponents.Style.defaultFontColor
property bool labelFontBold: false property bool labelFontBold: false
property int labelFontSize: 16 * scaleRatio
property bool labelButtonVisible: false property bool labelButtonVisible: false
property bool copyButton: false
property string fontColor: "white" property bool wrapAnywhere: true
property bool showingHeader: true
property bool showBorder: true
property bool fontBold: false property bool fontBold: false
property int fontSize: 16 * scaleRatio property int fontSize: 16 * scaleRatio
property bool mouseSelection: true
property alias readOnly: input.readOnly
property bool copyButton: false
property bool showingHeader: true
property var wrapMode: Text.NoWrap
property alias addressValidation: input.addressValidation
property string backgroundColor: "" // mock
signal labelButtonClicked(); signal labelButtonClicked();
signal inputLabelLinkActivated(); signal inputLabelLinkActivated();
signal editingFinished();
spacing: 0 spacing: 0
Rectangle { Rectangle {
@@ -96,17 +65,11 @@ ColumnLayout {
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
font.family: MoneroComponents.Style.fontRegular.name font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: item.labelFontSize font.pixelSize: 16 * scaleRatio
font.bold: labelFontBold font.bold: labelFontBold
textFormat: Text.RichText textFormat: Text.RichText
color: item.labelFontColor color: MoneroComponents.Style.defaultFontColor
onLinkActivated: inputLabelLinkActivated() onLinkActivated: inputLabelLinkActivated()
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
} }
MoneroComponents.LabelButton { MoneroComponents.LabelButton {
@@ -117,14 +80,14 @@ ColumnLayout {
MoneroComponents.LabelButton { MoneroComponents.LabelButton {
id: copyButtonId id: copyButtonId
visible: copyButton && input.text !== "" visible: copyButton && multiLine.text !== ""
text: qsTr("Copy") text: qsTr("Copy")
anchors.right: labelButton.visible ? inputLabel.right : parent.right anchors.right: labelButton.visible ? inputLabel.right : parent.right
anchors.rightMargin: labelButton.visible? 4 : 0 anchors.rightMargin: labelButton.visible? 4 : 0
onClicked: { onClicked: {
if (input.text.length > 0) { if (multiLine.text.length > 0) {
console.log("Copied to clipboard"); console.log("Copied to clipboard");
clipboard.setText(input.text); clipboard.setText(multiLine.text);
appWindow.showStatusMessage(qsTr("Copied to clipboard"), 3); appWindow.showStatusMessage(qsTr("Copied to clipboard"), 3);
} }
} }
@@ -132,32 +95,27 @@ ColumnLayout {
} }
MoneroComponents.InputMulti { MoneroComponents.InputMulti {
id: input id: multiLine
readOnly: false readOnly: false
addressValidation: false addressValidation: true
anchors.top: item.showingHeader ? inputLabelRect.bottom : item.top anchors.top: parent.showingHeader ? inputLabelRect.bottom : parent.top
Layout.fillWidth: true Layout.fillWidth: true
topPadding: item.showingHeader ? 10 * scaleRatio : 0 topPadding: parent.showingHeader ? 10 * scaleRatio : 0
bottomPadding: 10 * scaleRatio bottomPadding: 10 * scaleRatio
wrapMode: item.wrapMode wrapAnywhere: parent.wrapAnywhere
fontSize: item.fontSize fontSize: parent.fontSize
fontBold: item.fontBold fontBold: parent.fontBold
fontColor: item.fontColor
mouseSelection: item.mouseSelection
onEditingFinished: item.editingFinished()
error: item.error
Text { Text {
id: placeholderLabel id: placeholderLabel
visible: input.text ? false : true visible: multiLine.text ? false : true
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: 10 * scaleRatio anchors.leftMargin: 10 * scaleRatio
opacity: item.placeholderOpacity opacity: 0.35
color: item.placeholderColor color: MoneroComponents.Style.defaultFontColor
font.family: item.placeholderFontFamily font.family: MoneroComponents.Style.fontRegular.name
font.bold: item.placeholderFontBold font.pixelSize: 18 * scaleRatio
font.pixelSize: item.placeholderFontSize
text: "" text: ""
z: 3 z: 3
} }
@@ -165,10 +123,18 @@ ColumnLayout {
Rectangle { Rectangle {
color: "transparent" color: "transparent"
border.width: 1 border.width: 1
border.color: item.borderColor border.color: {
if(multiLine.error && multiLine.text !== ""){
return MoneroComponents.Style.inputBorderColorInvalid;
} else if(multiLine.activeFocus){
return MoneroComponents.Style.inputBorderColorActive;
} else {
return MoneroComponents.Style.inputBorderColorInActive;
}
}
radius: 4 radius: 4
anchors.fill: parent anchors.fill: parent
visible: !item.borderDisabled visible: lineditmulti.showBorder
} }
} }
} }

View File

@@ -108,8 +108,6 @@ Item {
leftPadding: 10 leftPadding: 10
topPadding: 10 topPadding: 10
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.defaultFontColor
selectionColor: MoneroComponents.Style.dimmedFontColor
selectedTextColor: MoneroComponents.Style.defaultFontColor
background: Rectangle { background: Rectangle {
radius: 2 radius: 2
@@ -127,7 +125,6 @@ Item {
} }
} }
Keys.enabled: root.visible
Keys.onReturnPressed: { Keys.onReturnPressed: {
root.close() root.close()
root.accepted() root.accepted()

View File

@@ -26,8 +26,6 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // 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. // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// @TODO: Remove component after wizard redesign
import QtQuick 2.0 import QtQuick 2.0
Item { Item {

View File

@@ -26,8 +26,6 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // 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. // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// @TODO: Remove component after wizard redesign
import QtQuick 2.0 import QtQuick 2.0
Item { Item {

View File

@@ -67,7 +67,7 @@ Rectangle {
font.pixelSize: 13 * scaleRatio font.pixelSize: 13 * scaleRatio
font.bold: true font.bold: true
color: "white" color: "white"
text: qsTr("Synchronizing %1").arg(syncType) + translationManager.emptyString text: qsTr("Synchronizing %1").arg(syncType)
height: 18 * scaleRatio height: 18 * scaleRatio
} }

View File

@@ -53,8 +53,6 @@ GridLayout {
property string lineEditBorderColor: Qt.rgba(0, 0, 0, 0.15) property string lineEditBorderColor: Qt.rgba(0, 0, 0, 0.15)
property string lineEditBackgroundColor: "white" property string lineEditBackgroundColor: "white"
property string lineEditFontColor: "black" property string lineEditFontColor: "black"
property int lineEditFontSize: 18 * scaleRatio
property int labelFontSize: 16 * scaleRatio
property bool lineEditFontBold: true property bool lineEditFontBold: true
signal editingFinished() signal editingFinished()
@@ -63,7 +61,7 @@ GridLayout {
return daemonAddr.text.trim() + ":" + daemonPort.text.trim() return daemonAddr.text.trim() + ":" + daemonPort.text.trim()
} }
LineEditMulti { LineEdit {
id: daemonAddr id: daemonAddr
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: qsTr("Remote Node Hostname / IP") + translationManager.emptyString placeholderText: qsTr("Remote Node Hostname / IP") + translationManager.emptyString
@@ -72,16 +70,14 @@ GridLayout {
placeholderFontSize: root.placeholderFontSize placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity placeholderOpacity: root.placeholderOpacity
labelFontSize: root.labelFontSize onEditingFinished: root.editingFinished()
borderColor: lineEditBorderColor borderColor: lineEditBorderColor
backgroundColor: lineEditBackgroundColor backgroundColor: lineEditBackgroundColor
fontColor: lineEditFontColor fontColor: lineEditFontColor
fontBold: lineEditFontBold fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: root.editingFinished()
} }
LineEditMulti { LineEdit {
id: daemonPort id: daemonPort
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: qsTr("Port") + translationManager.emptyString placeholderText: qsTr("Port") + translationManager.emptyString
@@ -90,13 +86,10 @@ GridLayout {
placeholderFontSize: root.placeholderFontSize placeholderFontSize: root.placeholderFontSize
placeholderColor: root.placeholderColor placeholderColor: root.placeholderColor
placeholderOpacity: root.placeholderOpacity placeholderOpacity: root.placeholderOpacity
labelFontSize: root.labelFontSize onEditingFinished: root.editingFinished()
borderColor: lineEditBorderColor borderColor: lineEditBorderColor
backgroundColor: lineEditBackgroundColor backgroundColor: lineEditBackgroundColor
fontColor: lineEditFontColor fontColor: lineEditFontColor
fontBold: lineEditFontBold fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: root.editingFinished()
} }
} }

View File

@@ -32,7 +32,6 @@ import "../components" as MoneroComponents
Item { Item {
id: dropdown id: dropdown
property int itemTopMargin: 0
property alias dataModel: repeater.model property alias dataModel: repeater.model
property string shadowPressedColor property string shadowPressedColor
property string shadowReleasedColor property string shadowReleasedColor
@@ -77,7 +76,6 @@ Item {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: parent.itemTopMargin
height: dropdown.dropdownHeight height: dropdown.dropdownHeight
Rectangle { Rectangle {

View File

@@ -11,6 +11,7 @@ QtObject {
property string grey: "#404040" property string grey: "#404040"
property string defaultFontColor: "white" property string defaultFontColor: "white"
property string greyFontColor: "#808080"
property string dimmedFontColor: "#BBBBBB" property string dimmedFontColor: "#BBBBBB"
property string inputBoxBackground: "black" property string inputBoxBackground: "black"
property string inputBoxBackgroundError: "#FFDDDD" property string inputBoxBackgroundError: "#FFDDDD"

View File

@@ -68,7 +68,7 @@ Rectangle {
z: parent.z + 1 z: parent.z + 1
Image { Image {
anchors.fill: parent anchors.fill: titleBar
height: titleBar.height height: titleBar.height
width: titleBar.width width: titleBar.width
source: "../images/titlebarGradient.jpg" source: "../images/titlebarGradient.jpg"

View File

@@ -1,63 +0,0 @@
import QtQuick 2.7
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
import "." as MoneroComponents
Rectangle {
id: root
property alias text: content.text
property int fontSize: 15 * scaleRatio
Layout.fillWidth: true
Layout.preferredHeight: warningLayout.height
color: "#09FFFFFF"
radius: 4
border.color: MoneroComponents.Style.inputBorderColorInActive
border.width: 1
signal linkActivated;
RowLayout {
id: warningLayout
spacing: 0
anchors.left: parent.left
anchors.right: parent.right
Image {
Layout.alignment: Qt.AlignVCenter
Layout.preferredHeight: 33
Layout.preferredWidth: 33
Layout.rightMargin: 14
Layout.leftMargin: 14
Layout.topMargin: 12
Layout.bottomMargin: 12
source: "../images/warning.png"
}
TextArea {
id: content
Layout.fillWidth: true
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: root.fontSize
horizontalAlignment: TextInput.AlignLeft
selectByMouse: false
textFormat: Text.RichText
wrapMode: Text.WordWrap
textMargin: 0
leftPadding: 0
topPadding: 6
readOnly: true
onLinkActivated: root.linkActivated();
// @TODO: Legacy. Remove after Qt 5.8.
// https://stackoverflow.com/questions/41990013
MouseArea {
anchors.fill: parent
enabled: false
}
}
}
}

View File

@@ -17,7 +17,7 @@ if [ ! -d $MONERO_DIR/src ]; then
fi fi
git submodule update --remote git submodule update --remote
git -C $MONERO_DIR fetch git -C $MONERO_DIR fetch
git -C $MONERO_DIR checkout release-v0.13 git -C $MONERO_DIR checkout v0.12.3.0
# get monero core tag # get monero core tag
get_tag get_tag
@@ -75,7 +75,8 @@ else
fi fi
if [ "$BUILD_LIBWALLET" != true ]; then if [ "$BUILD_LIBWALLET" != true ]; then
exit 0 # exit this script
return
fi fi
echo "GUI_MONERO_VERSION=\"$VERSIONTAG\"" > $MONERO_DIR/version.sh echo "GUI_MONERO_VERSION=\"$VERSIONTAG\"" > $MONERO_DIR/version.sh

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

View File

@@ -8,7 +8,7 @@ AppName=Monero GUI Wallet
; Thus it's important to keep this stable over releases ; Thus it's important to keep this stable over releases
; With a different "AppName" InnoSetup would treat a mere update as a completely new application and thus mess up ; With a different "AppName" InnoSetup would treat a mere update as a completely new application and thus mess up
AppVersion=0.12.3.0 AppVersion=0.12.0.0
DefaultDirName={pf}\Monero GUI Wallet DefaultDirName={pf}\Monero GUI Wallet
DefaultGroupName=Monero GUI Wallet DefaultGroupName=Monero GUI Wallet
UninstallDisplayIcon={app}\monero-wallet-gui.exe UninstallDisplayIcon={app}\monero-wallet-gui.exe
@@ -19,8 +19,6 @@ WizardSmallImageFile=WizardSmallImage.bmp
WizardImageFile=WelcomeImage.bmp WizardImageFile=WelcomeImage.bmp
DisableWelcomePage=no DisableWelcomePage=no
LicenseFile=LICENSE LicenseFile=LICENSE
AppPublisher=The Monero Developer Community
AppPublisherURL=https://getmonero.org
[Languages] [Languages]
@@ -41,7 +39,7 @@ Name: "en"; MessagesFile: "compiler:Default.isl"
; .exe/.dll file possibly with version info). ; .exe/.dll file possibly with version info).
; ;
; This is far more robust than relying on version info or on file dates (flag "comparetimestamp"). ; This is far more robust than relying on version info or on file dates (flag "comparetimestamp").
; As of version 0.12.3.0, the Monero .exe files do not carry version info anyway in their .exe headers. ; As of version 0.12.0.0, the Monero .exe files do not carry version info anyway in their .exe headers.
; The only small drawback seems to be somewhat longer update times because each and every file is ; The only small drawback seems to be somewhat longer update times because each and every file is
; copied again, even if already present with correct file date and identical content. ; copied again, even if already present with correct file date and identical content.
; ;
@@ -62,7 +60,6 @@ Source: "monero-wallet-gui.log"; DestDir: "{app}"; Flags: onlyifdoesntexist; Per
; Monero CLI wallet ; Monero CLI wallet
Source: "bin\monero-wallet-cli.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\monero-wallet-cli.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-gen-trusted-multisig.exe"; DestDir: "{app}"; Flags: ignoreversion
; Monero wallet RPC interface implementation ; Monero wallet RPC interface implementation
Source: "bin\monero-wallet-rpc.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\monero-wallet-rpc.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -76,9 +73,6 @@ Source: "monero-daemon.bat"; DestDir: "{app}"; Flags: ignoreversion;
; Monero blockchain utilities ; Monero blockchain utilities
Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-blockchain-blackball.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-blockchain-usage.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: ignoreversion
; was present in 0.10.3.1, not present anymore in 0.11.1.0 and after ; was present in 0.10.3.1, not present anymore in 0.11.1.0 and after
; Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: ignoreversion ; Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: ignoreversion
@@ -103,7 +97,7 @@ Source: "bin\bearer\*"; DestDir: "{app}\bearer"; Flags: recursesubdirs ignorever
; Qt Windows platform plugins ; Qt Windows platform plugins
Source: "bin\platforms\*"; DestDir: "{app}\platforms"; Flags: recursesubdirs ignoreversion Source: "bin\platforms\*"; DestDir: "{app}\platforms"; Flags: recursesubdirs ignoreversion
Source: "bin\platforminputcontexts\*"; DestDir: "{app}\platforminputcontexts"; Flags: recursesubdirs ignoreversion Source: "bin\platforminputcontexts\*"; DestDir: "{app}\platforminputcontexts"; Flags: recursesubdirs ignoreversion
; No more "styles" subdirectory in 0.12.3.0 Source: "bin\styles\*"; DestDir: "{app}\styles"; Flags: recursesubdirs ignoreversion
; Qt support for SVG icons ; Qt support for SVG icons
Source: "bin\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs ignoreversion Source: "bin\iconengines\*"; DestDir: "{app}\iconengines"; Flags: recursesubdirs ignoreversion
@@ -122,8 +116,7 @@ Source: "bin\playlistformats\*"; DestDir: "{app}\playlistformats"; Flags: recurs
; Qt graphical effects as part of the core runtime, effects like blurring and blending ; Qt graphical effects as part of the core runtime, effects like blurring and blending
Source: "bin\QtGraphicalEffects\*"; DestDir: "{app}\QtGraphicalEffects"; Flags: recursesubdirs ignoreversion Source: "bin\QtGraphicalEffects\*"; DestDir: "{app}\QtGraphicalEffects"; Flags: recursesubdirs ignoreversion
; Qt "private" directory with "effects" ; No more Qt "private" directory in 0.12.0.0
Source: "bin\private\*"; DestDir: "{app}\private"; Flags: recursesubdirs ignoreversion
; Qt QML files ; Qt QML files
Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs ignoreversion Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs ignoreversion
@@ -132,10 +125,6 @@ Source: "bin\QtQml\*"; DestDir: "{app}\QtQml"; Flags: recursesubdirs ignoreversi
Source: "bin\QtQuick\*"; DestDir: "{app}\QtQuick"; Flags: recursesubdirs ignoreversion Source: "bin\QtQuick\*"; DestDir: "{app}\QtQuick"; Flags: recursesubdirs ignoreversion
Source: "bin\QtQuick.2\*"; DestDir: "{app}\QtQuick.2"; Flags: recursesubdirs ignoreversion Source: "bin\QtQuick.2\*"; DestDir: "{app}\QtQuick.2"; Flags: recursesubdirs ignoreversion
; Qt Quick Controls 2 modules of the Qt Toolkit
Source: "bin\Material\*"; DestDir: "{app}\Material"; Flags: recursesubdirs ignoreversion
Source: "bin\Universal\*"; DestDir: "{app}\Universal"; Flags: recursesubdirs ignoreversion
; Qt Quick 2D Renderer fallback for systems / environments with "low-level graphics" i.e. without 3D support ; Qt Quick 2D Renderer fallback for systems / environments with "low-level graphics" i.e. without 3D support
Source: "bin\scenegraph\*"; DestDir: "{app}\scenegraph"; Flags: recursesubdirs ignoreversion Source: "bin\scenegraph\*"; DestDir: "{app}\scenegraph"; Flags: recursesubdirs ignoreversion
Source: "bin\start-low-graphics-mode.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\start-low-graphics-mode.bat"; DestDir: "{app}"; Flags: ignoreversion
@@ -178,13 +167,12 @@ Source: "bin\libiconv-2.dll"; DestDir: "{app}"; Flags: ignoreversion
; ICU, International Components for Unicode ; ICU, International Components for Unicode
; After changes for supporting UTF-8 path and file names by using Boost Locale, all those 5 ; After changes for supporting UTF-8 path and file names by using Boost Locale, all those 5
; ICU libraries are needed starting from 0.12.0.0 ; ICU libraries are needed in 0.12.0.0
; Use wildcards instead of specific version number like 61 because that seems to change frequently Source: "bin\libicudt58.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libicudt??.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libicuin58.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libicuin??.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libicuio58.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libicuio??.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libicutu58.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libicutu??.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libicuuc58.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libicuuc??.dll"; DestDir: "{app}"; Flags: ignoreversion
; Library for native language support, part of GNU gettext ; Library for native language support, part of GNU gettext
Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -206,8 +194,7 @@ Source: "bin\liblzma-5.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libmng-2.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libmng-2.dll"; DestDir: "{app}"; Flags: ignoreversion
; PCRE, Perl Compatible Regular Expressions ; PCRE, Perl Compatible Regular Expressions
; "libpcre2-16-0.dll" is new for 0.12.0.0 ; "libpcre2-16-0.dll" is new for 0.12.0.0; unclear whether "libpcre16-0.dll" is still needed
; Uclear whether "libpcre16-0.dll" is still needed; some versions of "Qt5Core.dll" seem to reference it, some not
Source: "bin\libpcre-1.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libpcre-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libpcre16-0.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libpcre16-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\libpcre2-16-0.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libpcre2-16-0.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -228,6 +215,7 @@ Source: "bin\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "bin\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
; Stack protection ; Stack protection
; New for 0.12.0.0
Source: "bin\libssp-0.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "bin\libssp-0.dll"; DestDir: "{app}"; Flags: ignoreversion
@@ -250,7 +238,6 @@ var
procedure InitializeWizard; procedure InitializeWizard;
var s: String; var s: String;
width: Integer; width: Integer;
blockChainDir: String;
begin begin
// Large image for the "Welcome" page, with page reconfigured // Large image for the "Welcome" page, with page reconfigured
WizardForm.WelcomeLabel1.Visible := false; WizardForm.WelcomeLabel1.Visible := false;
@@ -265,7 +252,7 @@ begin
// Additional wizard page for entering a special blockchain location // Additional wizard page for entering a special blockchain location
blockChainDefaultDir := ExpandConstant('{commonappdata}\bitmonero'); blockChainDefaultDir := ExpandConstant('{commonappdata}\bitmonero');
s := 'The default folder to store the Monero blockchain is ' + blockChainDefaultDir; s := 'The default folder to store the Monero blockchain is ' + blockChainDefaultDir;
s := s + '. As this will need more than 60 GB of free space, you may want to use a folder on a different drive.'; s := s + '. As this will need more than 50 GB of free space, you may want to use a folder on a different drive.';
s := s + ' If yes, specify that folder here.'; s := s + ' If yes, specify that folder here.';
BlockChainDirPage := CreateInputDirPage(wpSelectDir, BlockChainDirPage := CreateInputDirPage(wpSelectDir,
@@ -274,17 +261,11 @@ begin
False, ''); False, '');
BlockChainDirPage.Add(''); BlockChainDirPage.Add('');
// Evaluate proposal for the blockchain location BlockChainDirPage.Values[0] := GetPreviousData('BlockChainDir', '');
// In case of an update take the blockchain location from the actual setting in the registry if BlockChainDirPage.Values[0] = '' then begin
RegQueryStringValue(HKEY_CURRENT_USER, 'Software\monero-project\monero-core', 'blockchainDataDir', blockChainDir); // Unfortunately 'TInputDirWizardDirPage' does not allow empty field
if blockChainDir = '' then begin BlockChainDirPage.Values[0] := blockChainDefaultDir;
blockChainDir := GetPreviousData('BlockChainDir', '');
end; end;
if blockChainDir = '' then begin
// Unfortunately 'TInputDirWizardDirPage' does not allow empty field, so "propose" Monero default location
blockChainDir := blockChainDefaultDir;
end;
BlockChainDirPage.Values[0] := blockChainDir;
end; end;
procedure RegisterPreviousData(PreviousDataKey: Integer); procedure RegisterPreviousData(PreviousDataKey: Integer);
@@ -302,17 +283,6 @@ begin
// No quotes for folder name with blanks as this is never used as part of a command line // No quotes for folder name with blanks as this is never used as part of a command line
end; end;
function BlockChainDirOrEmpty(Param: String) : String;
VAR s: String;
begin
s := BlockChainDir('');
if s = blockChainDefaultDir then begin
// No need to add the default dir as setting
s := '';
end;
Result := s;
end;
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
var s: String; var s: String;
@@ -414,5 +384,5 @@ Name: "{userdesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Tasks
; Side effect, mostly positive: The uninstaller will clean the registry ; Side effect, mostly positive: The uninstaller will clean the registry
Root: HKCU; Subkey: "Software\monero-project"; Flags: uninsdeletekeyifempty Root: HKCU; Subkey: "Software\monero-project"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\monero-project\monero-core"; Flags: uninsdeletekey Root: HKCU; Subkey: "Software\monero-project\monero-core"; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\monero-project\monero-core"; ValueType: string; ValueName: "blockchainDataDir"; ValueData: {code:BlockChainDirOrEmpty}; Root: HKCU; Subkey: "Software\monero-project\monero-core"; ValueType: string; ValueName: "daemonFlags"; ValueData: {code:DaemonFlags};

View File

@@ -38,7 +38,7 @@ The build steps in detail:
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php) 1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
2. Get the Inno Setup script plus related files by cloning the whole [monero-core GitHub repository](https://github.com/monero-project/monero-core); you will only need the files in the installer directory `installers\windows` however 2. Get the Inno Setup script plus related files by cloning the whole [monero-core GitHub repository](https://github.com/monero-project/monero-core); you will only need the files in the installer directory `installers\windows` however
3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.12.3.0` directory to this `bin` subdirectory 3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.12.0.0` directory to this `bin` subdirectory
4. Start Inno Setup, load `Monero.iss` and compile it 4. Start Inno Setup, load `Monero.iss` and compile it
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory 5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory

View File

@@ -7,7 +7,7 @@
<h1>Monero Lithium Luna GUI Wallet</h1> <h1>Monero Lithium Luna GUI Wallet</h1>
<p>Copyright (c) 2014-2018, The Monero Project<br> <p>Copyright (c) 2014-2018, The Monero Project<br>
Date: July 27, 2018</p> Date: March 18, 2018</p>
<h2>Preface</h2> <h2>Preface</h2>
@@ -23,7 +23,7 @@
<h2>Content of the Package</h2> <h2>Content of the Package</h2>
<p>You just installed the <i>Monero GUI wallet</i> for Windows, release Lithium Luna, more exact version 0.12.3.0. <p>You just installed the <i>Monero GUI wallet</i> for Windows, release Lithium Luna, more exact version 0.12.0.0.
The wallet enables you to send and receive Moneroj in a secure and very private way. The wallet enables you to send and receive Moneroj in a secure and very private way.
</p> </p>
@@ -61,7 +61,7 @@
provides the most security and privacy possible for you.</p> provides the most security and privacy possible for you.</p>
<p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store <p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
the blockchain locally (around 60 GB in summer 2018, and of course growing), you can compromise and try to connect the blockchain locally (around 50 GB in spring 2018, and of course growing), you can compromise and try to connect
to a remote node. One way of finding such a node is checking to a remote node. One way of finding such a node is checking
<a href="https://moneroworld.com/#nodes">this page</a>. <a href="https://moneroworld.com/#nodes">this page</a>.
</p> </p>
@@ -75,13 +75,15 @@
Beside the GUI wallet there is second program, the so-called <i>Monero daemon</i>, which will carry out that download. Beside the GUI wallet there is second program, the so-called <i>Monero daemon</i>, which will carry out that download.
You find it in the <i>Utilities</i> sub-folder of the program group.</p> You find it in the <i>Utilities</i> sub-folder of the program group.</p>
<p>Depending on your Internet access, the speed of your computer and the type of disk you use (HDD or SSD) this can take <p>Depending on your Internet access and the speed of your computer this can take
<b>several hours</b>, in some cases <b>more than a day</b>. Furthermore there are unfortunate cases where the <b>several hours</b>, in some cases <b>more than a day</b>. Furthermore there are unfortunate cases where the
download gets stuck somehow or doesn't work at all, e.g. because a firewall prevents access to other nodes of the download gets stuck somehow or doesn't work at all, e.g. because a firewall prevents access to other nodes of the
Monero network.</p> Monero network.</p>
<p>The GUI wallet can start the daemon for you. You can also use the <i>Monero Daemon</i> icon in the <i>Utilities</i> <p>The GUI wallet can start the daemon for you, but that way you will not see much during initial blockchain
sub-folder of the Monero program group.</p> download, especially you probably won't see any error messages in case something goes wrong. By starting the
daemon yourself "by hand" using the <i>Monero Daemon</i> icon in the <i>Utilities</i> sub-folder of the
Monero program group you will see it running and displaying messages in a separate window.</p>
<p>If all goes well the daemon will finally display a message like this: <p>If all goes well the daemon will finally display a message like this:
<i>You are now synchronized with the network.</i></p> <i>You are now synchronized with the network.</i></p>

View File

@@ -26,31 +26,4 @@ function formatDate( date, params ) {
function isNumeric(n) { function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n); return !isNaN(parseFloat(n)) && isFinite(n);
}
function showSeedPage() {
// Shows `Settings->Seed & keys`. Prompts a password dialog.
passwordDialog.onAcceptedCallback = function() {
if(walletPassword === passwordDialog.password){
if(currentWallet.seedLanguage == "") {
console.log("No seed language set. Using English as default");
currentWallet.setSeedLanguage("English");
}
// Load keys page
appWindow.showPageRequest("Keys");
} else {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Wrong password");
informationPopup.open()
informationPopup.onCloseCallback = function() {
passwordDialog.open()
}
}
}
passwordDialog.onRejectedCallback = function() {
leftPanel.selectItem(middlePanel.state);
}
passwordDialog.open();
if(isMobile) hideMenu();
updateBalance();
} }

View File

@@ -11,11 +11,12 @@ function setCustomWindowDecorations(custom) {
var y = appWindow.y var y = appWindow.y
if (x < 0) x = 0 if (x < 0) x = 0
if (y < 0) y = 0 if (y < 0) y = 0
// Update persistentSettings // Update persistentSettings
persistentSettings.customDecorations = custom; persistentSettings.customDecorations = custom;
titleBar.visible = custom; titleBar.visible = custom;
daemonConsolePopup.titleBar.visible = custom;
if (custom) { if (custom) {
appWindow.flags = flagsCustomDecorations; appWindow.flags = flagsCustomDecorations;
@@ -24,7 +25,7 @@ function setCustomWindowDecorations(custom) {
appWindow.flags = flags; appWindow.flags = flags;
daemonConsolePopup.flags = flags; daemonConsolePopup.flags = flags;
} }
// Reset window // Reset window
appWindow.hide() appWindow.hide()
appWindow.x = x appWindow.x = x

BIN
lang/flags/bangladesh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

BIN
lang/flags/brazil.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
lang/flags/china.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

BIN
lang/flags/croatia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
lang/flags/czech.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/denmark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

BIN
lang/flags/egypt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
lang/flags/finland.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
lang/flags/france.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
lang/flags/german.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

BIN
lang/flags/india.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
lang/flags/indonesia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
lang/flags/israel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/italy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
lang/flags/japan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/netherlands.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/palestine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/poland.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
lang/flags/portugal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
lang/flags/romania.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
lang/flags/rpa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/russia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

BIN
lang/flags/slovakia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
lang/flags/slovenia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
lang/flags/south_korea.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
lang/flags/spain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
lang/flags/srbija.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
lang/flags/sweden.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
lang/flags/taiwan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
lang/flags/uk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
lang/flags/ukraine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

BIN
lang/flags/usa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -17,42 +17,39 @@ Deutsch (German)
Esperanto Esperanto
Lojban Lojban
--> -->
<language display_name="English (US)" locale="en_US" wallet_language="English" flag="/lang/flags/us.png" qs="none"/> <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/gb.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/za.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/ps.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="Deutsch" flag="/lang/flags/de.png" qs="none"/> <language display_name="Deutsch" locale="de_DE" wallet_language="Deutsch" flag="/lang/flags/german.png" qs="none"/>
<language display_name="Esperanto" locale="eo" wallet_language="Esperanto" flag="/lang/flags/esperanto.png" qs="none"/> <language display_name="Esperanto" locale="eo" wallet_language="Esperanto" flag="/lang/flags/esperanto.png" qs="none"/>
<language display_name="Español" locale="es_ES" wallet_language="Español" flag="/lang/flags/es.png" qs="none"/> <language display_name="Español" locale="es_ES" wallet_language="Español" flag="/lang/flags/spain.png" qs="none"/>
<language display_name="Français" locale="fr_FR" wallet_language="Français" flag="/lang/flags/fr.png" qs="none"/> <!-- <language display_name="Suomen kieli" locale="fi" wallet_language="English" flag="/lang/flags/finland.png" qs="none"/> -->
<language display_name="Svenska" locale="sv_SE" wallet_language="English" flag="/lang/flags/se.png" qs="none"/> <language display_name="Français" locale="fr_FR" wallet_language="Français" flag="/lang/flags/france.png" qs="none"/>
<language display_name="Hrvatski" locale="hr_HR" wallet_language="English" flag="/lang/flags/hr.png" qs="none"/> <language display_name="Svenska" locale="sv_SE" wallet_language="English" flag="/lang/flags/sweden.png" qs="none"/>
<language display_name="Magyar" locale="hu_HU" wallet_language="Hungarian" flag="/lang/flags/hu.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/in.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/id.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="Italiano" flag="/lang/flags/it.png" qs="none"/> <language display_name="Italiano" locale="it_IT" wallet_language="Italiano" flag="/lang/flags/italy.png" qs="none"/>
<language display_name="日本語" locale="ja_JP" wallet_language="日本語" flag="/lang/flags/jp.png" qs="none"/> <language display_name="日本語" locale="ja_JP" wallet_language="日本語" flag="/lang/flags/japan.png" qs="none"/>
<language display_name="Nederlands" locale="nl_NL" wallet_language="Nederlands" flag="/lang/flags/nl.png" qs="none"/> <language display_name="Nederlands" locale="nl_NL" wallet_language="Nederlands" flag="/lang/flags/netherlands.png" qs="none"/>
<language display_name="Polski" locale="pl_PL" wallet_language="English" flag="/lang/flags/pl.png" qs="none"/> <language display_name="Polski" locale="pl_PL" wallet_language="English" flag="/lang/flags/poland.png" qs="none"/>
<!-- <language display_name="Polski" locale="pl_PL" wallet_language="English" flag="/lang/flags/pl.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 (PT)" locale="pt-pt_PT" wallet_language="Português" flag="/lang/flags/pt.png" qs="none"/> <language display_name="Português (PT)" locale="pt-pt_PT" wallet_language="Português" flag="/lang/flags/portugal.png" qs="none"/>
<language display_name="Português (BR)" locale="pt-br_BR" wallet_language="Português" flag="/lang/flags/br.png" qs="none"/> <language display_name="Português (BR)" locale="pt-br_BR" wallet_language="Português" flag="/lang/flags/brazil.png" qs="none"/>
<language display_name="Русский язык" locale="ru_RU" wallet_language="русский язык" flag="/lang/flags/ru.png" qs="none"/> <language display_name="Русский язык" locale="ru_RU" wallet_language="русский язык" flag="/lang/flags/russia.png" qs="none"/>
<language display_name="简体中文 (中国)" locale="zh-cn_CN" wallet_language="简体中文 (中国)" flag="/lang/flags/cn.png" qs="none"/> <language display_name="简体中文 (中国)" locale="zh-cn_CN" wallet_language="简体中文 (中国)" flag="/lang/flags/china.png" qs="none"/>
<language display_name="繁體中文 (台灣)" locale="zh-tw_CN" wallet_language="English" flag="/lang/flags/tw.png" qs="none"/> <language display_name="繁體中文 (台灣)" locale="zh-tw_CN" wallet_language="English" flag="/lang/flags/taiwan.png" qs="none"/>
<language display_name="עברית" locale="he_HE" wallet_language="English" flag="/lang/flags/il.png" qs="none"/> <language display_name="עברית" locale="he_HE" wallet_language="English" flag="/lang/flags/israel.png" qs="none"/>
<language display_name="한국어" locale="ko_KO" wallet_language="English" flag="/lang/flags/kr.png" qs="none"/> <language display_name="한국어" locale="ko_KO" wallet_language="English" flag="/lang/flags/south_korea.png" qs="none"/>
<language display_name="Română" locale="ro_RO" wallet_language="English" flag="/lang/flags/ro.png" qs="none"/> <language display_name="Română" locale="ro_RO" wallet_language="English" flag="/lang/flags/romania.png" qs="none"/>
<language display_name="Dansk" locale="da_DK" wallet-language="English" flag="/lang/flags/dk.png" qs="none"/> <language display_name="Dansk" locale="da_DK" wallet-language="English" flag="/lang/flags/denmark.png" qs="none"/>
<language display_name="Česky" locale="cs_CZ" wallet_language="English" flag="/lang/flags/cz.png" qs="none"/> <language display_name="Česky" locale="cs_CZ" wallet_language="English" flag="/lang/flags/czech.png" qs="none"/>
<language display_name="Slovensky" locale="sk_SK" wallet_language="English" flag="/lang/flags/sk.png" qs="none"/> <language display_name="Slovensky" locale="sk_SK" wallet_language="English" flag="/lang/flags/slovakia.png" qs="none"/>
<language display_name="العربية" locale="ar_AR" wallet_language="English" flag="/lang/flags/eg.png" qs="none"/> <language display_name="العربية" locale="ar_AR" wallet_language="English" flag="/lang/flags/egypt.png" qs="none"/>
<language display_name="Slovenski" locale="sl_SI" wallet_language="English" flag="/lang/flags/si.png" qs="none"/> <language display_name="Slovenski" locale="sl_SI" wallet_language="English" flag="/lang/flags/slovenia.png" qs="none"/>
<language display_name="Srpski" locale="rs_RS" wallet_language="English" flag="/lang/flags/rs.png" qs="none"/> <language display_name="Srpski" locale="rs_RS" wallet_language="English" flag="/lang/flags/srbija.png" qs="none"/>
<language display_name="Català" locale="cat_ES" wallet_language="English" flag="/lang/flags/catalonia.png" qs="none"/> <language display_name="Català" locale="cat_ES" wallet_language="English" flag="/lang/flags/catalonia.png" qs="none"/>
<language display_name="Türkçe" locale="tr_TR" wallet_language="English" flag="/lang/flags/tr.png" qs="none"/> <language display_name="Türkçe" locale="tr_TR" wallet_language="English" flag="/lang/flags/tr.png" qs="none"/>
<language display_name="Українська" locale="uk_UA" wallet_language="English" flag="/lang/flags/ua.png" qs="none"/> <language display_name="Українська" locale="uk_UA" wallet_language="English" flag="/lang/flags/ukraine.png" qs="none"/>
<language display_name="Lietuvių" locale="lt_LT" wallet_language="English" flag="/lang/flags/lt.png" qs="none"/>
<language display_name="Suomi" locale="fi_FI" wallet_language="English" flag="/lang/flags/fi.png" qs="none"/>
<language display_name="Pirate" locale="prt" wallet_language="English" flag="/lang/flags/pirate.png" qs="none"/>
</languages> </languages>

View File

@@ -48,7 +48,7 @@ export QT_PLUGIN_PATH=\`pwd\`/plugins
export QML2_IMPORT_PATH=\`pwd\`/qml export QML2_IMPORT_PATH=\`pwd\`/qml
# make it so that it can be called from anywhere and also through soft links # make it so that it can be called from anywhere and also through soft links
SCRIPT_DIR="\$(dirname "\$(test -L "\${BASH_SOURCE[0]}" && readlink "\${BASH_SOURCE[0]}" || echo "\${BASH_SOURCE[0]}")")" SCRIPT_DIR="\$(dirname "\$(test -L "\${BASH_SOURCE[0]}" && readlink "\${BASH_SOURCE[0]}" || echo "\${BASH_SOURCE[0]}")")"
"\$SCRIPT_DIR"/$GUI_EXEC "\$@" "\$SCRIPT_DIR"/$GUI_EXEC
EOL EOL
chmod +x $TARGET/start-gui.sh chmod +x $TARGET/start-gui.sh

View File

@@ -40,7 +40,6 @@ import moneroComponents.NetworkType 1.0
import "components" import "components"
import "wizard" import "wizard"
import "../js/Utils.js" as Utils
import "js/Windows.js" as Windows import "js/Windows.js" as Windows
ApplicationWindow { ApplicationWindow {
@@ -103,13 +102,13 @@ ApplicationWindow {
if(seq === "Ctrl+S") middlePanel.state = "Transfer" if(seq === "Ctrl+S") middlePanel.state = "Transfer"
else if(seq === "Ctrl+R") middlePanel.state = "Receive" else if(seq === "Ctrl+R") middlePanel.state = "Receive"
else if(seq === "Ctrl+K") middlePanel.state = "TxKey" else if(seq === "Ctrl+K") middlePanel.state = "TxKey"
else if(seq === "Ctrl+S") middlePanel.state = "SharedRingDB"
else if(seq === "Ctrl+H") middlePanel.state = "History" else if(seq === "Ctrl+H") middlePanel.state = "History"
else if(seq === "Ctrl+B") middlePanel.state = "AddressBook" else if(seq === "Ctrl+B") middlePanel.state = "AddressBook"
else if(seq === "Ctrl+M") middlePanel.state = "Mining" else if(seq === "Ctrl+M") middlePanel.state = "Mining"
else if(seq === "Ctrl+I") middlePanel.state = "Sign" else if(seq === "Ctrl+I") middlePanel.state = "Sign"
else if(seq === "Ctrl+G") middlePanel.state = "SharedRingDB" else if(seq === "Ctrl+A") middlePanel.state = "SharedRingDB"
else if(seq === "Ctrl+E") middlePanel.state = "Settings" else if(seq === "Ctrl+E") middlePanel.state = "Settings"
else if(seq === "Ctrl+Y") leftPanel.keysClicked()
else if(seq === "Ctrl+D") middlePanel.state = "Advanced" else if(seq === "Ctrl+D") middlePanel.state = "Advanced"
else if(seq === "Ctrl+Tab" || seq === "Alt+Tab") { else if(seq === "Ctrl+Tab" || seq === "Alt+Tab") {
/* /*
@@ -223,9 +222,6 @@ ApplicationWindow {
if (typeof wizard.m_wallet !== 'undefined') { if (typeof wizard.m_wallet !== 'undefined') {
console.log("using wizard wallet") console.log("using wizard wallet")
//Set restoreHeight //Set restoreHeight
if (persistentSettings.restore_height == 0 && persistentSettings.is_recovering_from_device && walletManager.localDaemonSynced()) {
persistentSettings.restore_height = walletManager.blockchainHeight() - 1;
}
if(persistentSettings.restore_height > 0){ if(persistentSettings.restore_height > 0){
// We store restore height in own variable for performance reasons. // We store restore height in own variable for performance reasons.
restoreHeight = persistentSettings.restore_height restoreHeight = persistentSettings.restore_height
@@ -336,8 +332,6 @@ ApplicationWindow {
console.log("initializing with daemon address: ", currentDaemonAddress) console.log("initializing with daemon address: ", currentDaemonAddress)
currentWallet.initAsync(currentDaemonAddress, 0, persistentSettings.is_recovering, persistentSettings.is_recovering_from_device, persistentSettings.restore_height); currentWallet.initAsync(currentDaemonAddress, 0, persistentSettings.is_recovering, persistentSettings.is_recovering_from_device, persistentSettings.restore_height);
// save wallet keys in case wallet settings have been changed in the init
currentWallet.setPassword(walletPassword);
} }
function walletPath() { function walletPath() {
@@ -364,7 +358,7 @@ ApplicationWindow {
middlePanel.updateStatus(); middlePanel.updateStatus();
leftPanel.networkStatus.connected = status leftPanel.networkStatus.connected = status
// update local daemon status. // update local daemon status
if(!isMobile && walletManager.isDaemonLocal(appWindow.persistentSettings.daemon_address)) if(!isMobile && walletManager.isDaemonLocal(appWindow.persistentSettings.daemon_address))
daemonRunning = status; daemonRunning = status;
@@ -635,6 +629,9 @@ ApplicationWindow {
transactionConfirmationPopup.text += qsTr("\n\nAmount: ") + walletManager.displayAmount(transaction.amount); transactionConfirmationPopup.text += qsTr("\n\nAmount: ") + walletManager.displayAmount(transaction.amount);
transactionConfirmationPopup.text += qsTr("\nFee: ") + walletManager.displayAmount(transaction.fee); transactionConfirmationPopup.text += qsTr("\nFee: ") + walletManager.displayAmount(transaction.fee);
transactionConfirmationPopup.text += qsTr("\nRingsize: ") + (mixinCount + 1); transactionConfirmationPopup.text += qsTr("\nRingsize: ") + (mixinCount + 1);
if(mixinCount !== 6){
transactionConfirmationPopup.text += qsTr("\n\nWARNING: non default ring size, which may harm your privacy. Default of 7 is recommended.");
}
transactionConfirmationPopup.text += qsTr("\n\nNumber of transactions: ") + transaction.txCount transactionConfirmationPopup.text += qsTr("\n\nNumber of transactions: ") + transaction.txCount
transactionConfirmationPopup.text += (transactionDescription === "" ? "" : (qsTr("\nDescription: ") + transactionDescription)) transactionConfirmationPopup.text += (transactionDescription === "" ? "" : (qsTr("\nDescription: ") + transactionDescription))
for (var i = 0; i < transaction.subaddrIndices.length; ++i){ for (var i = 0; i < transaction.subaddrIndices.length; ++i){
@@ -1303,25 +1300,6 @@ ApplicationWindow {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
height: visible? 65 * scaleRatio : 0 height: visible? 65 * scaleRatio : 0
MouseArea {
enabled: persistentSettings.customDecorations
property var previousPosition
anchors.fill: parent
propagateComposedEvents: true
onPressed: previousPosition = globalCursor.getPosition()
onPositionChanged: {
if (pressedButtons == Qt.LeftButton) {
var pos = globalCursor.getPosition()
var dx = pos.x - previousPosition.x
var dy = pos.y - previousPosition.y
appWindow.x += dx
appWindow.y += dy
previousPosition = pos
}
}
}
} }
LeftPanel { LeftPanel {
@@ -1341,6 +1319,7 @@ ApplicationWindow {
onTransferClicked: { onTransferClicked: {
middlePanel.state = "Transfer"; middlePanel.state = "Transfer";
middlePanel.flickable.contentY = 0; middlePanel.flickable.contentY = 0;
mainFlickable.contentY = 0;
if(isMobile) { if(isMobile) {
hideMenu(); hideMenu();
} }
@@ -1419,7 +1398,31 @@ ApplicationWindow {
updateBalance(); updateBalance();
} }
onKeysClicked: Utils.showSeedPage(); onKeysClicked: {
passwordDialog.onAcceptedCallback = function() {
if(walletPassword === passwordDialog.password){
if(currentWallet.seedLanguage == "") {
console.log("No seed language set. Using English as default");
currentWallet.setSeedLanguage("English");
}
// Load keys page
middlePanel.state = "Keys"
} else {
informationPopup.title = qsTr("Error") + translationManager.emptyString;
informationPopup.text = qsTr("Wrong password");
informationPopup.open()
informationPopup.onCloseCallback = function() {
passwordDialog.open()
}
}
}
passwordDialog.onRejectedCallback = function() {
appWindow.showPageRequest("Settings");
}
passwordDialog.open();
if(isMobile) hideMenu();
updateBalance();
}
} }
RightPanel { RightPanel {
@@ -1611,7 +1614,7 @@ ApplicationWindow {
showMoneroLogo: true showMoneroLogo: true
onCloseClicked: appWindow.close(); onCloseClicked: appWindow.close();
onMaximizeClicked: { onMaximizeClicked: {
appWindow.visibility = appWindow.visibility !== Window.Maximized ? Window.Maximized : appWindow.visibility = appWindow.visibility !== Window.FullScreen ? Window.FullScreen :
Window.Windowed Window.Windowed
} }
onMinimizeClicked: appWindow.visibility = Window.Minimized onMinimizeClicked: appWindow.visibility = Window.Minimized

Some files were not shown because too many files have changed in this diff Show More