Allow AddressBook description edits via wallet/api interface

This commit is contained in:
dsc 2020-09-19 18:29:46 +02:00
parent d27d4526fe
commit 1b3f220251
3 changed files with 21 additions and 0 deletions

View file

@ -70,6 +70,25 @@ bool AddressBookImpl::addRow(const std::string &dst_addr , const std::string &pa
return r; return r;
} }
bool AddressBookImpl::setDescription(std::size_t index, const std::string &description)
{
clearStatus();
const auto ab = m_wallet->m_wallet->get_address_book();
if (index >= ab.size()){
return false;
}
tools::wallet2::address_book_row entry = ab[index];
entry.m_description = description;
bool r = m_wallet->m_wallet->set_address_book_row(index, entry.m_address, NULL, entry.m_description, entry.m_is_subaddress);
if (r)
refresh();
else
m_errorCode = General_Error;
return r;
}
void AddressBookImpl::refresh() void AddressBookImpl::refresh()
{ {
LOG_PRINT_L2("Refreshing addressbook"); LOG_PRINT_L2("Refreshing addressbook");

View file

@ -45,6 +45,7 @@ public:
void refresh() override; void refresh() override;
std::vector<AddressBookRow*> getAll() const override; std::vector<AddressBookRow*> getAll() const override;
bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) override; bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) override;
bool setDescription(std::size_t index, const std::string &description) override;
bool deleteRow(std::size_t rowId) override; bool deleteRow(std::size_t rowId) override;
// Error codes. See AddressBook:ErrorCode enum in wallet2_api.h // Error codes. See AddressBook:ErrorCode enum in wallet2_api.h

View file

@ -250,6 +250,7 @@ struct AddressBook
virtual std::vector<AddressBookRow*> getAll() const = 0; virtual std::vector<AddressBookRow*> getAll() const = 0;
virtual bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) = 0; virtual bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) = 0;
virtual bool deleteRow(std::size_t rowId) = 0; virtual bool deleteRow(std::size_t rowId) = 0;
virtual bool setDescription(std::size_t index, const std::string &description) = 0;
virtual void refresh() = 0; virtual void refresh() = 0;
virtual std::string errorString() const = 0; virtual std::string errorString() const = 0;
virtual int errorCode() const = 0; virtual int errorCode() const = 0;