diff options
| author | Wladimir J. van der Laan <[email protected]> | 2013-09-02 05:47:58 -0700 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2013-09-02 05:47:58 -0700 |
| commit | 1537d174d7fc8ac0a2a35637882b46d4cda57607 (patch) | |
| tree | 2a9c2c41ee826df1b954b0e67c6a6ba9d797aa9c /src/wallet.cpp | |
| parent | Merge pull request #2963 from Diapolo/log-qt (diff) | |
| parent | qt: Handle address purpose in incremental updates (diff) | |
| download | discoin-1537d174d7fc8ac0a2a35637882b46d4cda57607.tar.xz discoin-1537d174d7fc8ac0a2a35637882b46d4cda57607.zip | |
Merge pull request #2951 from laanwj/2013_08_addressbook_purpose
[Qt] Handle address purpose in incremental updates
Diffstat (limited to 'src/wallet.cpp')
| -rw-r--r-- | src/wallet.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wallet.cpp b/src/wallet.cpp index 7a3855c02..54ede12a5 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1461,7 +1461,11 @@ bool CWallet::SetAddressBook(const CTxDestination& address, const string& strNam { std::map<CTxDestination, CAddressBookData>::iterator mi = mapAddressBook.find(address); mapAddressBook[address].name = strName; - NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address), (mi == mapAddressBook.end()) ? CT_NEW : CT_UPDATED); + if (!strPurpose.empty()) /* update purpose only if requested */ + mapAddressBook[address].purpose = strPurpose; + NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address), + mapAddressBook[address].purpose, + (mi == mapAddressBook.end()) ? CT_NEW : CT_UPDATED); if (!fFileBacked) return false; if (!strPurpose.empty() && !CWalletDB(strWalletFile).WritePurpose(CBitcoinAddress(address).ToString(), strPurpose)) @@ -1472,7 +1476,7 @@ bool CWallet::SetAddressBook(const CTxDestination& address, const string& strNam bool CWallet::DelAddressBook(const CTxDestination& address) { mapAddressBook.erase(address); - NotifyAddressBookChanged(this, address, "", ::IsMine(*this, address), CT_DELETED); + NotifyAddressBookChanged(this, address, "", ::IsMine(*this, address), "", CT_DELETED); if (!fFileBacked) return false; CWalletDB(strWalletFile).ErasePurpose(CBitcoinAddress(address).ToString()); |