Compare commits
6 Commits
release-v0
...
v0.12.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d85f3eae7c | ||
|
|
5f46c41598 | ||
|
|
377c56d4a4 | ||
|
|
5bb24cfc92 | ||
|
|
b40363cd88 | ||
|
|
a412ab7b80 |
@@ -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
|
||||||
}
|
}
|
||||||
@@ -96,7 +95,7 @@ Rectangle {
|
|||||||
visible: true
|
visible: true
|
||||||
z: 2
|
z: 2
|
||||||
id: column1
|
id: column1
|
||||||
height: 210
|
height: 200
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
@@ -111,10 +110,10 @@ Rectangle {
|
|||||||
anchors.leftMargin: 20
|
anchors.leftMargin: 20
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
height: 490 * scaleRatio
|
height: 490 * scaleRatio
|
||||||
width: 260 * scaleRatio
|
width: 259 * scaleRatio
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
width: 260; height: 170
|
width: 259; height: 170
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
source: "images/card-background.png"
|
source: "images/card-background.png"
|
||||||
}
|
}
|
||||||
@@ -247,17 +246,19 @@ Rectangle {
|
|||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.top: (isMobile)? parent.top : column1.bottom
|
anchors.top: (isMobile)? parent.top : column1.bottom
|
||||||
|
anchors.topMargin: (isMobile)? 0 : 32
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
|
|
||||||
Flickable {
|
Flickable {
|
||||||
id:flicker
|
id:flicker
|
||||||
contentHeight: menuColumn.height
|
contentHeight: (progressBar.visible)? menuColumn.height + separator.height +
|
||||||
anchors.top: parent.top
|
networkStatus.height + progressBar.height + daemonProgressBar.height :
|
||||||
anchors.bottom: networkStatus.top
|
menuColumn.height + separator.height + networkStatus.height
|
||||||
width: parent.width
|
anchors.fill: parent
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
|
|
||||||
id: menuColumn
|
id: menuColumn
|
||||||
@@ -477,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: {
|
||||||
|
|||||||
@@ -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 }
|
||||||
|
|||||||
@@ -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 libhidapi-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 dev-libs/hidapi`
|
`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.
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
|
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtGraphicalEffects 1.0
|
|
||||||
import "." 1.0
|
import "." 1.0
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
@@ -41,7 +40,6 @@ RowLayout {
|
|||||||
property int fontSize: 14 * scaleRatio
|
property int fontSize: 14 * scaleRatio
|
||||||
property alias fontColor: label.color
|
property alias fontColor: label.color
|
||||||
property int textMargin: 8 * scaleRatio
|
property int textMargin: 8 * scaleRatio
|
||||||
property bool darkDropIndicator: false
|
|
||||||
signal clicked()
|
signal clicked()
|
||||||
height: 25 * scaleRatio
|
height: 25 * scaleRatio
|
||||||
|
|
||||||
@@ -76,19 +74,12 @@ RowLayout {
|
|||||||
anchors.left: label.right
|
anchors.left: label.right
|
||||||
anchors.leftMargin: textMargin
|
anchors.leftMargin: textMargin
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
rotation: checkBox.checked ? 180 * scaleRatio : 0
|
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
id: indicatorImage
|
id: indicatorImage
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
source: "../images/whiteDropIndicator.png"
|
source: "../images/whiteDropIndicator.png"
|
||||||
visible: !darkDropIndicator
|
rotation: checkBox.checked ? 180 * scaleRatio : 0
|
||||||
}
|
|
||||||
ColorOverlay {
|
|
||||||
anchors.fill: indicatorImage
|
|
||||||
source: indicatorImage
|
|
||||||
color: "#FF000000"
|
|
||||||
visible: darkDropIndicator
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 }`
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -72,13 +70,11 @@ 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()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LineEdit {
|
LineEdit {
|
||||||
@@ -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()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -3,14 +3,15 @@ pragma Singleton
|
|||||||
import QtQuick 2.5
|
import QtQuick 2.5
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
property QtObject fontMedium: FontLoader { id: _fontMedium; source: "qrc:/fonts/Roboto-Medium.ttf"; }
|
property QtObject fontMedium: FontLoader { id: _fontMedium; source: "qrc:/fonts/SFUIDisplay-Medium.otf"; }
|
||||||
property QtObject fontBold: FontLoader { id: _fontBold; source: "qrc:/fonts/Roboto-Bold.ttf"; }
|
property QtObject fontBold: FontLoader { id: _fontBold; source: "qrc:/fonts/SFUIDisplay-Bold.otf"; }
|
||||||
property QtObject fontLight: FontLoader { id: _fontLight; source: "qrc:/fonts/Roboto-Light.ttf"; }
|
property QtObject fontLight: FontLoader { id: _fontLight; source: "qrc:/fonts/SFUIDisplay-Light.otf"; }
|
||||||
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/Roboto-Regular.ttf"; }
|
property QtObject fontRegular: FontLoader { id: _fontRegular; source: "qrc:/fonts/SFUIDisplay-Regular.otf"; }
|
||||||
|
|
||||||
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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,202 +0,0 @@
|
|||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
BIN
fonts/SFUIDisplay-Bold.otf
Normal file
BIN
fonts/SFUIDisplay-Light.otf
Normal file
BIN
fonts/SFUIDisplay-Medium.otf
Normal file
BIN
fonts/SFUIDisplay-Regular.otf
Normal 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 v0.13.0.4
|
git -C $MONERO_DIR checkout v0.12.2.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
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 651 B |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 440 B |
@@ -1,4 +1,4 @@
|
|||||||
; Monero Beryllium Bullet GUI Wallet Installer for Windows
|
; Monero Lithium Luna GUI Wallet Installer for Windows
|
||||||
; Copyright (c) 2014-2018, The Monero Project
|
; Copyright (c) 2014-2018, The Monero Project
|
||||||
; See LICENSE
|
; See LICENSE
|
||||||
|
|
||||||
@@ -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.13.0.4
|
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,23 +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
|
|
||||||
|
|
||||||
UsedUserAreasWarning=no
|
|
||||||
; The above directive silences the following compiler warning:
|
|
||||||
; Warning: The [Setup] section directive "PrivilegesRequired" is set to "admin" but per-user areas (HKCU,userdocs)
|
|
||||||
; are used by the script. Regardless of the version of Windows, if the installation is administrative then you should
|
|
||||||
; be careful about making any per-user area changes: such changes may not achieve what you are intending.
|
|
||||||
; Background info:
|
|
||||||
; This installer indeed asks for admin rights so the Monero files can be copied to a place where they have at least
|
|
||||||
; a minimum of protection against changes, e.g. by malware, plus it handles things for the currently logged-in user
|
|
||||||
; in the registry (GUI wallet per-user options) and for some of the icons. For reasons too complicated to fully explain
|
|
||||||
; here this does not work as intended if the installing user does not have admin rights and has to provide the password
|
|
||||||
; of a user that does for installing: The settings of the admin user instead of those of the installing user are changed.
|
|
||||||
; Short of ripping out that per-user functionality the issue has no suitable solution. Fortunately, this will probably
|
|
||||||
; play a role in only in few cases as the first standard user in a Windows installation does have admin rights.
|
|
||||||
; So, for the time being, this installer simply disregards this problem.
|
|
||||||
|
|
||||||
|
|
||||||
[Languages]
|
[Languages]
|
||||||
@@ -56,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.13.0.4, 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.
|
||||||
;
|
;
|
||||||
@@ -66,9 +49,8 @@ Name: "en"; MessagesFile: "compiler:Default.isl"
|
|||||||
Source: "ReadMe.htm"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "ReadMe.htm"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "FinishImage.bmp"; Flags: dontcopy
|
Source: "FinishImage.bmp"; Flags: dontcopy
|
||||||
|
|
||||||
; Monero GUI wallet exe and guide
|
; Monero GUI wallet
|
||||||
Source: "bin\monero-wallet-gui.exe"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "bin\monero-wallet-gui.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "bin\monero-GUI-guide.pdf"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
|
|
||||||
; Monero GUI wallet log file
|
; Monero GUI wallet log file
|
||||||
; The GUI wallet does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
|
; The GUI wallet does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
|
||||||
@@ -78,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
|
||||||
@@ -92,11 +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-mark-spent-outputs.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
|
|
||||||
Source: "bin\monero-blockchain-ancestry.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "bin\monero-blockchain-depth.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
|
||||||
@@ -121,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
|
||||||
@@ -140,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
|
||||||
@@ -150,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
|
||||||
@@ -196,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
|
||||||
@@ -224,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
|
||||||
@@ -246,11 +215,9 @@ 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
|
||||||
|
|
||||||
; HIDAPI, library for communicating with USB and Bluetooth devices, for hardware wallets
|
|
||||||
Source: "bin\libhidapi-0.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
|
|
||||||
|
|
||||||
[Tasks]
|
[Tasks]
|
||||||
Name: desktopicon; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:";
|
Name: desktopicon; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:";
|
||||||
@@ -270,7 +237,7 @@ var
|
|||||||
|
|
||||||
procedure InitializeWizard;
|
procedure InitializeWizard;
|
||||||
var s: String;
|
var s: String;
|
||||||
blockChainDir: String;
|
width: Integer;
|
||||||
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;
|
||||||
@@ -285,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 70 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,
|
||||||
@@ -294,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);
|
||||||
@@ -322,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;
|
||||||
@@ -373,21 +323,6 @@ begin
|
|||||||
Result := s;
|
Result := s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function WalletFlags(Param: String): String;
|
|
||||||
// Flags to add to the shortcut to the GUI wallet
|
|
||||||
// Use "--log-file" to force log file alongside the installed GUI exe which would not get
|
|
||||||
// created there because of an unsolved issue in the 0.13.0.4 wallet code
|
|
||||||
var s: String;
|
|
||||||
begin
|
|
||||||
s := ExpandConstant('{app}\monero-wallet-gui.log');
|
|
||||||
if Pos(' ', s) > 0 then begin
|
|
||||||
// Quotes needed for filename with blanks
|
|
||||||
s := '"' + s + '"';
|
|
||||||
end;
|
|
||||||
s := '--log-file ' + s;
|
|
||||||
Result := s;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure CurStepChanged(CurStep: TSetupStep);
|
procedure CurStepChanged(CurStep: TSetupStep);
|
||||||
var s: TArrayOfString;
|
var s: TArrayOfString;
|
||||||
begin
|
begin
|
||||||
@@ -415,8 +350,7 @@ end;
|
|||||||
[Icons]
|
[Icons]
|
||||||
; Icons in the "Monero GUI Wallet" program group
|
; Icons in the "Monero GUI Wallet" program group
|
||||||
; Windows will almost always display icons in alphabetical order, per level, so specify the text accordingly
|
; Windows will almost always display icons in alphabetical order, per level, so specify the text accordingly
|
||||||
Name: "{group}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Parameters: {code:WalletFlags}
|
Name: "{group}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"
|
||||||
Name: "{group}\GUI Wallet Guide"; Filename: "{app}\monero-GUI-guide.pdf"; IconFilename: "{app}\monero-wallet-gui.exe"
|
|
||||||
Name: "{group}\Uninstall GUI Wallet"; Filename: "{uninstallexe}"
|
Name: "{group}\Uninstall GUI Wallet"; Filename: "{uninstallexe}"
|
||||||
|
|
||||||
; Sub-folder "Utilities";
|
; Sub-folder "Utilities";
|
||||||
@@ -441,7 +375,7 @@ Name: "{group}\Utilities\x (Try GUI Wallet Low Graphics Mode)"; Filename: "{app}
|
|||||||
Name: "{group}\Utilities\x (Try Kill Daemon)"; Filename: "Taskkill.exe"; Parameters: "/IM monerod.exe /T /F"
|
Name: "{group}\Utilities\x (Try Kill Daemon)"; Filename: "Taskkill.exe"; Parameters: "/IM monerod.exe /T /F"
|
||||||
|
|
||||||
; Desktop icons, optional with the help of the "Task" section
|
; Desktop icons, optional with the help of the "Task" section
|
||||||
Name: "{commondesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Parameters: {code:WalletFlags}; Tasks: desktopicon
|
Name: "{userdesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Tasks: desktopicon
|
||||||
|
|
||||||
|
|
||||||
[Registry]
|
[Registry]
|
||||||
@@ -450,5 +384,5 @@ Name: "{commondesktop}\GUI Wallet"; Filename: "{app}\monero-wallet-gui.exe"; Par
|
|||||||
; 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};
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Copyright (c) 2014-2018, The Monero Project
|
|||||||
|
|
||||||
This is a *Inno Setup* script `Monero.iss` plus some related files
|
This is a *Inno Setup* script `Monero.iss` plus some related files
|
||||||
that allows you to build a standalone Windows installer (.exe) for
|
that allows you to build a standalone Windows installer (.exe) for
|
||||||
the GUI wallet that comes with the Beryllium Bullet release of Monero.
|
the GUI wallet that comes with the Lithium Luna release of Monero.
|
||||||
|
|
||||||
This turns the GUI wallet into a more or less standard Windows program,
|
This turns the GUI wallet into a more or less standard Windows program,
|
||||||
by default installed into a subdirectory of `C:\Program Files`, a
|
by default installed into a subdirectory of `C:\Program Files`, a
|
||||||
@@ -18,10 +18,10 @@ Monero.
|
|||||||
As the setup script in file [Monero.iss](Monero.iss) has to list every
|
As the setup script in file [Monero.iss](Monero.iss) has to list every
|
||||||
single file of the GUI wallet package to install by name,
|
single file of the GUI wallet package to install by name,
|
||||||
this version of the script only works with exactly the GUI wallet
|
this version of the script only works with exactly the GUI wallet
|
||||||
for Monero release *Beryllium Bullet* that you find on
|
for Monero release *Lithium Luna* that you find on
|
||||||
[the official download page](https://getmonero.org/downloads/).
|
[the official download page](https://getmonero.org/downloads/).
|
||||||
|
|
||||||
It should however be easy to modify the script for future
|
But of course it will be easy to modify the script for future
|
||||||
versions of the GUI wallet.
|
versions of the GUI wallet.
|
||||||
|
|
||||||
## License ##
|
## License ##
|
||||||
@@ -32,13 +32,13 @@ See [LICENSE](LICENSE).
|
|||||||
|
|
||||||
You can only build on Windows, and the result is always a
|
You can only build on Windows, and the result is always a
|
||||||
Windows .exe file that can act as a standalone installer for the
|
Windows .exe file that can act as a standalone installer for the
|
||||||
Beryllium Bullet GUI wallet.
|
Lithium Luna GUI wallet.
|
||||||
|
|
||||||
The build steps in detail:
|
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-gui GitHub repository](https://github.com/monero-project/monero-gui); you will only need the files in the installer directory `installers\windows` however. Depending on development state, additionally you may have to checkout a specific branch, like `release-v0.13`.
|
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 single subdirectory there (currently named `monero-gui-0.13.0.4`) 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
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Monero Beryllium Bullet GUI Wallet</title>
|
<title>Monero Lithium Luna GUI Wallet</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body style="font-family: Arial, Helvetica, sans-serif">
|
<body style="font-family: Arial, Helvetica, sans-serif">
|
||||||
<h1>Monero Beryllium Bullet 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: November 2, 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 Beryllium Bullet, version 0.13.0.4.
|
<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 70 GB in October 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>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 440 KiB |
27
js/Utils.js
@@ -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();
|
|
||||||
}
|
}
|
||||||
@@ -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
|
After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
BIN
lang/flags/brazil.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 6.7 KiB |
BIN
lang/flags/china.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
BIN
lang/flags/croatia.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
BIN
lang/flags/czech.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/denmark.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
BIN
lang/flags/egypt.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
lang/flags/finland.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
lang/flags/france.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
lang/flags/german.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
BIN
lang/flags/india.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
lang/flags/indonesia.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
lang/flags/israel.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/italy.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
lang/flags/japan.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/netherlands.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/palestine.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/poland.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
lang/flags/portugal.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
lang/flags/romania.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
lang/flags/rpa.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
lang/flags/russia.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
BIN
lang/flags/slovakia.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
lang/flags/slovenia.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
lang/flags/south_korea.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
lang/flags/spain.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
lang/flags/srbija.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
lang/flags/sweden.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |