Compare commits

..

8 Commits

Author SHA1 Message Date
luigi1111
6ec45a819b Merge pull request #2296
22b22c2 build: set submodule to v0.14.1.2 (selsta)
2019-07-22 13:15:15 -05:00
luigi1111
ad8c3a153f Merge pull request #2295
ba33649 Fix segfault on Tails (tobtoht)
2019-07-22 13:12:49 -05:00
selsta
22b22c22ea build: set submodule to v0.14.1.2 2019-07-18 15:41:45 +02:00
luigi1111
300a5afc21 Merge master -> release-v0.14.1 2019-07-17 16:00:43 -05:00
luigi1111
758dd1df96 Merge pull request #2288
d83b400 build: set submodule to v0.14.1.1 (selsta)
2019-07-16 11:39:56 -05:00
selsta
d83b400931 build: set submodule to v0.14.1.1 2019-07-16 14:30:07 +02:00
luigi1111
a77a5909cf Merge pull request #2215 (again)
bf785bb build: checkout v0.14.1.0 tag (selsta)
2019-06-25 14:33:46 -05:00
selsta
bf785bb388 build: checkout v0.14.1.0 tag 2019-06-14 16:15:36 +02:00
19 changed files with 62 additions and 42 deletions

View File

@@ -114,12 +114,13 @@ Rectangle {
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: (persistentSettings.customDecorations)? 50 : 0 anchors.topMargin: (persistentSettings.customDecorations)? 50 : 0
Item { RowLayout {
Item { Item {
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 20 anchors.topMargin: 20
anchors.leftMargin: 20 anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
height: 490 height: 490
width: 260 width: 260
@@ -229,6 +230,7 @@ Rectangle {
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: 20 anchors.topMargin: 20
anchors.leftMargin: 20 anchors.leftMargin: 20
anchors.verticalCenter: parent.verticalCenter
height: 490 height: 490
width: 50 width: 50

View File

@@ -209,13 +209,13 @@ Rectangle {
clip: true clip: true
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
parent: root parent: mainFlickable.parent
anchors.left: parent.right anchors.left: parent.right
anchors.leftMargin: -14 // 10 margin + 4 scrollbar width anchors.leftMargin: 3
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: persistentSettings.customDecorations ? 60 : 10 anchors.topMargin: 4
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.bottomMargin: persistentSettings.customDecorations ? 15 : 10 anchors.bottomMargin: persistentSettings.customDecorations ? 4 : 0
} }
onFlickingChanged: { onFlickingChanged: {

View File

@@ -165,8 +165,9 @@ The executable can be found in the build/release/bin folder.
5. Add the Qt bin directory to your path 5. Add the Qt bin directory to your path
- Example for Qt: `export PATH=$PATH:$HOME/Qt/5.9.7/clang_64/bin` Example: `export PATH=$PATH:$HOME/Qt/5.9.7/clang_64/bin`
- Example for Homebrew: `export PATH=$PATH:/usr/local/opt/qt/bin`
This is the directory where Qt 5.x is installed on **your** system
6. Grab an up-to-date copy of the monero-gui repository 6. Grab an up-to-date copy of the monero-gui repository

View File

@@ -34,6 +34,8 @@ import "../components/effects/" as MoneroEffects
Label { Label {
id: item id: item
fontSize: 18 fontSize: 18
anchors.left: parent.left
anchors.right: parent.right
Rectangle { Rectangle {
anchors.top: item.bottom anchors.top: item.bottom

View File

@@ -390,7 +390,7 @@ Item {
MoneroComponents.StandardButton { MoneroComponents.StandardButton {
id: cancelButton id: cancelButton
small: true small: true
text: qsTr("Cancel") + translationManager.emptyString text: root.walletName.length > 0 ? qsTr("Change wallet") + translationManager.emptyString : qsTr("Cancel") + translationManager.emptyString
KeyNavigation.tab: passwordInput1 KeyNavigation.tab: passwordInput1
onClicked: { onClicked: {
root.close() root.close()
@@ -407,7 +407,7 @@ Item {
MoneroComponents.StandardButton { MoneroComponents.StandardButton {
id: okButton id: okButton
small: true small: true
text: qsTr("Ok") + translationManager.emptyString text: qsTr("Continue") + translationManager.emptyString
KeyNavigation.tab: cancelButton KeyNavigation.tab: cancelButton
enabled: (passwordDialogMode == true) ? true : passwordInput1.text === passwordInput2.text enabled: (passwordDialogMode == true) ? true : passwordInput1.text === passwordInput2.text
onClicked: { onClicked: {

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.14.1.2 AppVersion=0.14.1.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

View File

@@ -34,13 +34,11 @@ 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
Boron Butterfly GUI wallet. Boron Butterfly GUI wallet.
Note that the installer build process is now reproducible / deterministic. For details check the file [Deterministic.md](Deterministic.md).
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.14`. 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.14`.
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.14.1.2`) 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 single subdirectory there (currently named `monero-gui-0.14.1.0`) 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 Boron Butterfly GUI Wallet</h1> <h1>Monero Boron Butterfly GUI Wallet</h1>
<p>Copyright (c) 2014-2019, The Monero Project<br> <p>Copyright (c) 2014-2019, The Monero Project<br>
Date: July 20, 2019</p> Date: May 7, 2019</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 Boron Butterfly, version 0.14.1.2. <p>You just installed the <i>Monero GUI wallet</i> for Windows, release Boron Butterfly, version 0.14.1.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 (somewhat over 70 GB in July 2019, and of course growing), you can compromise and try to connect the blockchain locally (somewhat over 70 GB in May 2019, 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>

View File

@@ -0,0 +1 @@
-----

View File

@@ -101,7 +101,8 @@ Rectangle {
id: balanceAll id: balanceAll
font.family: MoneroComponents.Style.fontMonoRegular.name; font.family: MoneroComponents.Style.fontMonoRegular.name;
font.pixelSize: 16 font.pixelSize: 16
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.dimmedFontColor
themeTransition: false
MouseArea { MouseArea {
hoverEnabled: true hoverEnabled: true
@@ -134,7 +135,8 @@ Rectangle {
id: unlockedBalanceAll id: unlockedBalanceAll
font.family: MoneroComponents.Style.fontMonoRegular.name; font.family: MoneroComponents.Style.fontMonoRegular.name;
font.pixelSize: 16 font.pixelSize: 16
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.dimmedFontColor
themeTransition: false
MouseArea { MouseArea {
hoverEnabled: true hoverEnabled: true
@@ -175,7 +177,7 @@ Rectangle {
ListView { ListView {
id: subaddressAccountListView id: subaddressAccountListView
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true anchors.fill: parent
clip: true clip: true
boundsBehavior: ListView.StopAtBounds boundsBehavior: ListView.StopAtBounds
interactive: false interactive: false
@@ -363,7 +365,6 @@ Rectangle {
appWindow.currentWallet.subaddressAccount.addRow(inputDialog.inputText) appWindow.currentWallet.subaddressAccount.addRow(inputDialog.inputText)
appWindow.currentWallet.switchSubaddressAccount(appWindow.currentWallet.numSubaddressAccounts() - 1) appWindow.currentWallet.switchSubaddressAccount(appWindow.currentWallet.numSubaddressAccounts() - 1)
current_subaddress_account_table_index = appWindow.currentWallet.numSubaddressAccounts() - 1 current_subaddress_account_table_index = appWindow.currentWallet.numSubaddressAccounts() - 1
subaddressAccountListView.currentIndex = current_subaddress_account_table_index
appWindow.onWalletUpdate(); appWindow.onWalletUpdate();
} }
inputDialog.onRejectedCallback = null; inputDialog.onRejectedCallback = null;

View File

@@ -145,7 +145,7 @@ Rectangle {
ListView { ListView {
id: addressBookListView id: addressBookListView
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true anchors.fill: parent
clip: true clip: true
boundsBehavior: ListView.StopAtBounds boundsBehavior: ListView.StopAtBounds
interactive: false interactive: false

View File

@@ -251,6 +251,7 @@ Rectangle {
font.pixelSize: 15 font.pixelSize: 15
text: qsTr("Blockheight") + translationManager.emptyString text: qsTr("Blockheight") + translationManager.emptyString
color: root.sortBy === "blockheight" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor color: root.sortBy === "blockheight" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
anchors.verticalCenter: parent.verticalCenter
themeTransition: false themeTransition: false
} }
@@ -311,6 +312,7 @@ Rectangle {
text: qsTr("Date") + translationManager.emptyString text: qsTr("Date") + translationManager.emptyString
color: root.sortBy === "timestamp" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor color: root.sortBy === "timestamp" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
themeTransition: false themeTransition: false
anchors.verticalCenter: parent.verticalCenter
} }
MoneroEffects.ImageMask { MoneroEffects.ImageMask {
@@ -370,6 +372,7 @@ Rectangle {
text: qsTr("Amount") + translationManager.emptyString text: qsTr("Amount") + translationManager.emptyString
color: root.sortBy === "amount" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor color: root.sortBy === "amount" ? MoneroComponents.Style.defaultFontColor : MoneroComponents.Style.dimmedFontColor
themeTransition: false themeTransition: false
anchors.verticalCenter: parent.verticalCenter
} }
MoneroEffects.ImageMask { MoneroEffects.ImageMask {

View File

@@ -101,7 +101,7 @@ Rectangle {
ListView { ListView {
id: subaddressListView id: subaddressListView
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true anchors.fill: parent
clip: true clip: true
boundsBehavior: ListView.StopAtBounds boundsBehavior: ListView.StopAtBounds
interactive: false interactive: false
@@ -256,7 +256,6 @@ Rectangle {
inputDialog.onAcceptedCallback = function() { inputDialog.onAcceptedCallback = function() {
appWindow.currentWallet.subaddress.addRow(appWindow.currentWallet.currentSubaddressAccount, inputDialog.inputText) appWindow.currentWallet.subaddress.addRow(appWindow.currentWallet.currentSubaddressAccount, inputDialog.inputText)
current_subaddress_table_index = appWindow.currentWallet.numSubaddresses(appWindow.currentWallet.currentSubaddressAccount) - 1 current_subaddress_table_index = appWindow.currentWallet.numSubaddresses(appWindow.currentWallet.currentSubaddressAccount) - 1
subaddressListView.currentIndex = current_subaddress_table_index
} }
inputDialog.onRejectedCallback = null; inputDialog.onRejectedCallback = null;
inputDialog.open() inputDialog.open()

View File

@@ -93,8 +93,9 @@ Item {
anchors.right: parent.right anchors.right: parent.right
Item { Item {
Layout.preferredHeight: 220 height: 220
Layout.fillWidth: true anchors.left: parent.left
anchors.right: parent.right
Rectangle { Rectangle {
id: tracker id: tracker
@@ -257,7 +258,8 @@ Item {
Item { Item {
Layout.preferredHeight: 40 Layout.preferredHeight: 40
Layout.fillWidth: true anchors.left: parent.left
anchors.right: parent.right
Item { Item {
width: (parent.width - qrImg.width) - (50) width: (parent.width - qrImg.width) - (50)
@@ -522,7 +524,8 @@ Item {
Item { Item {
Layout.topMargin: 32 Layout.topMargin: 32
Layout.preferredHeight: 40 Layout.preferredHeight: 40
Layout.fillWidth: true anchors.left: parent.left
anchors.right: parent.right
ColumnLayout { ColumnLayout {
spacing: 16 spacing: 16
@@ -627,7 +630,7 @@ Item {
in_txpool = true; in_txpool = true;
} else { } else {
if (blockchainHeight == null) if (blockchainHeight == null)
blockchainHeight = walletManager.blockchainHeight() blockchainHeight = appWindow.currentWallet.blockChainHeight()
confirmations = blockchainHeight - blockHeight - 1 confirmations = blockchainHeight - blockHeight - 1
displayAmount = model.data(idx, TransactionHistoryModel.TransactionDisplayAmountRole); displayAmount = model.data(idx, TransactionHistoryModel.TransactionDisplayAmountRole);
} }

View File

@@ -53,7 +53,7 @@ void Prices::getJSON(const QString url) {
void Prices::gotJSON() { void Prices::gotJSON() {
// Check connectivity // Check connectivity
if (!m_reply || m_reply->error() != QNetworkReply::NoError){ if (!m_reply || m_reply->error() != QNetworkReply::NoError){
this->gotError("Problem with reply from server. Check connectivity."); this->gotError();
m_reply->deleteLater(); m_reply->deleteLater();
return; return;
} }
@@ -105,6 +105,6 @@ void Prices::gotError() {
} }
void Prices::gotError(const QString &message) { void Prices::gotError(const QString &message) {
qCritical() << "[Fiat API] Error:" << message; qCritical() << __FUNCTION__ << ": Error: " << message;
emit priceJsonError(message); emit priceJsonError(message);
} }

View File

@@ -83,7 +83,7 @@ ColumnLayout {
WizardHeader{ WizardHeader{
title: qsTr("Give your wallet a password") + translationManager.emptyString title: qsTr("Give your wallet a password") + translationManager.emptyString
subtitle: qsTr("This password cannot be recovered. If you forget it then the wallet will have to be restored from your %1.").arg(!wizardController.walletOptionsIsRecoveringFromDevice ? qsTr("25 word mnemonic seed") : qsTr("hardware wallet"))+ translationManager.emptyString subtitle: qsTr("This password cannot be recovered. If you forget it then the wallet will have to be restored from its 25 word mnemonic seed.") + translationManager.emptyString
} }
MoneroComponents.WarningBox { MoneroComponents.WarningBox {
@@ -97,12 +97,23 @@ ColumnLayout {
TextInput { TextInput {
id: progressText id: progressText
Layout.topMargin: 6 anchors.top: parent.top
Layout.bottomMargin: 6 anchors.topMargin: 6
font.family: MoneroComponents.Style.fontMedium.name font.family: MoneroComponents.Style.fontMedium.name
font.pixelSize: 14 font.pixelSize: 14
font.bold: false font.bold: false
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.defaultFontColor
text: root.passwordStrengthText + '-'
height: 18
passwordCharacter: "*"
}
TextInput {
id: progressTextValue
font.family: MoneroComponents.Style.fontMedium.name
font.pixelSize: 13
font.bold: true
color: MoneroComponents.Style.defaultFontColor
height: 18 height: 18
passwordCharacter: "*" passwordCharacter: "*"
} }

View File

@@ -273,13 +273,12 @@ Rectangle {
clip: true clip: true
ScrollBar.vertical: ScrollBar { ScrollBar.vertical: ScrollBar {
parent: wizardController parent: wizardFlickable.parent
anchors.left: parent.right anchors.left: parent.right
anchors.leftMargin: -14 // 10 margin + 4 scrollbar width anchors.leftMargin: 3
anchors.top: parent.top anchors.top: parent.top
anchors.topMargin: persistentSettings.customDecorations ? 60 : 10 anchors.topMargin: 4
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.bottomMargin: persistentSettings.customDecorations ? 15 : 10
} }
onFlickingChanged: { onFlickingChanged: {

View File

@@ -69,7 +69,7 @@ ColumnLayout {
TextArea { TextArea {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignCenter anchors.horizontalCenter: parent.horizontalCenter
visible: parent.subtitle !== "" visible: parent.subtitle !== ""
color: MoneroComponents.Style.dimmedFontColor color: MoneroComponents.Style.dimmedFontColor

View File

@@ -60,7 +60,7 @@ Rectangle {
id: textWelcome id: textWelcome
opacity: 0 opacity: 0
Layout.preferredWidth: parent.width / 1.3 Layout.preferredWidth: parent.width / 1.3
Layout.alignment: Qt.AlignCenter anchors.horizontalCenter: parent.horizontalCenter
color: MoneroComponents.Style.defaultFontColor color: MoneroComponents.Style.defaultFontColor
text: "Welcome - Wilkommen - Bonvenon - Bienvenido - Bienvenue - Välkommen - Selamat datang - Benvenuto - 歡迎 - Welkom - Bem Vindo - добро пожаловать" text: "Welcome - Wilkommen - Bonvenon - Bienvenido - Bienvenue - Välkommen - Selamat datang - Benvenuto - 歡迎 - Welkom - Bem Vindo - добро пожаловать"
@@ -97,7 +97,7 @@ Rectangle {
} }
Layout.preferredWidth: size Layout.preferredWidth: size
Layout.preferredHeight: size Layout.preferredHeight: size
Layout.alignment: Qt.AlignCenter anchors.horizontalCenter: parent.horizontalCenter
mipmap: true mipmap: true
property bool animSlow: false property bool animSlow: false
@@ -149,7 +149,7 @@ Rectangle {
id: buttonsGrid id: buttonsGrid
opacity: 0 opacity: 0
columns: isMobile ? 1 : 2 columns: isMobile ? 1 : 2
Layout.alignment: Qt.AlignCenter anchors.horizontalCenter: parent.horizontalCenter
Layout.topMargin: 20 Layout.topMargin: 20
Layout.fillWidth: true Layout.fillWidth: true
columnSpacing: 20 columnSpacing: 20
@@ -190,7 +190,7 @@ Rectangle {
MoneroComponents.TextPlain { MoneroComponents.TextPlain {
id: versionText id: versionText
opacity: 0 opacity: 0
Layout.alignment: Qt.AlignCenter anchors.horizontalCenter: parent.horizontalCenter
font.bold: true font.bold: true
font.pixelSize: 12 font.pixelSize: 12
font.family: MoneroComponents.Style.fontRegular.name font.family: MoneroComponents.Style.fontRegular.name