From 7df70c000a5f687953335a5ab397ab4c74a40dd4 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sat, 18 Jun 2011 13:13:48 +0200 Subject: [PATCH] Prevent notification balloon-spam on initial block download, const-correctness in client model --- src/qt/bitcoingui.cpp | 3 ++- src/qt/clientmodel.cpp | 15 ++++++++++----- src/qt/clientmodel.h | 13 ++++++++----- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 4d3efe26d..028882f49 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -441,9 +441,10 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data(Qt::EditRole).toULongLong(); qint64 debit = ttm->index(start, TransactionTableModel::Debit, parent) .data(Qt::EditRole).toULongLong(); - if((credit+debit)>0) + if((credit+debit)>0 && !model->inInitialBlockDownload()) { // On incoming transaction, make an info balloon + // Unless the initial block download is in progress, to prevent balloon-spam QString date = ttm->index(start, TransactionTableModel::Date, parent) .data().toString(); QString description = ttm->index(start, TransactionTableModel::Description, parent) diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 10cafaf1a..822c03d94 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -22,12 +22,12 @@ ClientModel::ClientModel(QObject *parent) : transactionTableModel = new TransactionTableModel(this); } -qint64 ClientModel::getBalance() +qint64 ClientModel::getBalance() const { return GetBalance(); } -QString ClientModel::getAddress() +QString ClientModel::getAddress() const { std::vector vchPubKey; if (CWalletDB("r").ReadDefaultKey(vchPubKey)) @@ -40,17 +40,17 @@ QString ClientModel::getAddress() } } -int ClientModel::getNumConnections() +int ClientModel::getNumConnections() const { return vNodes.size(); } -int ClientModel::getNumBlocks() +int ClientModel::getNumBlocks() const { return nBestHeight; } -int ClientModel::getNumTransactions() +int ClientModel::getNumTransactions() const { int numTransactions = 0; CRITICAL_BLOCK(cs_mapWallet) @@ -138,6 +138,11 @@ ClientModel::StatusCode ClientModel::sendCoins(const QString &payTo, qint64 payA return OK; } +bool ClientModel::inInitialBlockDownload() const +{ + return IsInitialBlockDownload(); +} + OptionsModel *ClientModel::getOptionsModel() { return optionsModel; diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index 09d1fc921..f5f12fcfd 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -28,11 +28,14 @@ public: AddressTableModel *getAddressTableModel(); TransactionTableModel *getTransactionTableModel(); - qint64 getBalance(); - QString getAddress(); - int getNumConnections(); - int getNumBlocks(); - int getNumTransactions(); + qint64 getBalance() const; + QString getAddress() const; + int getNumConnections() const; + int getNumBlocks() const; + int getNumTransactions() const; + + /* Return true if core is doing initial block download */ + bool inInitialBlockDownload() const; /* Set default address */ void setAddress(const QString &defaultAddress);