changeset 1077:a58b12afb2fb draft

Prevent notification balloon-spam on initial block download, const-correctness in client model
author Wladimir J. van der Laan <laanwj@gmail.com>
date Sat, 18 Jun 2011 13:13:48 +0200 (2011-06-18)
parents 01bf48790a02
children 362f4512e8c9
files src/qt/bitcoingui.cpp src/qt/clientmodel.cpp src/qt/clientmodel.h
diffstat 3 files changed, 20 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -441,9 +441,10 @@
                     .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)
--- a/src/qt/clientmodel.cpp
+++ b/src/qt/clientmodel.cpp
@@ -22,12 +22,12 @@
     transactionTableModel = new TransactionTableModel(this);
 }
 
-qint64 ClientModel::getBalance()
+qint64 ClientModel::getBalance() const
 {
     return GetBalance();
 }
 
-QString ClientModel::getAddress()
+QString ClientModel::getAddress() const
 {
     std::vector<unsigned char> vchPubKey;
     if (CWalletDB("r").ReadDefaultKey(vchPubKey))
@@ -40,17 +40,17 @@
     }
 }
 
-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 @@
     return OK;
 }
 
+bool ClientModel::inInitialBlockDownload() const
+{
+    return IsInitialBlockDownload();
+}
+
 OptionsModel *ClientModel::getOptionsModel()
 {
     return optionsModel;
--- a/src/qt/clientmodel.h
+++ b/src/qt/clientmodel.h
@@ -28,11 +28,14 @@
     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);