diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 25b9d30..ee2fb32 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -796,20 +796,7 @@ void MainWindow::postToZBoard() { tx.fee = Settings::getMinerFee(); // And send the Tx - rpc->executeTransaction(tx, [=] (QString opid) { - ui->statusBar->showMessage(tr("Computing Tx: ") % opid); - }, - [=] (QString /*opid*/, QString txid) { - ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); - }, - [=] (QString opid, QString errStr) { - ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); - - if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; - - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); - }); + rpc->executeStandardUITransaction(tx); } } diff --git a/src/rpc.cpp b/src/rpc.cpp index ec5bd8d..cdf992c 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -962,6 +962,29 @@ void RPC::addNewTxToWatch(const QString& newOpid, WatchedTx wtx) { watchTxStatus(); } +/** + * Execute a transaction with the standard UI. i.e., standard status bar message and standard error + * handling + */ +void RPC::executeStandardUITransaction(Tx tx) { + executeTransaction(tx, + [=] (QString opid) { + ui->statusBar->showMessage(QObject::tr("Computing Tx: ") % opid); + }, + [=] (QString, QString txid) { + ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + }, + [=] (QString opid, QString errStr) { + ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + if (!opid.isEmpty()) + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + + QMessageBox::critical(main, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + } + ); +} + // Execute a transaction! void RPC::executeTransaction(Tx tx, diff --git a/src/rpc.h b/src/rpc.h index 9064b17..a6474fe 100644 --- a/src/rpc.h +++ b/src/rpc.h @@ -58,6 +58,8 @@ public: void refreshZECPrice(); void getZboardTopics(std::function)> cb); + void executeStandardUITransaction(Tx tx); + void executeTransaction(Tx tx, const std::function submitted, const std::function computed,