diff options
author | Jaquee <jaquee.monero@gmail.com> | 2016-12-12 21:39:29 +0100 |
---|---|---|
committer | Jaquee <jaquee.monero@gmail.com> | 2016-12-12 21:50:50 +0100 |
commit | 3b4539ee7e75779029fc77d66263c0ae164af396 (patch) | |
tree | 8b340ead05c950767ba6f8776a864eff2afced39 /src/wallet/api/address_book.cpp | |
parent | Merge pull request #1424 (diff) | |
download | monero-3b4539ee7e75779029fc77d66263c0ae164af396.tar.xz |
addressbook updates
Diffstat (limited to 'src/wallet/api/address_book.cpp')
-rw-r--r-- | src/wallet/api/address_book.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/wallet/api/address_book.cpp b/src/wallet/api/address_book.cpp index 198ce17cd..edeb5bb46 100644 --- a/src/wallet/api/address_book.cpp +++ b/src/wallet/api/address_book.cpp @@ -79,16 +79,16 @@ void AddressBookImpl::refresh() LOG_PRINT_L2("Refreshing addressbook"); clearRows(); - - // Fetch from Wallet2 and create vector - for (auto const &a : m_wallet->m_wallet->get_address_book() ) { - auto row = a.second; - int rowId = a.first; - - std::string payment_id = (row.m_payment_id == cryptonote::null_hash)? "" : epee::string_tools::pod_to_hex(row.m_payment_id); - std::string address = cryptonote::get_account_address_as_str(m_wallet->m_wallet->testnet(),row.m_address); - - AddressBookRow * abr = new AddressBookRow(rowId, address, payment_id, row.m_description); + + // Fetch from Wallet2 and create vector of AddressBookRow objects + std::vector<tools::wallet2::address_book_row> rows = m_wallet->m_wallet->get_address_book(); + for (size_t i = 0; i < rows.size(); ++i) { + tools::wallet2::address_book_row * row = &rows.at(i); + + std::string payment_id = (row->m_payment_id == cryptonote::null_hash)? "" : epee::string_tools::pod_to_hex(row->m_payment_id); + std::string address = cryptonote::get_account_address_as_str(m_wallet->m_wallet->testnet(),row->m_address); + + AddressBookRow * abr = new AddressBookRow(i, address, payment_id, row->m_description); m_rows.push_back(abr); } @@ -98,7 +98,8 @@ bool AddressBookImpl::deleteRow(int rowId) { LOG_PRINT_L2("Deleting address book row " << rowId); bool r = m_wallet->m_wallet->delete_address_book_row(rowId); - refresh(); + if (r) + refresh(); return r; } |