[Qt] Improve progress display during headers-sync and peer-finding
This commit is contained in:
committed by
lateminer
parent
2296bc5e78
commit
bf1f749895
@@ -751,6 +751,15 @@ void BitcoinGUI::setNumConnections(int count)
|
||||
labelConnectionsIcon->setToolTip(tr("%n active connection(s) to Bitcoin network", "", count));
|
||||
}
|
||||
|
||||
void BitcoinGUI::updateHeadersSyncProgressLabel()
|
||||
{
|
||||
int64_t headersTipTime = clientModel->getHeaderTipTime();
|
||||
int headersTipHeight = clientModel->getHeaderTipHeight();
|
||||
int estHeadersLeft = (GetTime() - headersTipTime)/600;
|
||||
if (estHeadersLeft > REQ_HEADER_HEIGHT_DELTA_SYNC)
|
||||
progressBarLabel->setText(tr("Syncing Headers (%1%)...").arg(QString::number(100.0 / (headersTipHeight+estHeadersLeft)*headersTipHeight, 'f', 1)));
|
||||
}
|
||||
|
||||
void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVerificationProgress, bool header)
|
||||
{
|
||||
if (modalOverlay)
|
||||
@@ -774,9 +783,11 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer
|
||||
switch (blockSource) {
|
||||
case BLOCK_SOURCE_NETWORK:
|
||||
if (header) {
|
||||
updateHeadersSyncProgressLabel();
|
||||
return;
|
||||
}
|
||||
progressBarLabel->setText(tr("Synchronizing with network..."));
|
||||
updateHeadersSyncProgressLabel();
|
||||
break;
|
||||
case BLOCK_SOURCE_DISK:
|
||||
if (header) {
|
||||
@@ -792,8 +803,7 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer
|
||||
if (header) {
|
||||
return;
|
||||
}
|
||||
// Case: not Importing, not Reindexing and no network connection
|
||||
progressBarLabel->setText(tr("No block source available..."));
|
||||
progressBarLabel->setText(tr("Connecting to peers..."));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -156,6 +156,8 @@ private:
|
||||
/** Disconnect core signals from GUI client */
|
||||
void unsubscribeFromCoreSignals();
|
||||
|
||||
void updateHeadersSyncProgressLabel();
|
||||
|
||||
Q_SIGNALS:
|
||||
/** Signal raised when a URI was entered or dragged to the GUI */
|
||||
void receivedURI(const QString &uri);
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
|
||||
//! Return true if core is doing initial block download
|
||||
bool inInitialBlockDownload() const;
|
||||
//! Return true if core is importing blocks
|
||||
//! Returns enum BlockSource of the current importing/syncing state
|
||||
enum BlockSource getBlockSource() const;
|
||||
//! Return warnings to be displayed in status bar
|
||||
QString getStatusBarWarnings() const;
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
#include <QDateTime>
|
||||
#include <QWidget>
|
||||
|
||||
//! The required delta of headers to the estimated number of available headers until we show the IBD progress
|
||||
static const int REQ_HEADER_HEIGHT_DELTA_SYNC = 24;
|
||||
|
||||
namespace Ui {
|
||||
class ModalOverlay;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user