From 5d86deeb5fccb240e8763eff8d17d6ed51f636a7 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Fri, 18 Oct 2019 11:58:03 -0700 Subject: [PATCH] Show confirmations --- src/controller.cpp | 8 ++++---- src/datamodel.cpp | 4 ++++ src/datamodel.h | 5 ++++- src/txtablemodel.cpp | 5 +++++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index afef9b6..93c5cf1 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -191,6 +191,7 @@ void Controller::getInfoThenRefresh(bool force) { static int lastBlock = 0; int curBlock = reply["latest_block_height"].get(); + model->setLatestBlock(curBlock); //int version = reply["version"].get(); int version = 1; Settings::getInstance()->setZcashdVersion(version); @@ -334,8 +335,7 @@ void Controller::refreshTransactions() { return noConnection(); zrpc->fetchTransactions([=] (json reply) { - QList txdata; - + QList txdata; for (auto& it : reply.get()) { QString address; @@ -369,7 +369,7 @@ void Controller::refreshTransactions() { it["block_height"].get(), address, QString::fromStdString(it["txid"]), - 1, + model->getLatestBlock() - it["block_height"].get(), items }); } else { @@ -382,7 +382,7 @@ void Controller::refreshTransactions() { it["block_height"].get(), address, QString::fromStdString(it["txid"]), - 1, + model->getLatestBlock() - it["block_height"].get(), items }; diff --git a/src/datamodel.cpp b/src/datamodel.cpp index 5004a7d..60990c4 100644 --- a/src/datamodel.cpp +++ b/src/datamodel.cpp @@ -23,6 +23,10 @@ DataModel::~DataModel() { delete taddresses; } +void DataModel::setLatestBlock(int blockHeight) { + this->latestBlock = blockHeight; +} + void DataModel::replaceZaddresses(QList* newZ) { QWriteLocker locker(lock); Q_ASSERT(newZ); diff --git a/src/datamodel.h b/src/datamodel.h index edca668..f69b3d8 100644 --- a/src/datamodel.h +++ b/src/datamodel.h @@ -23,6 +23,9 @@ public: void markAddressUsed(QString address); + void setLatestBlock(int blockHeight); + int getLatestBlock() { return this->latestBlock; } + const QList getAllZAddresses() { QReadLocker locker(lock); return *zaddresses; } const QList getAllTAddresses() { QReadLocker locker(lock); return *taddresses; } const QList getUTXOs() { QReadLocker locker(lock); return *utxos; } @@ -33,7 +36,7 @@ public: DataModel(); ~DataModel(); private: - + int latestBlock; QList* utxos = nullptr; QMap* balances = nullptr; diff --git a/src/txtablemodel.cpp b/src/txtablemodel.cpp index 9c4d609..af389b0 100644 --- a/src/txtablemodel.cpp +++ b/src/txtablemodel.cpp @@ -14,7 +14,12 @@ TxTableModel::~TxTableModel() { void TxTableModel::replaceData(const QList& data) { delete modeldata; modeldata = new QList(); + + // Copy over the data and sort it std::copy(data.begin(), data.end(), std::back_inserter(*modeldata)); + std::sort(modeldata->begin(), modeldata->end(), [=] (auto a, auto b) { + return a.datetime > b.datetime; // reverse sort + }); dataChanged(index(0, 0), index(modeldata->size()-1, columnCount(index(0,0))-1)); layoutChanged();