diff options
| author | Jaquee <jaquee.monero@gmail.com> | 2016-12-10 02:01:04 +0100 |
|---|---|---|
| committer | Jaquee <jaquee.monero@gmail.com> | 2016-12-14 23:04:13 +0100 |
| commit | a344f17cd1716c34672e2c201137d772b165da2e (patch) | |
| tree | 6c59feb8e6ca336499094814d2e2a5900eb91f29 /src/libwalletqt/AddressBook.cpp | |
| parent | 160a042165b8ff68904b847f46dba4aa95553a62 (diff) | |
| download | monzero-gui-a344f17cd1716c34672e2c201137d772b165da2e.tar.gz monzero-gui-a344f17cd1716c34672e2c201137d772b165da2e.tar.xz monzero-gui-a344f17cd1716c34672e2c201137d772b165da2e.zip | |
AddressBook: basic functions
Diffstat (limited to 'src/libwalletqt/AddressBook.cpp')
| -rw-r--r-- | src/libwalletqt/AddressBook.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/libwalletqt/AddressBook.cpp b/src/libwalletqt/AddressBook.cpp new file mode 100644 index 00000000..971fa17b --- /dev/null +++ b/src/libwalletqt/AddressBook.cpp @@ -0,0 +1,70 @@ +#include "AddressBook.h" +#include <QDebug> + +AddressBook::AddressBook(Bitmonero::AddressBook *abImpl,QObject *parent) + : QObject(parent), m_addressBookImpl(abImpl) +{ + qDebug(__FUNCTION__); + getAll(); +} + +QString AddressBook::errorString() const +{ + return QString::fromStdString(m_addressBookImpl->errorString()); +} + +int AddressBook::errorCode() const +{ + return m_addressBookImpl->errorCode(); +} + +QList<Bitmonero::AddressBookRow*> AddressBook::getAll(bool update) const +{ + qDebug(__FUNCTION__); + + emit refreshStarted(); + + if(update) + m_rows.clear(); + + if (m_rows.empty()){ + for (auto &abr: m_addressBookImpl->getAll()) { + m_rows.append(abr); + } + } + + emit refreshFinished(); + return m_rows; + +} + +Bitmonero::AddressBookRow * AddressBook::getRow(int index) const +{ + return m_rows.at(index); +} + +bool AddressBook::addRow(const QString &address, const QString &payment_id, const QString &description) const +{ + // virtual bool addRow(const std::string &dst_addr , const std::string &payment_id, const std::string &description) = 0; + bool r = m_addressBookImpl->addRow(address.toStdString(), payment_id.toStdString(), description.toStdString()); + + if(r) + getAll(true); + + return r; +} + +bool AddressBook::deleteRow(int rowId) const +{ + bool r = m_addressBookImpl->deleteRow(rowId); + + // Fetch new data from wallet2. + getAll(true); + + return r; +} + +quint64 AddressBook::count() const +{ + return m_rows.size(); +} |
