mirror of
https://github.com/monero-project/monero-gui.git
synced 2026-04-08 14:07:26 -04:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08e2eafb7c | ||
|
|
c27bb53d7c | ||
|
|
6f9769607a | ||
|
|
551ab27b09 | ||
|
|
c57bdfaeaf | ||
|
|
af92ca67d7 | ||
|
|
6889ab5ac1 | ||
|
|
eddafbbdcc | ||
|
|
8d110ec790 | ||
|
|
a49cd13a83 | ||
|
|
50d479f7a6 | ||
|
|
94477c5480 | ||
|
|
ff1e50745d | ||
|
|
8118355f39 | ||
|
|
1d686adcb9 | ||
|
|
f8aa11bc41 | ||
|
|
923f77a2db | ||
|
|
45a2b1d2a7 | ||
|
|
7a3ea3a93c | ||
|
|
1878338a44 | ||
|
|
a64ae977cc | ||
|
|
f0b1b8cd08 | ||
|
|
674f69f131 | ||
|
|
5d5ac6a371 | ||
|
|
0c3e2301ed | ||
|
|
ca3dafc5f0 |
@@ -5,7 +5,7 @@ message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
|
|||||||
|
|
||||||
set(VERSION_MAJOR "18")
|
set(VERSION_MAJOR "18")
|
||||||
set(VERSION_MINOR "3")
|
set(VERSION_MINOR "3")
|
||||||
set(VERSION_REVISION "2")
|
set(VERSION_REVISION "4")
|
||||||
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
||||||
|
|
||||||
option(STATIC "Link libraries statically, requires static Qt")
|
option(STATIC "Link libraries statically, requires static Qt")
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Use macOS 10.12 - 10.13 for better backwards compability.
|
Use macOS 10.12 - 10.13 for better backwards compability.
|
||||||
|
|
||||||
1. `HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" brew install boost zmq libpgm miniupnpc libsodium expat libunwind-headers protobuf libgcrypt hidapi`
|
1. `HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" brew install boost zmq libpgm miniupnpc libsodium expat libunwind-headers protobuf@21 libgcrypt hidapi libusb cmake pkg-config && brew link protobuf@21`
|
||||||
|
|
||||||
2. Get the latest LTS from here: https://www.qt.io/offline-installers and install
|
2. Get the latest LTS from here: https://www.qt.io/offline-installers and install
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ Use macOS 10.12 - 10.13 for better backwards compability.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=~/Qt5.12.8/5.12.8/clang_64 ..
|
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=/path/to/Qt5.12.8/5.12.8/clang_64 ..
|
||||||
make
|
make
|
||||||
make deploy
|
make deploy
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.12-lts-lgpl
|
ARG QT_VERSION=v5.15.14-lts-lgpl
|
||||||
|
|
||||||
ENV CFLAGS="-fPIC"
|
ENV CFLAGS="-fPIC"
|
||||||
ENV CPPFLAGS="-fPIC"
|
ENV CPPFLAGS="-fPIC"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.12-lts-lgpl
|
ARG QT_VERSION=v5.15.14-lts-lgpl
|
||||||
ENV SOURCE_DATE_EPOCH=1397818193
|
ENV SOURCE_DATE_EPOCH=1397818193
|
||||||
|
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
|
|||||||
@@ -60,9 +60,7 @@ The Bitcoin donation address is: `1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H`
|
|||||||
GUI development funding and/or some supporting services are also graciously provided by [sponsors](https://www.getmonero.org/community/sponsorships/):
|
GUI development funding and/or some supporting services are also graciously provided by [sponsors](https://www.getmonero.org/community/sponsorships/):
|
||||||
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/tarilabs.png"/>](https://tarilabs.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/tarilabs.png"/>](https://tarilabs.com/)
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/globee.png"/>](https://globee.com/)
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/symas.png"/>](https://symas.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/symas.png"/>](https://symas.com/)
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/forked_logo.png"/>](http://www.forked.net/)
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/macstadium.png"/>](https://www.macstadium.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/macstadium.png"/>](https://www.macstadium.com/)
|
||||||
|
|
||||||
There are also several mining pools that kindly donate a portion of their fees, [a list of them can be found on our Bitcointalk post](https://bitcointalk.org/index.php?topic=583449.0).
|
There are also several mining pools that kindly donate a portion of their fees, [a list of them can be found on our Bitcointalk post](https://bitcointalk.org/index.php?topic=583449.0).
|
||||||
@@ -107,7 +105,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.18.3.2`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.3.4`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
@@ -130,7 +128,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.18.3.2`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.3.4`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
|
|||||||
BIN
images/trezor5.png
Normal file
BIN
images/trezor5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 305 KiB |
@@ -70,7 +70,7 @@ function checkSignature(signature) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isValidOpenAliasAddress(address) {
|
function isValidOpenAliasAddress(address) {
|
||||||
var regex = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/; // Basic domain structure
|
var regex = /^[A-Za-z0-9-@]+(\.[A-Za-z0-9-]+)+$/; // Basic domain structure, allow email-like address
|
||||||
|
|
||||||
if (!regex.test(address)) {
|
if (!regex.test(address)) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ function getApproximateBlockchainHeight(_date, _nettype){
|
|||||||
|
|
||||||
if(_nettype == "Testnet" || _nettype == "Stagenet"){
|
if(_nettype == "Testnet" || _nettype == "Stagenet"){
|
||||||
// testnet got some huge rollbacks, so the estimation is way off
|
// testnet got some huge rollbacks, so the estimation is way off
|
||||||
var approximateTestnetRolledBackBlocks = _nettype == "Testnet" ? 342100 : 30000;
|
var approximateTestnetRolledBackBlocks = _nettype == "Testnet" ? 342100 : _nettype == "Stagenet" ? 60000 : 30000;
|
||||||
if(approxBlockchainHeight > approximateTestnetRolledBackBlocks)
|
if(approxBlockchainHeight > approximateTestnetRolledBackBlocks)
|
||||||
approxBlockchainHeight -= approximateTestnetRolledBackBlocks
|
approxBlockchainHeight -= approximateTestnetRolledBackBlocks
|
||||||
}
|
}
|
||||||
|
|||||||
2
monero
2
monero
Submodule monero updated: ef3e18b51b...b089f9ee69
1
qml.qrc
1
qml.qrc
@@ -283,6 +283,7 @@
|
|||||||
<file>images/ledgerNanoX.png</file>
|
<file>images/ledgerNanoX.png</file>
|
||||||
<file>images/ledgerStax.png</file>
|
<file>images/ledgerStax.png</file>
|
||||||
<file>images/trezor3.png</file>
|
<file>images/trezor3.png</file>
|
||||||
|
<file>images/trezor5.png</file>
|
||||||
<file>images/trezorT.png</file>
|
<file>images/trezorT.png</file>
|
||||||
<file>images/trezorT@2x.png</file>
|
<file>images/trezorT@2x.png</file>
|
||||||
<file>qtquickcontrols2.conf</file>
|
<file>qtquickcontrols2.conf</file>
|
||||||
|
|||||||
@@ -70,9 +70,6 @@ namespace
|
|||||||
|
|
||||||
QPixmap screenshot()
|
QPixmap screenshot()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
return MacOSHelper::screenshot();
|
|
||||||
#else
|
|
||||||
std::unordered_set<QWindow *> hidden;
|
std::unordered_set<QWindow *> hidden;
|
||||||
const QWindowList windows = QGuiApplication::allWindows();
|
const QWindowList windows = QGuiApplication::allWindows();
|
||||||
for (QWindow *window : windows)
|
for (QWindow *window : windows)
|
||||||
@@ -91,7 +88,6 @@ QPixmap screenshot()
|
|||||||
});
|
});
|
||||||
|
|
||||||
return QGuiApplication::primaryScreen()->grabWindow(0);
|
return QGuiApplication::primaryScreen()->grabWindow(0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -53,21 +53,21 @@ void P2PoolManager::download() {
|
|||||||
QString fileName;
|
QString fileName;
|
||||||
QString validHash;
|
QString validHash;
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-windows-x64.zip";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.1/p2pool-v4.1-windows-x64.zip";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-windows-x64.zip";
|
fileName = m_p2poolPath + "/p2pool-v4.1-windows-x64.zip";
|
||||||
validHash = "2b5a37576ac6e73a6f26a0112d9a51360babef765199fbe06a6bfc513ed45581";
|
validHash = "a2a6327e2442282fe344d69a5e61ddb6bf66950bffd32c5a99b9cecc62d3a7d6";
|
||||||
#elif defined(Q_OS_LINUX)
|
#elif defined(Q_OS_LINUX)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-linux-x64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.1/p2pool-v4.1-linux-x64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-linux-x64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.1-linux-x64.tar.gz";
|
||||||
validHash = "441969c999e860231b2e48651747866754bad17292331fb22c5340c8a250168a";
|
validHash = "9d62adcb8426932ff51dae0eb02551b1b88996aa25804a470dc127bef30b4c07";
|
||||||
#elif defined(Q_OS_MACOS_AARCH64)
|
#elif defined(Q_OS_MACOS_AARCH64)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-macos-aarch64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.1/p2pool-v4.1-macos-aarch64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-macos-aarch64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.1-macos-aarch64.tar.gz";
|
||||||
validHash = "f8ff6de7b2ac38f0d3ac23e30cc8827d5a1b83c4190f4e79e8db695acc742a68";
|
validHash = "3cce06835e50395c986511019c7dabd93855de78c787d518f22e6c6572b44d2e";
|
||||||
#elif defined(Q_OS_MACOS)
|
#elif defined(Q_OS_MACOS)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-macos-x64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.1/p2pool-v4.1-macos-x64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-macos-x64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.1-macos-x64.tar.gz";
|
||||||
validHash = "9b20656556fe4bfe3df1df9a6f2c7c8bc9aa0dd2c4ac66ebca2c8580581ff9f6";
|
validHash = "e87dfda26388774688da8336a00df3f4befcb98c3ee4b26d496ff05179cce5e7";
|
||||||
#endif
|
#endif
|
||||||
QFile file(fileName);
|
QFile file(fileName);
|
||||||
epee::net_utils::http::http_simple_client http_client;
|
epee::net_utils::http::http_simple_client http_client;
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ class MacOSHelper
|
|||||||
public:
|
public:
|
||||||
static bool isCapsLock();
|
static bool isCapsLock();
|
||||||
static bool openFolderAndSelectItem(const QUrl &path);
|
static bool openFolderAndSelectItem(const QUrl &path);
|
||||||
static QPixmap screenshot();
|
|
||||||
static QString bundlePath();
|
static QString bundlePath();
|
||||||
static void disableWindowTabbing();
|
static void disableWindowTabbing();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -68,41 +68,6 @@ bool MacOSHelper::openFolderAndSelectItem(const QUrl &path)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap MacOSHelper::screenshot()
|
|
||||||
{
|
|
||||||
std::unordered_set<uintptr_t> appWindowIds;
|
|
||||||
for (NSWindow *window in [NSApp windows])
|
|
||||||
{
|
|
||||||
appWindowIds.insert((uintptr_t)[window windowNumber]);
|
|
||||||
}
|
|
||||||
|
|
||||||
CFArrayRef onScreenWindows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
|
|
||||||
const auto onScreenWindowsClenaup = sg::make_scope_guard([&onScreenWindows]() {
|
|
||||||
CFRelease(onScreenWindows);
|
|
||||||
});
|
|
||||||
|
|
||||||
CFMutableArrayRef foreignWindows = CFArrayCreateMutable(NULL, CFArrayGetCount(onScreenWindows), NULL);
|
|
||||||
const auto foreignWindowsClenaup = sg::make_scope_guard([&foreignWindows]() {
|
|
||||||
CFRelease(foreignWindows);
|
|
||||||
});
|
|
||||||
|
|
||||||
for (CFIndex index = 0, count = CFArrayGetCount(onScreenWindows); index < count; ++index)
|
|
||||||
{
|
|
||||||
const uintptr_t windowId = reinterpret_cast<const uintptr_t>(CFArrayGetValueAtIndex(onScreenWindows, index));
|
|
||||||
if (appWindowIds.find(windowId) == appWindowIds.end())
|
|
||||||
{
|
|
||||||
CFArrayAppendValue(foreignWindows, reinterpret_cast<const void *>(windowId));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CGImageRef image = CGWindowListCreateImageFromArray(CGRectInfinite, foreignWindows, kCGWindowListOptionAll);
|
|
||||||
const auto imageClenaup = sg::make_scope_guard([&image]() {
|
|
||||||
CFRelease(image);
|
|
||||||
});
|
|
||||||
|
|
||||||
return QtMac::fromCGImageRef(image);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString MacOSHelper::bundlePath()
|
QString MacOSHelper::bundlePath()
|
||||||
{
|
{
|
||||||
NSBundle *main = [NSBundle mainBundle];
|
NSBundle *main = [NSBundle mainBundle];
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ QString xdgMime(){
|
|||||||
"X-GNOME-FullName=Monero-GUI\n"
|
"X-GNOME-FullName=Monero-GUI\n"
|
||||||
"Comment=Monero GUI\n"
|
"Comment=Monero GUI\n"
|
||||||
"Keywords=Monero;\n"
|
"Keywords=Monero;\n"
|
||||||
"Exec=%1 %u\n"
|
"Exec=\"%1\" %u\n"
|
||||||
"Terminal=false\n"
|
"Terminal=false\n"
|
||||||
"Type=Application\n"
|
"Type=Application\n"
|
||||||
"Icon=monero\n"
|
"Icon=monero\n"
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ Rectangle {
|
|||||||
ListElement { column1: "Ledger Stax"; column2: "Ledger";}
|
ListElement { column1: "Ledger Stax"; column2: "Ledger";}
|
||||||
ListElement { column1: "Trezor Model T"; column2: "Trezor";}
|
ListElement { column1: "Trezor Model T"; column2: "Trezor";}
|
||||||
ListElement { column1: "Trezor Safe 3"; column2: "Trezor";}
|
ListElement { column1: "Trezor Safe 3"; column2: "Trezor";}
|
||||||
|
ListElement { column1: "Trezor Safe 5"; column2: "Trezor";}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
@@ -169,6 +170,8 @@ Rectangle {
|
|||||||
return "qrc:///images/trezorT.png";
|
return "qrc:///images/trezorT.png";
|
||||||
} else if (trezorType == "Trezor Safe 3") {
|
} else if (trezorType == "Trezor Safe 3") {
|
||||||
return "qrc:///images/trezor3.png";
|
return "qrc:///images/trezor3.png";
|
||||||
|
} else if (trezorType == "Trezor Safe 5") {
|
||||||
|
return "qrc:///images/trezor5.png";
|
||||||
}
|
}
|
||||||
} else if (hardwareWalletType == "Ledger") {
|
} else if (hardwareWalletType == "Ledger") {
|
||||||
if (ledgerType == "Ledger Nano S") {
|
if (ledgerType == "Ledger Nano S") {
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ Rectangle {
|
|||||||
imageIcon: "qrc:///images/local-node-full.png"
|
imageIcon: "qrc:///images/local-node-full.png"
|
||||||
|
|
||||||
onMenuClicked: {
|
onMenuClicked: {
|
||||||
appWindow.persistentSettings.pruneBlockchain = false; // can be toggled on next page
|
appWindow.persistentSettings.pruneBlockchain = true;
|
||||||
applyWalletMode(2, 'wizardHome');
|
applyWalletMode(2, 'wizardHome');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user