Compare commits

...
10 changed files with 60 additions and 33 deletions
+6 -4
View File
@@ -1,12 +1,14 @@
[![Build Status](https://ci.wownero.com/api/badges/wowlet/wowlet/status.svg)](https://ci.wownero.com/wowlet/wowlet)
# WOWlet- a free Wownero desktop wallet # WOWlet- a free Wownero desktop wallet
WOWlet is a free, open-source Wownero client for Linux, Mac OS, and Windows.
WOWlet is a free, open-source Wownero client for Linux with ports for Mac OS and Windows. ![https://i.imgur.com/l7fUf0f.png](https://i.imgur.com/l7fUf0f.png)
## Development resources ## Development resources
* Git: [git.wownero.com/wowlet/wowlet](https://git.wownero.com/wowlet/wowlet) * Git: [git.wownero.com/wowlet/wowlet](https://git.wownero.com/wowlet/wowlet)
* IRC: `#wownero` on Freenode * IRC: `#wownero-dev` on [OFTC](https://oftc.net/)
* [Building WOWlet from source](https://git.wownero.com/wowlet/wowlet/src/branch/master/docs/BUILDING.md)
* [Working on WOWlet](https://git.wownero.com/wowlet/wowlet/src/branch/master/docs/HACKING.md)
Copyright (c) 2020-2021 The Monero Project. Copyright (c) 2020-2021 The Monero Project.
+2 -7
View File
@@ -2,14 +2,9 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
# pthread
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)
if(QML) find_package(PNG REQUIRED)
# PNG
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
endif()
# Compile these source files (.h/.cpp) # Compile these source files (.h/.cpp)
file(GLOB SOURCE_FILES file(GLOB SOURCE_FILES
+4
View File
@@ -32,6 +32,10 @@ ContactsWidget::ContactsWidget(QWidget *parent) :
this->newContact(); this->newContact();
}); });
connect(ui->btn_addContact, &QPushButton::pressed, [this]{
this->newContact();
});
connect(ui->contacts, &QTreeView::customContextMenuRequested, [=](const QPoint & point){ connect(ui->contacts, &QTreeView::customContextMenuRequested, [=](const QPoint & point){
QModelIndex index = ui->contacts->indexAt(point); QModelIndex index = ui->contacts->indexAt(point);
if (index.isValid()) { if (index.isValid()) {
+33 -12
View File
@@ -6,17 +6,14 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>589</width> <width>310</width>
<height>416</height> <height>283</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="spacing">
<number>9</number>
</property>
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@@ -29,14 +26,38 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <property name="verticalSpacing">
<widget class="QLineEdit" name="search"> <number>9</number>
<property name="placeholderText"> </property>
<string>Search contacts...</string> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>9</number>
</property> </property>
</widget> <item>
<widget class="QLineEdit" name="search">
<property name="placeholderText">
<string>Search contacts...</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_addContact">
<property name="text">
<string>New contact</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item row="1" column="0">
<widget class="QTreeView" name="contacts"> <widget class="QTreeView" name="contacts">
<property name="rootIsDecorated"> <property name="rootIsDecorated">
<bool>false</bool> <bool>false</bool>
+5 -2
View File
@@ -1110,8 +1110,11 @@ void MainWindow::suchDonate(const QString address) {
} }
void MainWindow::onViewOnBlockExplorer(const QString &txid) { void MainWindow::onViewOnBlockExplorer(const QString &txid) {
QString blockExplorerLink = Utils::blockExplorerLink(config()->get(Config::blockExplorer).toString(), m_ctx->networkType, txid); QString blockExplorerLink = Utils::blockExplorerLink(txid);
Utils::externalLinkWarning(this, blockExplorerLink); if(!blockExplorerLink.isEmpty())
Utils::externalLinkWarning(this, blockExplorerLink);
else
QMessageBox::warning(this, "Error", "Could not generate block explorer URL");
} }
void MainWindow::onResendTransaction(const QString &txid) { void MainWindow::onResendTransaction(const QString &txid) {
+1 -1
View File
@@ -146,7 +146,7 @@
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>blockchair.com</string> <string>kryfi.com</string>
</property> </property>
</item> </item>
</widget> </widget>
+1 -1
View File
@@ -28,7 +28,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::openVRSkin,{QS("openVRSkin"), "default"}}, {Config::openVRSkin,{QS("openVRSkin"), "default"}},
{Config::openVRStreamerMode,{QS("openVRStreamerMode"), false}}, {Config::openVRStreamerMode,{QS("openVRStreamerMode"), false}},
{Config::preferredFiatCurrency,{QS("preferredFiatCurrency"), "USD"}}, {Config::preferredFiatCurrency,{QS("preferredFiatCurrency"), "USD"}},
{Config::blockExplorer,{QS("blockExplorer"), "explore.wownero.com"}}, {Config::blockExplorer,{QS("blockExplorer"), "kryfi.com"}},
{Config::walletDirectory,{QS("walletDirectory"), ""}}, {Config::walletDirectory,{QS("walletDirectory"), ""}},
{Config::autoOpenWalletPath,{QS("autoOpenWalletPath"), ""}}, {Config::autoOpenWalletPath,{QS("autoOpenWalletPath"), ""}},
{Config::walletPath,{QS("walletPath"), ""}}, {Config::walletPath,{QS("walletPath"), ""}},
+7 -2
View File
@@ -238,8 +238,13 @@ QString Utils::copyFromClipboard() {
return clipboard->text(); return clipboard->text();
} }
QString Utils::blockExplorerLink(const QString &blockExplorer, NetworkType::Type nettype, const QString &txid) { QString Utils::blockExplorerLink(const QString &txid) {
return QString("https://explore.wownero.com/tx/%1").arg(txid); auto explorer = config()->get(Config::blockExplorer).toString();
if(explorer.startsWith("kryfi.com")) {
return QString("https://kryfi.com/explorer/wownero/tx/%1").arg(txid);
} else {
return QString("https://explore.wownero.com/tx/%1").arg(txid);
}
} }
QStandardItem *Utils::qStandardItem(const QString& text) { QStandardItem *Utils::qStandardItem(const QString& text) {
+1 -1
View File
@@ -64,7 +64,7 @@ public:
static QStandardItem *qStandardItem(const QString &text, QFont &font); static QStandardItem *qStandardItem(const QString &text, QFont &font);
static void copyToClipboard(const QString &string); static void copyToClipboard(const QString &string);
static QString copyFromClipboard(); static QString copyFromClipboard();
static QString blockExplorerLink(const QString &blockExplorer, NetworkType::Type nettype, const QString &txid); static QString blockExplorerLink(const QString &txid);
static QString getUnixAccountName(); static QString getUnixAccountName();
static QString xdgDesktopEntry(); static QString xdgDesktopEntry();
static bool xdgDesktopEntryWrite(const QString &path); static bool xdgDesktopEntryWrite(const QString &path);
-3
View File
@@ -42,9 +42,6 @@ NodeWidget::NodeWidget(QWidget *parent)
ui->customView->setContextMenuPolicy(Qt::CustomContextMenu); ui->customView->setContextMenuPolicy(Qt::CustomContextMenu);
connect(ui->wsView, &QTreeView::customContextMenuRequested, this, &NodeWidget::onShowWSContextMenu); connect(ui->wsView, &QTreeView::customContextMenuRequested, this, &NodeWidget::onShowWSContextMenu);
connect(ui->customView, &QTreeView::customContextMenuRequested, this, &NodeWidget::onShowCustomContextMenu); connect(ui->customView, &QTreeView::customContextMenuRequested, this, &NodeWidget::onShowCustomContextMenu);
connect(ui->customView, &QTreeView::doubleClicked, this, &NodeWidget::onContextConnect);
connect(ui->wsView, &QTreeView::doubleClicked, this, &NodeWidget::onContextConnect);
} }
void NodeWidget::onShowWSContextMenu(const QPoint &pos) { void NodeWidget::onShowWSContextMenu(const QPoint &pos) {