mirror of
https://github.com/wownero/wowlet.git
synced 2026-11-03 06:33:54 +01:00
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3051ce5118 | ||
|
|
fb32fa2fd2 | ||
|
|
b3eab6085f | ||
|
|
835aecb79d | ||
|
|
6cba5d0487 | ||
|
|
50b78cee51 | ||
|
|
1b6f648a0b |
@@ -1,12 +1,14 @@
|
|||||||
[](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.
|

|
||||||
|
|
||||||
## 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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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
@@ -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>
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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);
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user