From: Janne Pulkkinen Date: Sat, 10 Sep 2011 09:43:45 +0000 (+0300) Subject: The synchronization progress bar now compares the amount of total blocks to amount... X-Git-Tag: v0.4.0-unstable~226^2~57^2~31 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=78b3bf56f7804f3eb1b7cf8b189c5d567be7ca60 The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better. --- diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0c9f778..7943684 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -345,6 +345,7 @@ void BitcoinGUI::setNumConnections(int count) void BitcoinGUI::setNumBlocks(int count) { + int initTotal = clientModel->getNumBlocksAtStartup(); int total = clientModel->getTotalBlocksEstimate(); QString tooltip; @@ -352,8 +353,8 @@ void BitcoinGUI::setNumBlocks(int count) { progressBarLabel->setVisible(true); progressBar->setVisible(true); - progressBar->setMaximum(total); - progressBar->setValue(count); + progressBar->setMaximum(total - initTotal); + progressBar->setValue(count - initTotal); tooltip = tr("Downloaded %1 of %2 blocks of transaction history.").arg(count).arg(total); } else diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index d307473..08abaa6 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -18,6 +18,8 @@ ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(MODEL_UPDATE_DELAY); + + numBlocksAtStartup = -1; } int ClientModel::getNumConnections() const @@ -30,6 +32,12 @@ int ClientModel::getNumBlocks() const return nBestHeight; } +int ClientModel::getNumBlocksAtStartup() +{ + if (numBlocksAtStartup == -1) numBlocksAtStartup = getNumBlocks(); + return numBlocksAtStartup; +} + QDateTime ClientModel::getLastBlockDate() const { return QDateTime::fromTime_t(pindexBest->GetBlockTime()); diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 1538705..8605fb9 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -23,6 +23,7 @@ public: int getNumConnections() const; int getNumBlocks() const; + int getNumBlocksAtStartup(); QDateTime getLastBlockDate() const; @@ -41,6 +42,8 @@ private: int cachedNumConnections; int cachedNumBlocks; + int numBlocksAtStartup; + signals: void numConnectionsChanged(int count); void numBlocksChanged(int count);