rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
- updates ClientModel::getBlockSource() to return all available states and sorts enum BlockSource in order of usage cases (none default, then reindex, import and network) - updates BitcoinGUI::setNumBlocks() to better use getBlockSource() and also adds a message, when we have NO block source available
This commit is contained in:
@@ -514,31 +514,26 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
|
||||
// Prevent orphan statusbar messages (e.g. hover Quit in main menu, wait until chain-sync starts -> garbelled text)
|
||||
statusBar()->clearMessage();
|
||||
|
||||
// don't show / hide progress bar and its label if we have no connection to the network
|
||||
enum BlockSource blockSource = clientModel ? clientModel->getBlockSource() : BLOCK_SOURCE_NONE;
|
||||
if (blockSource == BLOCK_SOURCE_NONE || (blockSource == BLOCK_SOURCE_NETWORK && clientModel->getNumConnections() == 0))
|
||||
{
|
||||
progressBarLabel->setVisible(false);
|
||||
progressBar->setVisible(false);
|
||||
|
||||
return;
|
||||
// Acquire current block source
|
||||
enum BlockSource blockSource = clientModel->getBlockSource();
|
||||
switch (blockSource) {
|
||||
case BLOCK_SOURCE_NETWORK:
|
||||
progressBarLabel->setText(tr("Synchronizing with network..."));
|
||||
break;
|
||||
case BLOCK_SOURCE_DISK:
|
||||
progressBarLabel->setText(tr("Importing blocks from disk..."));
|
||||
break;
|
||||
case BLOCK_SOURCE_REINDEX:
|
||||
progressBarLabel->setText(tr("Reindexing blocks on disk..."));
|
||||
break;
|
||||
case BLOCK_SOURCE_NONE:
|
||||
// Case: not Importing, not Reindexing and no network connection
|
||||
progressBarLabel->setText(tr("No block source available..."));
|
||||
break;
|
||||
}
|
||||
|
||||
QString tooltip;
|
||||
|
||||
QString importText;
|
||||
switch (blockSource) {
|
||||
case BLOCK_SOURCE_NONE:
|
||||
case BLOCK_SOURCE_NETWORK:
|
||||
importText = tr("Synchronizing with network...");
|
||||
break;
|
||||
case BLOCK_SOURCE_DISK:
|
||||
importText = tr("Importing blocks from disk...");
|
||||
break;
|
||||
case BLOCK_SOURCE_REINDEX:
|
||||
importText = tr("Reindexing blocks on disk...");
|
||||
}
|
||||
|
||||
QDateTime lastBlockDate = clientModel->getLastBlockDate();
|
||||
QDateTime currentDate = QDateTime::currentDateTime();
|
||||
int secs = lastBlockDate.secsTo(currentDate);
|
||||
@@ -580,7 +575,6 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
|
||||
timeBehindText = tr("%n week(s)","",secs/(7*24*60*60));
|
||||
}
|
||||
|
||||
progressBarLabel->setText(importText);
|
||||
progressBarLabel->setVisible(true);
|
||||
progressBar->setFormat(tr("%1 behind").arg(timeBehindText));
|
||||
progressBar->setMaximum(1000000000);
|
||||
|
||||
Reference in New Issue
Block a user