diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 2082d37..f885015 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1051,7 +1051,7 @@ version = "0.1.0" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", - "zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=865a72442db4ee1862fa776514da4a4a1c935b94)", + "zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=01cd0269d558f8755ddc720dc26b81767a773cde)", ] [[package]] @@ -2266,7 +2266,7 @@ dependencies = [ [[package]] name = "zecwalletlitelib" version = "0.1.0" -source = "git+https://github.com/adityapk00/zecwallet-light-cli?rev=865a72442db4ee1862fa776514da4a4a1c935b94#865a72442db4ee1862fa776514da4a4a1c935b94" +source = "git+https://github.com/adityapk00/zecwallet-light-cli?rev=01cd0269d558f8755ddc720dc26b81767a773cde#01cd0269d558f8755ddc720dc26b81767a773cde" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bellman 0.1.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)", @@ -2562,4 +2562,4 @@ dependencies = [ "checksum zcash_client_backend 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "" "checksum zcash_primitives 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "" "checksum zcash_proofs 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "" -"checksum zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=865a72442db4ee1862fa776514da4a4a1c935b94)" = "" +"checksum zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=01cd0269d558f8755ddc720dc26b81767a773cde)" = "" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 6ebdb8e..b205001 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -11,4 +11,4 @@ crate-type = ["staticlib"] [dependencies] libc = "0.2.58" lazy_static = "1.4.0" -zecwalletlitelib = { git = "https://github.com/adityapk00/zecwallet-light-cli", rev = "865a72442db4ee1862fa776514da4a4a1c935b94" } +zecwalletlitelib = { git = "https://github.com/adityapk00/zecwallet-light-cli", rev = "01cd0269d558f8755ddc720dc26b81767a773cde" } diff --git a/src/controller.cpp b/src/controller.cpp index aab6eec..a763e50 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -338,7 +338,13 @@ void Controller::refreshTransactions() { CAmount total_amount; QList items; - auto confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + long confirmations; + if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get()) { + confirmations = 0; + } else { + confirmations = model->getLatestBlock() - it["block_height"].get() + 1; + } + auto txid = QString::fromStdString(it["txid"]); auto datetime = it["datetime"].get(); diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 9c6171a..a3196c4 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -489,8 +489,6 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { confirm.setupUi(&d); Settings::saveRestore(&d); - const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont); - // Remove all existing address/amt qlabels on the confirm dialog. int totalConfirmAddrItems = confirm.sendToAddrs->children().size(); for (int i = 0; i < totalConfirmAddrItems / 3; i++) { @@ -526,7 +524,6 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) { Addr->setObjectName(QString("Addr") % QString::number(i + 1)); Addr->setWordWrap(true); Addr->setText(fnSplitAddressForWrap(toAddr.addr)); - Addr->setFont(fixedFont); confirm.gridLayout->addWidget(Addr, row, 0, 1, 1); // Amount (ZEC) @@ -644,11 +641,36 @@ void MainWindow::sendButton() { // Then delete the additional fields from the sendTo tab clearSendForm(); + // Create a new Dialog to show that we are computing/sending the Tx + auto d = new QDialog(this); + auto connD = new Ui_ConnectionDialog(); + connD->setupUi(d); + QPixmap logo(":/img/res/logobig.gif"); + connD->topIcon->setBasePixmap(logo.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + connD->status->setText(tr("Please wait...")); + connD->statusDetail->setText(tr("Computing your transaction")); + + d->show(); + // And send the Tx rpc->executeTransaction(tx, [=] (QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); + connD->status->setText(tr("Done!")); + connD->statusDetail->setText(txid); + + QTimer::singleShot(1000, [=]() { + d->accept(); + d->close(); + delete connD; + delete d; + }); + + // Force a UI update so we get the unconfirmed Tx + rpc->refresh(true); + // If this was a recurring payment, update the payment with the info if (!recurringPaymentHash.isEmpty()) { // Since this is the send button payment, this is the first payment @@ -659,6 +681,11 @@ void MainWindow::sendButton() { // Errored out [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); + + d->accept(); + d->close(); + delete connD; + delete d; if (!opid.isEmpty()) errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr;