From 9a37d4789fc1708b61504e87df289d97ecb3677c Mon Sep 17 00:00:00 2001 From: tobtoht Date: Sun, 6 Oct 2024 22:43:37 +0200 Subject: [PATCH] wallet: show notification on mining payment --- monero | 2 +- src/MainWindow.cpp | 6 ++++++ src/libwalletqt/Wallet.h | 2 +- src/libwalletqt/WalletListenerImpl.cpp | 4 ++-- src/libwalletqt/WalletListenerImpl.h | 2 +- src/libwalletqt/WalletManager.cpp | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/monero b/monero index d50ba728..ed8e0d19 160000 --- a/monero +++ b/monero @@ -1 +1 @@ -Subproject commit d50ba728d79cc3a96c928f7736503268ad567cba +Subproject commit ed8e0d19519f7fe50d0a8acc203e7d39c2aefbbc diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index b3d9189b..882a0613 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -485,6 +485,12 @@ void MainWindow::initWalletContext() { m_windowManager->notify("Payment received", notify, 5000); } }); + connect(m_wallet, &Wallet::moneyReceived, this, [this](const QString &txId, uint64_t amount, bool coinbase){ + if (m_wallet->isSynchronized() && !m_locked && coinbase) { + auto notify = QString("%1 XMR").arg(WalletManager::displayAmount(amount, false)); + m_windowManager->notify("Mining payment received", notify, 5000); + } + }); // Device connect(m_wallet, &Wallet::deviceButtonRequest, this, &MainWindow::onDeviceButtonRequest); diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index 2da7baff..8d647606 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -435,7 +435,7 @@ signals: void refreshed(bool success, const QString &message); void moneySpent(const QString &txId, quint64 amount); - void moneyReceived(const QString &txId, quint64 amount); + void moneyReceived(const QString &txId, quint64 amount, bool coinbase); void unconfirmedMoneyReceived(const QString &txId, quint64 amount); void newBlock(quint64 height, quint64 targetHeight); void walletCreationHeightChanged(); diff --git a/src/libwalletqt/WalletListenerImpl.cpp b/src/libwalletqt/WalletListenerImpl.cpp index 2f625898..ff32efb4 100644 --- a/src/libwalletqt/WalletListenerImpl.cpp +++ b/src/libwalletqt/WalletListenerImpl.cpp @@ -25,13 +25,13 @@ void WalletListenerImpl::moneySpent(const std::string &txId, uint64_t amount) emit m_wallet->moneySpent(qTxId, amount); } -void WalletListenerImpl::moneyReceived(const std::string &txId, uint64_t amount) +void WalletListenerImpl::moneyReceived(const std::string &txId, uint64_t amount, bool coinbase) { // Incoming tx included in a block. QString qTxId = QString::fromStdString(txId); qDebug() << Q_FUNC_INFO << qTxId << " " << WalletManager::displayAmount(amount); - emit m_wallet->moneyReceived(qTxId, amount); + emit m_wallet->moneyReceived(qTxId, amount, coinbase); } void WalletListenerImpl::unconfirmedMoneyReceived(const std::string &txId, uint64_t amount) diff --git a/src/libwalletqt/WalletListenerImpl.h b/src/libwalletqt/WalletListenerImpl.h index da0ba11e..a2a60ef1 100644 --- a/src/libwalletqt/WalletListenerImpl.h +++ b/src/libwalletqt/WalletListenerImpl.h @@ -16,7 +16,7 @@ public: virtual void moneySpent(const std::string &txId, uint64_t amount) override; - virtual void moneyReceived(const std::string &txId, uint64_t amount) override; + virtual void moneyReceived(const std::string &txId, uint64_t amount, bool coinbase) override; virtual void unconfirmedMoneyReceived(const std::string &txId, uint64_t amount) override; diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 92ffe8a8..c88f0148 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -13,7 +13,7 @@ public: explicit WalletPassphraseListenerImpl(WalletManager * mgr): m_mgr(mgr), m_phelper(mgr) {} void moneySpent(const std::string &txId, uint64_t amount) override { (void)txId; (void)amount; }; - void moneyReceived(const std::string &txId, uint64_t amount) override { (void)txId; (void)amount; }; + void moneyReceived(const std::string &txId, uint64_t amount, bool coinbase) override { (void)txId; (void)amount; (void)coinbase;}; void unconfirmedMoneyReceived(const std::string &txId, uint64_t amount) override { (void)txId; (void)amount; }; void newBlock(uint64_t height) override { (void) height; }; void updated() override {}; -- 2.52.0