diff options
| author | Janne Pulkkinen <[email protected]> | 2011-09-10 12:43:45 +0300 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2011-09-11 10:29:29 +0200 |
| commit | 78b3bf56f7804f3eb1b7cf8b189c5d567be7ca60 (patch) | |
| tree | 92bce2d9cd303d04a05b0e3ed97d65ec12e1a32d /src | |
| parent | http -> https (diff) | |
| download | discoin-78b3bf56f7804f3eb1b7cf8b189c5d567be7ca60.tar.xz discoin-78b3bf56f7804f3eb1b7cf8b189c5d567be7ca60.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/qt/bitcoingui.cpp | 5 | ||||
| -rw-r--r-- | src/qt/clientmodel.cpp | 8 | ||||
| -rw-r--r-- | src/qt/clientmodel.h | 3 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0c9f778ff..7943684ee 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 d30747310..08abaa6b4 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 15387056c..8605fb93a 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); |