void BitcoinGUI::setNumBlocks(int count)
{
+ int initTotal = clientModel->getNumBlocksAtStartup();
int total = clientModel->getTotalBlocksEstimate();
QString tooltip;
{
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
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(MODEL_UPDATE_DELAY);
+
+ numBlocksAtStartup = -1;
}
int ClientModel::getNumConnections() const
return nBestHeight;
}
+int ClientModel::getNumBlocksAtStartup()
+{
+ if (numBlocksAtStartup == -1) numBlocksAtStartup = getNumBlocks();
+ return numBlocksAtStartup;
+}
+
QDateTime ClientModel::getLastBlockDate() const
{
return QDateTime::fromTime_t(pindexBest->GetBlockTime());
int getNumConnections() const;
int getNumBlocks() const;
+ int getNumBlocksAtStartup();
QDateTime getLastBlockDate() const;
int cachedNumConnections;
int cachedNumBlocks;
+ int numBlocksAtStartup;
+
signals:
void numConnectionsChanged(int count);
void numBlocksChanged(int count);