diff options
Diffstat (limited to 'src/libwalletqt/Wallet.cpp')
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 64c7af2c..61a2920c 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -1,8 +1,10 @@ #include "Wallet.h" #include "PendingTransaction.h" #include "TransactionHistory.h" +#include "AddressBook.h" #include "model/TransactionHistoryModel.h" #include "model/TransactionHistorySortFilterModel.h" +#include "model/AddressBookModel.h" #include "wallet/wallet2_api.h" #include <QFile> @@ -11,6 +13,8 @@ #include <QUrl> #include <QTimer> #include <QtConcurrent/QtConcurrent> +#include <QList> +#include <QVector> namespace { static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 10; @@ -48,7 +52,6 @@ public: virtual void updated() { - qDebug() << __FUNCTION__; emit m_wallet->updated(); } @@ -324,6 +327,22 @@ TransactionHistorySortFilterModel *Wallet::historyModel() const return m_historySortFilterModel; } +AddressBook *Wallet::addressBook() const +{ + return m_addressBook; +} + +AddressBookModel *Wallet::addressBookModel() const +{ + + if (!m_addressBookModel) { + Wallet * w = const_cast<Wallet*>(this); + m_addressBookModel = new AddressBookModel(w,m_addressBook); + } + + return m_addressBookModel; +} + QString Wallet::generatePaymentId() const { @@ -437,6 +456,8 @@ Wallet::Wallet(Monero::Wallet *w, QObject *parent) , m_walletImpl(w) , m_history(nullptr) , m_historyModel(nullptr) + , m_addressBook(nullptr) + , m_addressBookModel(nullptr) , m_daemonBlockChainHeight(0) , m_daemonBlockChainHeightTtl(DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS) , m_daemonBlockChainTargetHeight(0) @@ -444,6 +465,7 @@ Wallet::Wallet(Monero::Wallet *w, QObject *parent) , m_connectionStatusTtl(WALLET_CONNECTION_STATUS_CACHE_TTL_SECONDS) { m_history = new TransactionHistory(m_walletImpl->history(), this); + m_addressBook = new AddressBook(m_walletImpl->addressBook(), this); m_walletImpl->setListener(new WalletListenerImpl(this)); m_connectionStatus = Wallet::ConnectionStatus_Disconnected; // start cache timers @@ -456,6 +478,9 @@ Wallet::Wallet(Monero::Wallet *w, QObject *parent) Wallet::~Wallet() { qDebug("~Wallet: Closing wallet"); + delete m_history; + Monero::WalletManagerFactory::getWalletManager()->closeWallet(m_walletImpl); + } |
