X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Foverviewpage.cpp;h=898f9402699effef27c98b5f41eaaef5a2c592b1;hb=1c4fc9052a444c114d9c1501d2c6d1305de650d0;hp=e864b7f72110cbf96374bbf54c2af1d9a3495640;hpb=84a4a7763f386934da90e2bd1e355b70023fa9ca;p=novacoin.git diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index e864b7f..898f940 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -92,7 +92,8 @@ public: OverviewPage::OverviewPage(QWidget *parent) : QWidget(parent), ui(new Ui::OverviewPage), - currentBalance(-1), + currentBalanceTotal(-1), + currentBalanceWatchOnly(0), currentStake(0), currentUnconfirmedBalance(-1), currentImmatureBalance(-1), @@ -128,14 +129,16 @@ OverviewPage::~OverviewPage() delete ui; } -void OverviewPage::setBalance(qint64 balance, qint64 stake, qint64 unconfirmedBalance, qint64 immatureBalance) +void OverviewPage::setBalance(qint64 total, qint64 watchOnly, qint64 stake, qint64 unconfirmedBalance, qint64 immatureBalance) { int unit = model->getOptionsModel()->getDisplayUnit(); - currentBalance = balance; + currentBalanceTotal = total; + currentBalanceWatchOnly = watchOnly; currentStake = stake; currentUnconfirmedBalance = unconfirmedBalance; currentImmatureBalance = immatureBalance; - ui->labelBalance->setText(BitcoinUnits::formatWithUnit(unit, balance)); + ui->labelBalanceTotal->setText(BitcoinUnits::formatWithUnit(unit, total)); + ui->labelBalanceWatchOnly->setText(BitcoinUnits::formatWithUnit(unit, watchOnly)); ui->labelStake->setText(BitcoinUnits::formatWithUnit(unit, stake)); ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit(unit, unconfirmedBalance)); ui->labelImmature->setText(BitcoinUnits::formatWithUnit(unit, immatureBalance)); @@ -145,6 +148,12 @@ void OverviewPage::setBalance(qint64 balance, qint64 stake, qint64 unconfirmedBa bool showImmature = immatureBalance != 0; ui->labelImmature->setVisible(showImmature); ui->labelImmatureText->setVisible(showImmature); + + // only show watch-only balance if it's non-zero, so as not to complicate things + // for users + bool showWatchOnly = watchOnly != 0; + ui->labelBalanceWatchOnly->setVisible(showWatchOnly); + ui->labelBalanceWatchOnlyText->setVisible(showWatchOnly); } void OverviewPage::setNumTransactions(int count) @@ -162,15 +171,16 @@ void OverviewPage::setModel(WalletModel *model) filter->setSourceModel(model->getTransactionTableModel()); filter->setLimit(NUM_ITEMS); filter->setDynamicSortFilter(true); - filter->setSortRole(Qt::EditRole); +// filter->setSortRole(Qt::EditRole); + filter->setSortRole(TransactionTableModel::DateRole); filter->sort(TransactionTableModel::Status, Qt::DescendingOrder); ui->listTransactions->setModel(filter); ui->listTransactions->setModelColumn(TransactionTableModel::ToAddress); // Keep up to date with wallet - setBalance(model->getBalance(), model->getStake(), model->getUnconfirmedBalance(), model->getImmatureBalance()); - connect(model, SIGNAL(balanceChanged(qint64, qint64, qint64, qint64)), this, SLOT(setBalance(qint64, qint64, qint64, qint64))); + setBalance(model->getBalance(), model->getBalanceWatchOnly(), model->getStake(), model->getUnconfirmedBalance(), model->getImmatureBalance()); + connect(model, SIGNAL(balanceChanged(qint64, qint64, qint64, qint64, qint64)), this, SLOT(setBalance(qint64, qint64, qint64, qint64, qint64))); setNumTransactions(model->getNumTransactions()); connect(model, SIGNAL(numTransactionsChanged(int)), this, SLOT(setNumTransactions(int))); @@ -186,8 +196,8 @@ void OverviewPage::updateDisplayUnit() { if(model && model->getOptionsModel()) { - if(currentBalance != -1) - setBalance(currentBalance, model->getStake(), currentUnconfirmedBalance, currentImmatureBalance); + if(currentBalanceTotal != -1) + setBalance(currentBalanceTotal, currentBalanceWatchOnly, model->getStake(), currentUnconfirmedBalance, currentImmatureBalance); // Update txdelegate->unit with the current unit txdelegate->unit = model->getOptionsModel()->getDisplayUnit();