Prevent notification balloon-spam on initial block download, const-correctness in...
authorWladimir J. van der Laan <laanwj@gmail.com>
Sat, 18 Jun 2011 11:13:48 +0000 (13:13 +0200)
committerWladimir J. van der Laan <laanwj@gmail.com>
Sat, 18 Jun 2011 11:13:48 +0000 (13:13 +0200)
src/qt/bitcoingui.cpp
src/qt/clientmodel.cpp
src/qt/clientmodel.h

index 4d3efe2..028882f 100644 (file)
@@ -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)
index 10cafaf..822c03d 100644 (file)
@@ -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<unsigned char> 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;
index 09d1fc9..f5f12fc 100644 (file)
@@ -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);