Add post-confirmation screen
This commit is contained in:
6
lib/Cargo.lock
generated
6
lib/Cargo.lock
generated
@@ -1051,7 +1051,7 @@ version = "0.1.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"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)",
|
"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]]
|
[[package]]
|
||||||
@@ -2266,7 +2266,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "zecwalletlitelib"
|
name = "zecwalletlitelib"
|
||||||
version = "0.1.0"
|
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 = [
|
dependencies = [
|
||||||
"base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"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)",
|
"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)" = "<none>"
|
"checksum zcash_client_backend 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "<none>"
|
||||||
"checksum zcash_primitives 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "<none>"
|
"checksum zcash_primitives 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "<none>"
|
||||||
"checksum zcash_proofs 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "<none>"
|
"checksum zcash_proofs 0.0.0 (git+https://github.com/adityapk00/librustzcash.git?rev=188537ea025fcb7fbdfc11266f307a084a5451e4)" = "<none>"
|
||||||
"checksum zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=865a72442db4ee1862fa776514da4a4a1c935b94)" = "<none>"
|
"checksum zecwalletlitelib 0.1.0 (git+https://github.com/adityapk00/zecwallet-light-cli?rev=01cd0269d558f8755ddc720dc26b81767a773cde)" = "<none>"
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ crate-type = ["staticlib"]
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2.58"
|
libc = "0.2.58"
|
||||||
lazy_static = "1.4.0"
|
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" }
|
||||||
|
|||||||
@@ -338,7 +338,13 @@ void Controller::refreshTransactions() {
|
|||||||
CAmount total_amount;
|
CAmount total_amount;
|
||||||
QList<TransactionItemDetail> items;
|
QList<TransactionItemDetail> items;
|
||||||
|
|
||||||
auto confirmations = model->getLatestBlock() - it["block_height"].get<json::number_integer_t>() + 1;
|
long confirmations;
|
||||||
|
if (it.find("unconfirmed") != it.end() && it["unconfirmed"].get<json::boolean_t>()) {
|
||||||
|
confirmations = 0;
|
||||||
|
} else {
|
||||||
|
confirmations = model->getLatestBlock() - it["block_height"].get<json::number_integer_t>() + 1;
|
||||||
|
}
|
||||||
|
|
||||||
auto txid = QString::fromStdString(it["txid"]);
|
auto txid = QString::fromStdString(it["txid"]);
|
||||||
auto datetime = it["datetime"].get<json::number_integer_t>();
|
auto datetime = it["datetime"].get<json::number_integer_t>();
|
||||||
|
|
||||||
|
|||||||
@@ -489,8 +489,6 @@ bool MainWindow::confirmTx(Tx tx, RecurringPaymentInfo* rpi) {
|
|||||||
confirm.setupUi(&d);
|
confirm.setupUi(&d);
|
||||||
Settings::saveRestore(&d);
|
Settings::saveRestore(&d);
|
||||||
|
|
||||||
const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont);
|
|
||||||
|
|
||||||
// Remove all existing address/amt qlabels on the confirm dialog.
|
// Remove all existing address/amt qlabels on the confirm dialog.
|
||||||
int totalConfirmAddrItems = confirm.sendToAddrs->children().size();
|
int totalConfirmAddrItems = confirm.sendToAddrs->children().size();
|
||||||
for (int i = 0; i < totalConfirmAddrItems / 3; i++) {
|
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->setObjectName(QString("Addr") % QString::number(i + 1));
|
||||||
Addr->setWordWrap(true);
|
Addr->setWordWrap(true);
|
||||||
Addr->setText(fnSplitAddressForWrap(toAddr.addr));
|
Addr->setText(fnSplitAddressForWrap(toAddr.addr));
|
||||||
Addr->setFont(fixedFont);
|
|
||||||
confirm.gridLayout->addWidget(Addr, row, 0, 1, 1);
|
confirm.gridLayout->addWidget(Addr, row, 0, 1, 1);
|
||||||
|
|
||||||
// Amount (ZEC)
|
// Amount (ZEC)
|
||||||
@@ -644,11 +641,36 @@ void MainWindow::sendButton() {
|
|||||||
// Then delete the additional fields from the sendTo tab
|
// Then delete the additional fields from the sendTo tab
|
||||||
clearSendForm();
|
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
|
// And send the Tx
|
||||||
rpc->executeTransaction(tx,
|
rpc->executeTransaction(tx,
|
||||||
[=] (QString txid) {
|
[=] (QString txid) {
|
||||||
ui->statusBar->showMessage(Settings::txidStatusMessage + " " + 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 this was a recurring payment, update the payment with the info
|
||||||
if (!recurringPaymentHash.isEmpty()) {
|
if (!recurringPaymentHash.isEmpty()) {
|
||||||
// Since this is the send button payment, this is the first payment
|
// Since this is the send button payment, this is the first payment
|
||||||
@@ -660,6 +682,11 @@ void MainWindow::sendButton() {
|
|||||||
[=] (QString opid, QString errStr) {
|
[=] (QString opid, QString errStr) {
|
||||||
ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000);
|
ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000);
|
||||||
|
|
||||||
|
d->accept();
|
||||||
|
d->close();
|
||||||
|
delete connD;
|
||||||
|
delete d;
|
||||||
|
|
||||||
if (!opid.isEmpty())
|
if (!opid.isEmpty())
|
||||||
errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr;
|
errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user