mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-31 21:28:40 +01:00
Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc73c5e0aa | ||
|
|
f029820a37 | ||
|
|
b4a5319958 | ||
|
|
1981c8b4d0 | ||
|
|
9958bb4bf5 | ||
|
|
144ad14d84 | ||
|
|
bc65a2ab58 | ||
|
|
1337baf832 | ||
|
|
1337091a72 |
+2
-2
@@ -119,7 +119,7 @@ RUN git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib && \
|
|||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install
|
make -j$THREADS install
|
||||||
|
|
||||||
RUN git clone -b VER-2-10-2 --depth 1 https://git.sv.nongnu.org/r/freetype/freetype2.git && \
|
RUN git clone -b VER-2-10-2 https://git.sv.nongnu.org/r/freetype/freetype2.git && \
|
||||||
cd freetype2 && \
|
cd freetype2 && \
|
||||||
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
|
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
@@ -164,7 +164,7 @@ RUN wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz && \
|
|||||||
sha256sum -c hashsum.txt && \
|
sha256sum -c hashsum.txt && \
|
||||||
tar -xzf openssl-1.1.1g.tar.gz && \
|
tar -xzf openssl-1.1.1g.tar.gz && \
|
||||||
cd openssl-1.1.1g && \
|
cd openssl-1.1.1g && \
|
||||||
CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./config no-asm no-shared no-zlib-dynamic --prefix=/usr/local/openssl && \
|
CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./config no-shared no-zlib-dynamic --prefix=/usr/local/openssl && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install
|
make -j$THREADS install
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[](https://build.featherwallet.org/feather/feather)
|
[](https://build.featherwallet.org/feather/feather)
|
||||||
|
|
||||||
Feather is a free, open-source Monero client for Mac OS and Linux platforms written in C++ with the Qt framework. It is created and maintained by [dsc](dsc@xmr.pm) and [tobtoht](thotbot@protonmail.com).
|
Feather is a free, open-source Monero client Linux with ports for Mac OS and Windows written in C++ with the Qt framework. It is created and maintained by [dsc](dsc@xmr.pm) and [tobtoht](thotbot@protonmail.com).
|
||||||
|
|
||||||
## Development resources
|
## Development resources
|
||||||
* Web: [featherwallet.org](https://featherwallet.org)
|
* Web: [featherwallet.org](https://featherwallet.org)
|
||||||
|
|||||||
@@ -134,6 +134,10 @@ if(HAVE_SYS_PRCTL_H)
|
|||||||
target_compile_definitions(feather PRIVATE HAVE_SYS_PRCTL_H=1)
|
target_compile_definitions(feather PRIVATE HAVE_SYS_PRCTL_H=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(STATIC)
|
||||||
|
target_compile_definitions(feather PRIVATE STATIC=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
target_compile_definitions(feather PRIVATE QT_NO_DEBUG=1)
|
target_compile_definitions(feather PRIVATE QT_NO_DEBUG=1)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
+4
-3
@@ -82,10 +82,11 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
|
|||||||
this->defaultWalletDir = QString("%1/Monero/wallets").arg(this->configRoot);
|
this->defaultWalletDir = QString("%1/Monero/wallets").arg(this->configRoot);
|
||||||
this->defaultWalletDirRoot = QString("%1/Monero").arg(this->configRoot);
|
this->defaultWalletDirRoot = QString("%1/Monero").arg(this->configRoot);
|
||||||
#elif defined(Q_OS_WIN)
|
#elif defined(Q_OS_WIN)
|
||||||
// @TODO
|
this->defaultWalletDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Monero";
|
||||||
|
this->defaultWalletDirRoot = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Create ~/Monero/wallets if it does not exist yet
|
// Create wallet dirs
|
||||||
if (!QDir().mkpath(defaultWalletDir))
|
if (!QDir().mkpath(defaultWalletDir))
|
||||||
qCritical() << "Unable to create dir: " << defaultWalletDir;
|
qCritical() << "Unable to create dir: " << defaultWalletDir;
|
||||||
|
|
||||||
@@ -169,7 +170,7 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AppContext::initTor() {
|
void AppContext::initTor() {
|
||||||
this->tor = new Tor(this);
|
this->tor = new Tor(this, this);
|
||||||
this->tor->start();
|
this->tor->start();
|
||||||
|
|
||||||
if (!(isTails || isWhonix)) {
|
if (!(isTails || isWhonix)) {
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
|
|
||||||
#if defined(Q_OS_LINUX)
|
#if defined(Q_OS_LINUX) && defined(STATIC)
|
||||||
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
|
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -932,6 +932,8 @@ void MainWindow::homeWidgetChanged(const QString &widgetName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::closeEvent(QCloseEvent *event) {
|
void MainWindow::closeEvent(QCloseEvent *event) {
|
||||||
|
m_ctx->tor->stop();
|
||||||
|
|
||||||
this->saveGeo();
|
this->saveGeo();
|
||||||
if(m_wizard != nullptr)
|
if(m_wizard != nullptr)
|
||||||
m_wizard->close();
|
m_wizard->close();
|
||||||
|
|||||||
@@ -376,6 +376,9 @@
|
|||||||
<addaction name="menuHelp"/>
|
<addaction name="menuHelp"/>
|
||||||
</widget>
|
</widget>
|
||||||
<action name="actionOpen">
|
<action name="actionOpen">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Open wallet</string>
|
<string>Open wallet</string>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
+11
-7
@@ -50,6 +50,13 @@ Tor::Tor(AppContext *ctx, QObject *parent)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't spawn Tor on default port to avoid conflicts
|
||||||
|
Tor::torPort = 19450;
|
||||||
|
if (Utils::portOpen(Tor::torHost, Tor::torPort)) {
|
||||||
|
this->localTor = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
qDebug() << "Using embedded tor instance";
|
qDebug() << "Using embedded tor instance";
|
||||||
m_process.setProcessChannelMode(QProcess::MergedChannels);
|
m_process.setProcessChannelMode(QProcess::MergedChannels);
|
||||||
|
|
||||||
@@ -58,6 +65,10 @@ Tor::Tor(AppContext *ctx, QObject *parent)
|
|||||||
connect(&m_process, &QProcess::stateChanged, this, &Tor::stateChanged);
|
connect(&m_process, &QProcess::stateChanged, this, &Tor::stateChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Tor::stop() {
|
||||||
|
m_process.kill();
|
||||||
|
}
|
||||||
|
|
||||||
void Tor::start() {
|
void Tor::start() {
|
||||||
if (this->localTor) {
|
if (this->localTor) {
|
||||||
this->checkConnection();
|
this->checkConnection();
|
||||||
@@ -65,9 +76,6 @@ void Tor::start() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't spawn Tor on default port to avoid conflicts
|
|
||||||
Tor::torPort = 19450;
|
|
||||||
|
|
||||||
auto state = m_process.state();
|
auto state = m_process.state();
|
||||||
if (state == QProcess::ProcessState::Running || state == QProcess::ProcessState::Starting) {
|
if (state == QProcess::ProcessState::Running || state == QProcess::ProcessState::Starting) {
|
||||||
this->errorMsg = "Can't start Tor, already running or starting";
|
this->errorMsg = "Can't start Tor, already running or starting";
|
||||||
@@ -101,10 +109,6 @@ void Tor::start() {
|
|||||||
m_process.start(this->torPath, arguments);
|
m_process.start(this->torPath, arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tor::stop() {
|
|
||||||
m_process.terminate();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Tor::checkConnection() {
|
void Tor::checkConnection() {
|
||||||
// We might not be able to connect to localhost if torsocks is used to start feather
|
// We might not be able to connect to localhost if torsocks is used to start feather
|
||||||
if (m_ctx->isTorSocks)
|
if (m_ctx->isTorSocks)
|
||||||
|
|||||||
Reference in New Issue
Block a user