aboutsummaryrefslogtreecommitdiff
path: root/src/model/SubaddressAccountModel.cpp
diff options
context:
space:
mode:
authorselsta <selsta@sent.at>2019-01-14 13:25:59 +0100
committerselsta <selsta@sent.at>2019-01-22 23:07:30 +0100
commitbd809abc52cc8d312c0023cfc9ae2d14e191d0b5 (patch)
tree0fa88add33f5c5aea7ebd492ce32f3a03ae07a40 /src/model/SubaddressAccountModel.cpp
parent9689fff957ba994b619a2a7fb881598a997f66c2 (diff)
downloadmonzero-gui-bd809abc52cc8d312c0023cfc9ae2d14e191d0b5.tar.gz
monzero-gui-bd809abc52cc8d312c0023cfc9ae2d14e191d0b5.tar.xz
monzero-gui-bd809abc52cc8d312c0023cfc9ae2d14e191d0b5.zip
add account support
Co-authored-by: kenshi84 <kenshi84@protonmail.ch>
Diffstat (limited to 'src/model/SubaddressAccountModel.cpp')
-rw-r--r--src/model/SubaddressAccountModel.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/model/SubaddressAccountModel.cpp b/src/model/SubaddressAccountModel.cpp
new file mode 100644
index 00000000..fa2ce0b2
--- /dev/null
+++ b/src/model/SubaddressAccountModel.cpp
@@ -0,0 +1,66 @@
+#include "SubaddressAccountModel.h"
+#include "SubaddressAccount.h"
+#include <QDebug>
+#include <QHash>
+#include <wallet/api/wallet2_api.h>
+
+SubaddressAccountModel::SubaddressAccountModel(QObject *parent, SubaddressAccount *subaddressAccount)
+ : QAbstractListModel(parent), m_subaddressAccount(subaddressAccount)
+{
+ qDebug(__FUNCTION__);
+ connect(m_subaddressAccount,SIGNAL(refreshStarted()),this,SLOT(startReset()));
+ connect(m_subaddressAccount,SIGNAL(refreshFinished()),this,SLOT(endReset()));
+}
+
+void SubaddressAccountModel::startReset(){
+ qDebug("SubaddressAccountModel::startReset");
+ beginResetModel();
+}
+void SubaddressAccountModel::endReset(){
+ qDebug("SubaddressAccountModel::endReset");
+ endResetModel();
+}
+
+int SubaddressAccountModel::rowCount(const QModelIndex &parent) const
+{
+ return m_subaddressAccount->count();
+}
+
+QVariant SubaddressAccountModel::data(const QModelIndex &index, int role) const
+{
+ if (!index.isValid() || index.row() < 0 || (unsigned)index.row() >= m_subaddressAccount->count())
+ return {};
+
+ Monero::SubaddressAccountRow * sr = m_subaddressAccount->getRow(index.row());
+
+ QVariant result = "";
+ switch (role) {
+ case SubaddressAccountAddressRole:
+ result = QString::fromStdString(sr->getAddress());
+ break;
+ case SubaddressAccountLabelRole:
+ result = QString::fromStdString(sr->getLabel());
+ break;
+ case SubaddressAccountBalanceRole:
+ result = QString::fromStdString(sr->getBalance());
+ break;
+ case SubaddressAccountUnlockedBalanceRole:
+ result = QString::fromStdString(sr->getUnlockedBalance());
+ break;
+ }
+
+ return result;
+}
+
+QHash<int, QByteArray> SubaddressAccountModel::roleNames() const
+{
+ static QHash<int, QByteArray> roleNames;
+ if (roleNames.empty())
+ {
+ roleNames.insert(SubaddressAccountAddressRole, "address");
+ roleNames.insert(SubaddressAccountLabelRole, "label");
+ roleNames.insert(SubaddressAccountBalanceRole, "balance");
+ roleNames.insert(SubaddressAccountUnlockedBalanceRole, "unlockedBalance");
+ }
+ return roleNames;
+}