aboutsummaryrefslogtreecommitdiff
path: root/src/qt/clientmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/clientmodel.cpp')
-rw-r--r--src/qt/clientmodel.cpp32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp
index b820d16ab..084ad12a5 100644
--- a/src/qt/clientmodel.cpp
+++ b/src/qt/clientmodel.cpp
@@ -15,10 +15,8 @@ static const int64 nClientStartupTime = GetTime();
ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) :
QObject(parent), optionsModel(optionsModel),
- cachedNumBlocks(0), cachedNumBlocksOfPeers(0), pollTimer(0)
+ cachedNumBlocks(0), cachedNumBlocksOfPeers(0), numBlocksAtStartup(-1), pollTimer(0)
{
- numBlocksAtStartup = -1;
-
pollTimer = new QTimer(this);
pollTimer->setInterval(MODEL_UPDATE_DELAY);
pollTimer->start();
@@ -50,7 +48,10 @@ int ClientModel::getNumBlocksAtStartup()
QDateTime ClientModel::getLastBlockDate() const
{
- return QDateTime::fromTime_t(pindexBest->GetBlockTime());
+ if (pindexBest)
+ return QDateTime::fromTime_t(pindexBest->GetBlockTime());
+ else
+ return QDateTime::fromTime_t(1231006505); // Genesis block's time
}
void ClientModel::updateTimer()
@@ -65,7 +66,8 @@ void ClientModel::updateTimer()
cachedNumBlocks = newNumBlocks;
cachedNumBlocksOfPeers = newNumBlocksOfPeers;
- emit numBlocksChanged(newNumBlocks, newNumBlocksOfPeers);
+ // ensure we return the maximum of newNumBlocksOfPeers and newNumBlocks to not create weird displays in the GUI
+ emit numBlocksChanged(newNumBlocks, std::max(newNumBlocksOfPeers, newNumBlocks));
}
}
@@ -84,13 +86,11 @@ void ClientModel::updateAlert(const QString &hash, int status)
CAlert alert = CAlert::getAlertByHash(hash_256);
if(!alert.IsNull())
{
- emit error(tr("Network Alert"), QString::fromStdString(alert.strStatusBar), false);
+ emit message(tr("Network Alert"), QString::fromStdString(alert.strStatusBar), CClientUIInterface::ICON_ERROR);
}
}
- // Emit a numBlocksChanged when the status message changes,
- // so that the view recomputes and updates the status bar.
- emit numBlocksChanged(getNumBlocks(), getNumBlocksOfPeers());
+ emit alertsChanged(getStatusBarWarnings());
}
bool ClientModel::isTestNet() const
@@ -103,6 +103,15 @@ bool ClientModel::inInitialBlockDownload() const
return IsInitialBlockDownload();
}
+enum BlockSource ClientModel::getBlockSource() const
+{
+ if (fReindex)
+ return BLOCK_SOURCE_REINDEX;
+ if (fImporting)
+ return BLOCK_SOURCE_DISK;
+ return BLOCK_SOURCE_NETWORK;
+}
+
int ClientModel::getNumBlocksOfPeers() const
{
return GetNumBlocksOfPeers();
@@ -128,6 +137,11 @@ QString ClientModel::formatBuildDate() const
return QString::fromStdString(CLIENT_DATE);
}
+bool ClientModel::isReleaseVersion() const
+{
+ return CLIENT_VERSION_IS_RELEASE;
+}
+
QString ClientModel::clientName() const
{
return QString::fromStdString(CLIENT_NAME);