aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt5
-rw-r--r--Dockerfile.linux4
-rw-r--r--LeftPanel.qml14
-rw-r--r--Makefile4
-rw-r--r--components/RemoteNodeList.qml2
-rw-r--r--main.qml3
-rw-r--r--pages/History.qml1
-rw-r--r--pages/settings/SettingsInfo.qml2
-rw-r--r--src/main/main.cpp6
-rw-r--r--wizard/WizardController.qml2
-rw-r--r--wizard/WizardCreateDevice1.qml7
-rw-r--r--wizard/WizardCreateWallet1.qml7
-rw-r--r--wizard/WizardCreateWallet4.qml4
-rw-r--r--wizard/WizardHome.qml18
-rw-r--r--wizard/WizardRestoreWallet3.qml5
-rw-r--r--wizard/WizardRestoreWallet4.qml4
-rw-r--r--wizard/WizardSummary.qml2
17 files changed, 65 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 320f814b..4452d80e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,7 @@ option(STATIC "Link libraries statically, requires static Qt")
option(USE_DEVICE_TREZOR "Trezor support compilation" ON)
option(WITH_SCANNER "Enable webcam QR scanner" OFF)
+option(WITH_DESKTOP_ENTRY "Ask to install desktop entry on first startup" ON)
option(DEV_MODE "Checkout latest monero master on build" OFF)
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
@@ -112,6 +113,10 @@ if(WITH_SCANNER)
add_definitions(-DWITH_SCANNER)
endif()
+if(WITH_DESKTOP_ENTRY)
+ add_definitions(-DWITH_DESKTOP_ENTRY)
+endif()
+
# Sodium
find_library(SODIUM_LIBRARY sodium)
message(STATUS "libsodium: libraries at ${SODIUM_LIBRARY}")
diff --git a/Dockerfile.linux b/Dockerfile.linux
index 5d7ece4f..ea92e273 100644
--- a/Dockerfile.linux
+++ b/Dockerfile.linux
@@ -242,9 +242,9 @@ RUN git clone -b v1.0.23 --depth 1 https://github.com/libusb/libusb && \
make -j$THREADS install && \
rm -rf $(pwd)
-RUN git clone -b hidapi-0.9.0 --depth 1 https://github.com/libusb/hidapi && \
+RUN git clone -b hidapi-0.11.0 --depth 1 https://github.com/libusb/hidapi && \
cd hidapi && \
- git reset --hard 7da5cc91fc0d2dbe4df4f08cd31f6ca1a262418f && \
+ git reset --hard 0ec60c03cbe87cdbfb9fb199c7536fdcbc0a94b8 && \
./bootstrap && \
./configure --disable-shared --enable-static && \
make -j$THREADS && \
diff --git a/LeftPanel.qml b/LeftPanel.qml
index 13c9b271..cf56c56b 100644
--- a/LeftPanel.qml
+++ b/LeftPanel.qml
@@ -360,7 +360,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Account") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "T" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "T" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
@@ -382,7 +382,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Send") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "S" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "S" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = transferButton
@@ -404,7 +404,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Address book") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "B" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "B" + translationManager.emptyString
under: transferButton
onClicked: {
parent.previousButton.checked = false
@@ -426,7 +426,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Receive") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "R" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "R" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = receiveButton
@@ -448,7 +448,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Transactions") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "H" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "H" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = historyButton
@@ -470,7 +470,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Advanced") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "D" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "D" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = advancedButton
@@ -491,7 +491,7 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Settings") + translationManager.emptyString
- symbol: (isMac ? "⌘" : qsTr("Ctrl+")) + "E" + translationManager.emptyString
+ symbol: (isMac ? "⌃" : qsTr("Ctrl+")) + "E" + translationManager.emptyString
onClicked: {
parent.previousButton.checked = false
parent.previousButton = settingsButton
diff --git a/Makefile b/Makefile
index 46a4c46d..42d218ff 100644
--- a/Makefile
+++ b/Makefile
@@ -48,9 +48,7 @@ release:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
release-linux-armv8:
- mkdir -p $(builddir)/release
- cd $(builddir)/release
- cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -D ARCH="armv8-a" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE)
+ mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -D ARCH="armv8-a" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE)
release-linux-ppc64le:
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="ppc64le" -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
diff --git a/components/RemoteNodeList.qml b/components/RemoteNodeList.qml
index d971f998..b46b414a 100644
--- a/components/RemoteNodeList.qml
+++ b/components/RemoteNodeList.qml
@@ -89,7 +89,7 @@ ColumnLayout {
anchors.fill: parent
anchors.rightMargin: 80
color: "transparent"
- property var trusted: remoteNodesModel.get(index).trusted
+ property var trusted: remoteNodesModel.get(index) ? remoteNodesModel.get(index).trusted : false
MoneroComponents.TextPlain {
id: addressText
diff --git a/main.qml b/main.qml
index 590d9034..57aff1b4 100644
--- a/main.qml
+++ b/main.qml
@@ -1354,7 +1354,8 @@ ApplicationWindow {
appWindow.fiatTimerStart();
}
- if (persistentSettings.askDesktopShortcut && !persistentSettings.portable) {
+ const desktopEntryEnabled = (typeof builtWithDesktopEntry != "undefined") && builtWithDesktopEntry;
+ if (persistentSettings.askDesktopShortcut && !persistentSettings.portable && desktopEntryEnabled) {
persistentSettings.askDesktopShortcut = false;
if (isTails) {
diff --git a/pages/History.qml b/pages/History.qml
index 45732c52..efdf5931 100644
--- a/pages/History.qml
+++ b/pages/History.qml
@@ -1013,6 +1013,7 @@ Rectangle {
MoneroComponents.StandardButton {
visible: isout
+ enabled: currentWallet ? !currentWallet.isHwBacked() : false
anchors.left: btnDetails.right
anchors.leftMargin: 10
text: FontAwesome.productHunt
diff --git a/pages/settings/SettingsInfo.qml b/pages/settings/SettingsInfo.qml
index d690a260..625b39ad 100644
--- a/pages/settings/SettingsInfo.qml
+++ b/pages/settings/SettingsInfo.qml
@@ -409,7 +409,7 @@ Rectangle {
small: true
text: qsTr("Donate to Monero") + translationManager.emptyString
onClicked: {
- middlePanel.sendTo("888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H", "", "Donation to Monero Core Team");
+ middlePanel.sendTo("888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H", "", qsTr("Donation to Monero Core Team") + translationManager.emptyString);
}
}
}
diff --git a/src/main/main.cpp b/src/main/main.cpp
index 165f9ae1..a6a77a5b 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -503,6 +503,12 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw
#endif
engine.rootContext()->setContextProperty("builtWithScanner", builtWithScanner);
+ bool builtWithDesktopEntry = false;
+#ifdef WITH_DESKTOP_ENTRY
+ builtWithDesktopEntry = true;
+#endif
+ engine.rootContext()->setContextProperty("builtWithDesktopEntry", builtWithDesktopEntry);
+
engine.rootContext()->setContextProperty("moneroVersion", MONERO_VERSION_FULL);
// Load main window (context properties needs to be defined obove this line)
diff --git a/wizard/WizardController.qml b/wizard/WizardController.qml
index 72a108ce..be4e5334 100644
--- a/wizard/WizardController.qml
+++ b/wizard/WizardController.qml
@@ -349,6 +349,8 @@ Rectangle {
const handler = function(success) {
if (!success) {
appWindow.showStatusMessage(qsTr("Failed to store the wallet"), 3);
+ wizardStateView.wizardRestoreWallet4View.wizardNav.btnNext.enabled = true;
+ wizardStateView.wizardCreateWallet4View.wizardNav.btnNext.enabled = true;
return;
}
diff --git a/wizard/WizardCreateDevice1.qml b/wizard/WizardCreateDevice1.qml
index 0bdc03ed..9c12c500 100644
--- a/wizard/WizardCreateDevice1.qml
+++ b/wizard/WizardCreateDevice1.qml
@@ -73,7 +73,12 @@ Rectangle {
spacing: 20
WizardHeader {
- title: qsTr("Create a new wallet") + translationManager.emptyString
+ title: {
+ var nettype = persistentSettings.nettype;
+ return qsTr("Create a new wallet") + (nettype === 2 ? " (" + qsTr("stagenet") + ")"
+ : nettype === 1 ? " (" + qsTr("testnet") + ")"
+ : "") + translationManager.emptyString
+ }
subtitle: qsTr("Using a hardware device.") + translationManager.emptyString
}
diff --git a/wizard/WizardCreateWallet1.qml b/wizard/WizardCreateWallet1.qml
index 088df200..109aa726 100644
--- a/wizard/WizardCreateWallet1.qml
+++ b/wizard/WizardCreateWallet1.qml
@@ -60,7 +60,12 @@ Rectangle {
spacing: 20
WizardHeader {
- title: qsTr("Create a new wallet") + translationManager.emptyString
+ title: {
+ var nettype = persistentSettings.nettype;
+ return qsTr("Create a new wallet") + (nettype === 2 ? " (" + qsTr("stagenet") + ")"
+ : nettype === 1 ? " (" + qsTr("testnet") + ")"
+ : "") + translationManager.emptyString
+ }
subtitle: qsTr("Creates a new wallet on this computer.") + translationManager.emptyString
}
diff --git a/wizard/WizardCreateWallet4.qml b/wizard/WizardCreateWallet4.qml
index 33c1e926..8a706bc3 100644
--- a/wizard/WizardCreateWallet4.qml
+++ b/wizard/WizardCreateWallet4.qml
@@ -38,6 +38,7 @@ Rectangle {
color: "transparent"
property alias pageHeight: pageRoot.height
+ property alias wizardNav: wizardNav
property string viewName: "wizardCreateWallet4"
ColumnLayout {
@@ -64,6 +65,7 @@ Rectangle {
WizardSummary {}
WizardNav {
+ id: wizardNav
Layout.topMargin: 24
btnNextText: qsTr("Create wallet") + translationManager.emptyString
progressSteps: appWindow.walletMode <= 1 ? 3 : 4
@@ -77,11 +79,13 @@ Rectangle {
}
}
onNextClicked: {
+ btnNext.enabled = false;
wizardController.wizardStateView.wizardCreateWallet2View.pwField = "";
wizardController.wizardStateView.wizardCreateWallet2View.pwConfirmField = "";
wizardController.writeWallet(function() {
wizardController.useMoneroClicked();
wizardController.walletOptionsIsRecoveringFromDevice = false;
+ btnNext.enabled = true;
});
}
}
diff --git a/wizard/WizardHome.qml b/wizard/WizardHome.qml
index 540216e8..35ba9239 100644
--- a/wizard/WizardHome.qml
+++ b/wizard/WizardHome.qml
@@ -73,7 +73,12 @@ Rectangle {
}
WizardMenuItem {
- headerText: qsTr("Create a new wallet") + translationManager.emptyString
+ headerText: {
+ var nettype = persistentSettings.nettype;
+ return qsTr("Create a new wallet") + (nettype === 2 ? " (" + qsTr("stagenet") + ")"
+ : nettype === 1 ? " (" + qsTr("testnet") + ")"
+ : "") + translationManager.emptyString
+ }
bodyText: qsTr("Choose this option if this is your first time using Monero.") + translationManager.emptyString
imageIcon: "qrc:///images/create-wallet.png"
@@ -94,7 +99,12 @@ Rectangle {
}
WizardMenuItem {
- headerText: qsTr("Create a new wallet from hardware") + translationManager.emptyString
+ headerText: {
+ var nettype = persistentSettings.nettype;
+ return qsTr("Create a new wallet from hardware") + (nettype === 2 ? " (" + qsTr("stagenet") + ")"
+ : nettype === 1 ? " (" + qsTr("testnet") + ")"
+ : "") + translationManager.emptyString
+ }
bodyText: qsTr("Connect your hardware wallet to create a new Monero wallet.") + translationManager.emptyString
imageIcon: "qrc:///images/restore-wallet-from-hardware.png"
@@ -202,6 +212,7 @@ Rectangle {
persistentSettings.nettype = NetworkType.TESTNET
}
appWindow.disconnectRemoteNode()
+ networkTypeDropdown.currentIndex = Qt.binding(function() { return persistentSettings.nettype });
}
}
@@ -241,5 +252,8 @@ Rectangle {
function onPageCompleted(){
wizardController.walletOptionsIsRecoveringFromDevice = false;
+ if (networkTypeDropdown.currentIndex != 0) {
+ showAdvancedCheckbox.checked = true;
+ }
}
}
diff --git a/wizard/WizardRestoreWallet3.qml b/wizard/WizardRestoreWallet3.qml
index 9fc98358..bf9019b7 100644
--- a/wizard/WizardRestoreWallet3.qml
+++ b/wizard/WizardRestoreWallet3.qml
@@ -42,11 +42,6 @@ Rectangle {
property string viewName: "wizardRestoreWallet3"
property int recoveryMode: 1
- function verify() {
- // @TODO: check if walletName already exists in walletLocation
- return walletName.text !== '';
- }
-
ColumnLayout {
id: pageRoot
Layout.alignment: Qt.AlignHCenter;
diff --git a/wizard/WizardRestoreWallet4.qml b/wizard/WizardRestoreWallet4.qml
index 091c143f..4d4c9fdb 100644
--- a/wizard/WizardRestoreWallet4.qml
+++ b/wizard/WizardRestoreWallet4.qml
@@ -38,6 +38,7 @@ Rectangle {
color: "transparent"
property alias pageHeight: pageRoot.height
+ property alias wizardNav: wizardNav
property string viewName: "wizardRestoreWallet4"
ColumnLayout {
@@ -64,6 +65,7 @@ Rectangle {
WizardSummary {}
WizardNav {
+ id: wizardNav
Layout.topMargin: 24
btnNextText: qsTr("Create wallet") + translationManager.emptyString
progressSteps: appWindow.walletMode <= 1 ? 3 : 4
@@ -77,11 +79,13 @@ Rectangle {
}
}
onNextClicked: {
+ btnNext.enabled = false;
wizardController.wizardStateView.wizardRestoreWallet2View.pwField = "";
wizardController.wizardStateView.wizardRestoreWallet2View.pwConfirmField = "";
wizardController.recoveryWallet();
wizardController.writeWallet(function() {
wizardController.useMoneroClicked();
+ btnNext.enabled = true;
});
}
}
diff --git a/wizard/WizardSummary.qml b/wizard/WizardSummary.qml
index f721c3c5..08caf753 100644
--- a/wizard/WizardSummary.qml
+++ b/wizard/WizardSummary.qml
@@ -53,7 +53,7 @@ ColumnLayout {
WizardSummaryItem {
Layout.fillWidth: true
- header: qsTr("Language") + translationManager.emptyString
+ header: qsTr("Mnemonic seed language") + translationManager.emptyString
value: persistentSettings.language
}