From 66b02c93e69cfeaec6e7fa19a03bfb2649025a56 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Thu, 13 Sep 2012 14:33:52 +0200 Subject: Move external block import to separate thread --- src/qt/bitcoingui.cpp | 4 ++-- src/qt/clientmodel.cpp | 5 +++++ src/qt/clientmodel.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/qt') diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 19a6a65a1b..0d269ea210 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -473,7 +473,7 @@ void BitcoinGUI::setNumConnections(int count) void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks) { // don't show / hide progress bar and its label if we have no connection to the network - if (!clientModel || clientModel->getNumConnections() == 0) + if (!clientModel || (clientModel->getNumConnections() == 0 && !clientModel->isImporting())) { progressBarLabel->setVisible(false); progressBar->setVisible(false); @@ -491,7 +491,7 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks) if (strStatusBarWarnings.isEmpty()) { - progressBarLabel->setText(tr("Synchronizing with network...")); + progressBarLabel->setText(tr(clientModel->isImporting() ? "Importing blocks..." : "Synchronizing with network...")); progressBarLabel->setVisible(true); progressBar->setFormat(tr("~%n block(s) remaining", "", nRemainingBlocks)); progressBar->setMaximum(nTotalBlocks); diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index b820d16abf..990b364a94 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -103,6 +103,11 @@ bool ClientModel::inInitialBlockDownload() const return IsInitialBlockDownload(); } +bool ClientModel::isImporting() const +{ + return fImporting; +} + int ClientModel::getNumBlocksOfPeers() const { return GetNumBlocksOfPeers(); diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 70d816ba9d..926390a07a 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -33,6 +33,8 @@ public: bool isTestNet() const; //! Return true if core is doing initial block download bool inInitialBlockDownload() const; + //! Return true if core is importing blocks + bool isImporting() const; //! Return conservative estimate of total number of blocks, or 0 if unknown int getNumBlocksOfPeers() const; //! Return warnings to be displayed in status bar -- cgit v1.2.3