[qt] TransactionView: highlight replacement tx after fee bump
This commit is contained in:
parent
c88529a178
commit
d795c610d3
4 changed files with 17 additions and 5 deletions
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include <ui_interface.h>
|
#include <ui_interface.h>
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QDateTimeEdit>
|
#include <QDateTimeEdit>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
|
@ -198,6 +199,11 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
|
||||||
connect(copyTxPlainText, SIGNAL(triggered()), this, SLOT(copyTxPlainText()));
|
connect(copyTxPlainText, SIGNAL(triggered()), this, SLOT(copyTxPlainText()));
|
||||||
connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel()));
|
connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel()));
|
||||||
connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails()));
|
connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails()));
|
||||||
|
|
||||||
|
// Highlight transaction after fee bump
|
||||||
|
connect(this, &TransactionView::bumpedFee, [this](const uint256& txid) {
|
||||||
|
focusTransaction(txid);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransactionView::setModel(WalletModel *_model)
|
void TransactionView::setModel(WalletModel *_model)
|
||||||
|
@ -428,9 +434,14 @@ void TransactionView::bumpFee()
|
||||||
hash.SetHex(hashQStr.toStdString());
|
hash.SetHex(hashQStr.toStdString());
|
||||||
|
|
||||||
// Bump tx fee over the walletModel
|
// Bump tx fee over the walletModel
|
||||||
if (model->bumpFee(hash)) {
|
uint256 newHash;
|
||||||
|
if (model->bumpFee(hash, newHash)) {
|
||||||
// Update the table
|
// Update the table
|
||||||
|
transactionView->selectionModel()->clearSelection();
|
||||||
model->getTransactionTableModel()->updateTransaction(hashQStr, CT_UPDATED, true);
|
model->getTransactionTableModel()->updateTransaction(hashQStr, CT_UPDATED, true);
|
||||||
|
|
||||||
|
qApp->processEvents();
|
||||||
|
Q_EMIT bumpedFee(newHash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,8 @@ Q_SIGNALS:
|
||||||
/** Fired when a message should be reported to the user */
|
/** Fired when a message should be reported to the user */
|
||||||
void message(const QString &title, const QString &message, unsigned int style);
|
void message(const QString &title, const QString &message, unsigned int style);
|
||||||
|
|
||||||
|
void bumpedFee(const uint256& txid);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void chooseDate(int idx);
|
void chooseDate(int idx);
|
||||||
void chooseType(int idx);
|
void chooseType(int idx);
|
||||||
|
|
|
@ -492,7 +492,7 @@ bool WalletModel::saveReceiveRequest(const std::string &sAddress, const int64_t
|
||||||
return m_wallet->addDestData(dest, key, sRequest);
|
return m_wallet->addDestData(dest, key, sRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WalletModel::bumpFee(uint256 hash)
|
bool WalletModel::bumpFee(uint256 hash, uint256& new_hash)
|
||||||
{
|
{
|
||||||
CCoinControl coin_control;
|
CCoinControl coin_control;
|
||||||
coin_control.m_signal_bip125_rbf = true;
|
coin_control.m_signal_bip125_rbf = true;
|
||||||
|
@ -544,8 +544,7 @@ bool WalletModel::bumpFee(uint256 hash)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// commit the bumped transaction
|
// commit the bumped transaction
|
||||||
uint256 txid;
|
if(!m_wallet->commitBumpTransaction(hash, std::move(mtx), errors, new_hash)) {
|
||||||
if(!m_wallet->commitBumpTransaction(hash, std::move(mtx), errors, txid)) {
|
|
||||||
QMessageBox::critical(0, tr("Fee bump error"), tr("Could not commit transaction") + "<br />(" +
|
QMessageBox::critical(0, tr("Fee bump error"), tr("Could not commit transaction") + "<br />(" +
|
||||||
QString::fromStdString(errors[0])+")");
|
QString::fromStdString(errors[0])+")");
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -194,7 +194,7 @@ public:
|
||||||
void loadReceiveRequests(std::vector<std::string>& vReceiveRequests);
|
void loadReceiveRequests(std::vector<std::string>& vReceiveRequests);
|
||||||
bool saveReceiveRequest(const std::string &sAddress, const int64_t nId, const std::string &sRequest);
|
bool saveReceiveRequest(const std::string &sAddress, const int64_t nId, const std::string &sRequest);
|
||||||
|
|
||||||
bool bumpFee(uint256 hash);
|
bool bumpFee(uint256 hash, uint256& new_hash);
|
||||||
|
|
||||||
static bool isWalletEnabled();
|
static bool isWalletEnabled();
|
||||||
bool privateKeysDisabled() const;
|
bool privateKeysDisabled() const;
|
||||||
|
|
Loading…
Reference in a new issue