mirror of
https://github.com/wownero/wowlet.git
synced 2026-10-22 01:28:43 +02:00
Coins: manual input selection
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "dialog/WalletCacheDebugDialog.h"
|
||||
#include "dialog/UpdateDialog.h"
|
||||
#include "libwalletqt/AddressBook.h"
|
||||
#include "libwalletqt/CoinsInfo.h"
|
||||
#include "libwalletqt/Transfer.h"
|
||||
#include "utils/AppData.h"
|
||||
#include "utils/AsyncTask.h"
|
||||
@@ -217,6 +218,11 @@ void MainWindow::initWidgets() {
|
||||
#if defined(Q_OS_MACOS)
|
||||
ui->line->hide();
|
||||
#endif
|
||||
|
||||
ui->frame_coinControl->setVisible(false);
|
||||
connect(ui->btn_resetCoinControl, &QPushButton::clicked, [this]{
|
||||
m_ctx->setSelectedInputs({});
|
||||
});
|
||||
}
|
||||
|
||||
void MainWindow::initMenu() {
|
||||
@@ -384,6 +390,7 @@ void MainWindow::initWalletContext() {
|
||||
connect(m_ctx.get(), &AppContext::endTransaction, this, &MainWindow::onEndTransaction);
|
||||
connect(m_ctx.get(), &AppContext::customRestoreHeightSet, this, &MainWindow::onCustomRestoreHeightSet);
|
||||
connect(m_ctx.get(), &AppContext::keysCorrupted, this, &MainWindow::onKeysCorrupted);
|
||||
connect(m_ctx.get(), &AppContext::selectedInputsChanged, this, &MainWindow::onSelectedInputsChanged);
|
||||
|
||||
// Nodes
|
||||
connect(m_ctx->nodes, &Nodes::nodeExhausted, this, &MainWindow::showNodeExhaustedMessage);
|
||||
@@ -1446,6 +1453,24 @@ void MainWindow::onKeysCorrupted() {
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::onSelectedInputsChanged(const QStringList &selectedInputs) {
|
||||
int numInputs = selectedInputs.size();
|
||||
|
||||
ui->frame_coinControl->setStyleSheet(ColorScheme::GREEN.asStylesheet(true));
|
||||
ui->frame_coinControl->setVisible(numInputs > 0);
|
||||
|
||||
if (numInputs > 0) {
|
||||
quint64 totalAmount = 0;
|
||||
auto coins = m_ctx->wallet->coins()->coinsFromKeyImage(selectedInputs);
|
||||
for (const auto coin : coins) {
|
||||
totalAmount += coin->amount();
|
||||
}
|
||||
|
||||
QString text = QString("Coin control active: %1 selected outputs, %2 XMR").arg(QString::number(numInputs), WalletManager::displayAmount(totalAmount));
|
||||
ui->label_coinControl->setText(text);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::onExportHistoryCSV(bool checked) {
|
||||
if (m_ctx->wallet == nullptr)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user