mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
Update UI through async calls MainFrameRepaint and AddressBookRepaint instead of a timer.
- Overall, this is better design - This fixes problems with the address book UI not updating when the address book is changed through RPC - Move Statusbar change detection responsibility to ClientModel
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include "headers.h"
|
||||
#include "db.h" // for BackupWallet
|
||||
|
||||
#include <QTimer>
|
||||
#include <QSet>
|
||||
|
||||
WalletModel::WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent) :
|
||||
@@ -16,12 +15,6 @@ WalletModel::WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *p
|
||||
cachedBalance(0), cachedUnconfirmedBalance(0), cachedNumTransactions(0),
|
||||
cachedEncryptionStatus(Unencrypted)
|
||||
{
|
||||
// Until signal notifications is built into the bitcoin core,
|
||||
// simply update everything after polling using a timer.
|
||||
QTimer *timer = new QTimer(this);
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
|
||||
timer->start(MODEL_UPDATE_DELAY);
|
||||
|
||||
addressTableModel = new AddressTableModel(wallet, this);
|
||||
transactionTableModel = new TransactionTableModel(wallet, this);
|
||||
}
|
||||
@@ -69,6 +62,11 @@ void WalletModel::update()
|
||||
addressTableModel->update();
|
||||
}
|
||||
|
||||
void WalletModel::updateAddressList()
|
||||
{
|
||||
addressTableModel->update();
|
||||
}
|
||||
|
||||
bool WalletModel::validateAddress(const QString &address)
|
||||
{
|
||||
CBitcoinAddress addressParsed(address.toStdString());
|
||||
@@ -164,9 +162,6 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList<SendCoinsRecipie
|
||||
}
|
||||
}
|
||||
|
||||
// Update our model of the address table
|
||||
addressTableModel->updateList();
|
||||
|
||||
return SendCoinsReturn(OK, 0, hex);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user