Browse Source

Show all addresses in the balances table

pull/14/head
Aditya Kulkarni 5 years ago
parent
commit
b687306cf7
  1. 20
      src/balancestablemodel.cpp
  2. 2
      src/balancestablemodel.h
  3. 5
      src/controller.cpp
  4. 1
      src/mainwindow.cpp

20
src/balancestablemodel.cpp

@ -7,8 +7,8 @@ BalancesTableModel::BalancesTableModel(QObject *parent)
: QAbstractTableModel(parent) {
}
void BalancesTableModel::setNewData(const QMap<QString, qint64> balances,
const QList<UnspentOutput> outputs)
void BalancesTableModel::setNewData(const QList<QString> zaddrs, const QList<QString> taddrs,
const QMap<QString, qint64> balances, const QList<UnspentOutput> outputs)
{
loading = false;
@ -24,10 +24,22 @@ void BalancesTableModel::setNewData(const QMap<QString, qint64> balances,
delete modeldata;
modeldata = new QList<std::tuple<QString, qint64>>();
std::for_each(balances.keyBegin(), balances.keyEnd(), [=] (auto keyIt) {
if (balances.value(keyIt) > 0)
modeldata->push_back(std::make_tuple(keyIt, balances.value(keyIt)));
modeldata->push_back(std::make_tuple(keyIt, balances.value(keyIt)));
});
// Add all addresses that have no balances as well
for (auto zaddr: zaddrs) {
if (!balances.contains(zaddr)) {
modeldata->push_back(std::make_tuple(zaddr, 0));
}
}
for (auto taddr: taddrs) {
if (!balances.contains(taddr)) {
modeldata->push_back(std::make_tuple(taddr, 0));
}
}
// And then update the data
dataChanged(index(0, 0), index(modeldata->size()-1, columnCount(index(0,0))-1));

2
src/balancestablemodel.h

@ -10,7 +10,7 @@ public:
BalancesTableModel(QObject* parent);
~BalancesTableModel();
void setNewData(const QMap<QString, qint64> balances, const QList<UnspentOutput> outputs);
void setNewData(const QList<QString> zaddrs, const QList<QString> taddrs, const QMap<QString, qint64> balances, const QList<UnspentOutput> outputs);
int rowCount(const QModelIndex &parent) const;
int columnCount(const QModelIndex &parent) const;

5
src/controller.cpp

@ -117,7 +117,8 @@ void Controller::noConnection() {
// Clear balances table.
QMap<QString, qint64> emptyBalances;
QList<UnspentOutput> emptyOutputs;
balancesTableModel->setNewData(emptyBalances, emptyOutputs);
QList<QString> emptyAddresses;
balancesTableModel->setNewData(emptyAddresses, emptyAddresses, emptyBalances, emptyOutputs);
// Clear Transactions table.
QList<TransactionItem> emptyTxs;
@ -243,7 +244,7 @@ void Controller::updateUI(bool anyUnconfirmed) {
ui->unconfirmedWarning->setVisible(anyUnconfirmed);
// Update balances model data, which will update the table too
balancesTableModel->setNewData(model->getAllBalances(), model->getUTXOs());
balancesTableModel->setNewData(model->getAllZAddresses(), model->getAllTAddresses(), model->getAllBalances(), model->getUTXOs());
// Update from address
main->updateFromCombo();

1
src/mainwindow.cpp

@ -303,7 +303,6 @@ void MainWindow::setupSettingsModal() {
auto cl = new ConnectionLoader(this, rpc);
cl->loadConnection();
}
}
});
}

Loading…
Cancel
Save