diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 935f719..31cbe36 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -907,7 +907,7 @@ void MainWindow::validateAddress() { }); } -// View tx +// Ask user for txid to view void MainWindow::viewTransaction() { // Make sure everything is up and running if (!getRPC() || !getRPC()->getConnection()) @@ -920,6 +920,11 @@ void MainWindow::viewTransaction() { if (!ok) return; + viewTxid(txid); +} + +// view a given txid +void MainWindow::viewTxid(QString txid) { // ignore leading and trailing whitespace txid = txid.trimmed(); @@ -928,10 +933,9 @@ void MainWindow::viewTransaction() { DEBUG("invalid txid " << txid ); return; } - - // ok, we were given a valid txid - + // we got a valid txid getRPC()->getrawtransaction(txid, [=] (QJsonValue props) { + // TODO: only z_viewtransaction shows memo // getRPC()->z_viewtransaction(txid, [=] (QJsonValue props) { QDialog d(this); Ui_ViewTransaction vt; @@ -2161,6 +2165,11 @@ void MainWindow::setupTransactionsTab() { ui->statusBar->showMessage(tr("Copied to clipboard"), 3 * 1000); }); + menu.addAction(tr("View transaction"), [=] () { + ui->statusBar->showMessage(tr("Viewing transaction") + " " + txid, 3 * 1000); + viewTxid(txid); + }); + if (!addr.isEmpty()) { menu.addAction(tr("Copy address"), [=] () { QGuiApplication::clipboard()->setText(addr); diff --git a/src/mainwindow.h b/src/mainwindow.h index 43a2d5f..53e60cc 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -54,6 +54,7 @@ public: void validateAddress(); void getBlock(); void viewTransaction(); + void viewTxid(QString txid = ""); void updateLabels(); void updateTAddrCombo(bool checked);