Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13711399
D2899.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
12 KB
Subscribers
None
D2899.diff
View Options
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -5,7 +5,7 @@
#ifndef BITCOIN_QT_OVERVIEWPAGE_H
#define BITCOIN_QT_OVERVIEWPAGE_H
-#include "amount.h"
+#include <interfaces/wallet.h>
#include <QWidget>
#include <memory>
@@ -38,10 +38,7 @@
void showOutOfSyncWarning(bool fShow);
public Q_SLOTS:
- void setBalance(const Amount balance, const Amount unconfirmedBalance,
- const Amount immatureBalance, const Amount watchOnlyBalance,
- const Amount watchUnconfBalance,
- const Amount watchImmatureBalance);
+ void setBalance(const interfaces::WalletBalances &balances);
Q_SIGNALS:
void transactionClicked(const QModelIndex &index);
@@ -51,12 +48,7 @@
Ui::OverviewPage *ui;
ClientModel *clientModel;
WalletModel *walletModel;
- Amount currentBalance;
- Amount currentUnconfirmedBalance;
- Amount currentImmatureBalance;
- Amount currentWatchOnlyBalance;
- Amount currentWatchUnconfBalance;
- Amount currentWatchImmatureBalance;
+ interfaces::WalletBalances m_balances;
TxViewDelegate *txdelegate;
std::unique_ptr<TransactionFilterProxy> filter;
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -2,18 +2,18 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#include "overviewpage.h"
-#include "ui_overviewpage.h"
-
-#include "bitcoinunits.h"
-#include "clientmodel.h"
-#include "guiconstants.h"
-#include "guiutil.h"
-#include "optionsmodel.h"
-#include "platformstyle.h"
-#include "transactionfilterproxy.h"
-#include "transactiontablemodel.h"
-#include "walletmodel.h"
+#include <qt/forms/ui_overviewpage.h>
+#include <qt/overviewpage.h>
+
+#include <qt/bitcoinunits.h>
+#include <qt/clientmodel.h>
+#include <qt/guiconstants.h>
+#include <qt/guiutil.h>
+#include <qt/optionsmodel.h>
+#include <qt/platformstyle.h>
+#include <qt/transactionfilterproxy.h>
+#include <qt/transactiontablemodel.h>
+#include <qt/walletmodel.h>
#include <QAbstractItemDelegate>
#include <QPainter>
@@ -21,6 +21,8 @@
#define DECORATION_SIZE 54
#define NUM_ITEMS 5
+Q_DECLARE_METATYPE(interfaces::WalletBalances)
+
class TxViewDelegate : public QAbstractItemDelegate {
Q_OBJECT
public:
@@ -110,18 +112,15 @@
int unit;
const PlatformStyle *platformStyle;
};
-
-#include "overviewpage.moc"
+#include <qt/overviewpage.moc>
OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
: QWidget(parent), ui(new Ui::OverviewPage), clientModel(0), walletModel(0),
- currentBalance(-SATOSHI), currentUnconfirmedBalance(-SATOSHI),
- currentImmatureBalance(-SATOSHI), currentWatchOnlyBalance(-SATOSHI),
- currentWatchUnconfBalance(-SATOSHI),
- currentWatchImmatureBalance(-SATOSHI),
txdelegate(new TxViewDelegate(platformStyle, this)) {
ui->setupUi(this);
+ m_balances.balance = -SATOSHI;
+
// use a SingleColorIcon for the "out of sync warning" icon
QIcon icon = platformStyle->SingleColorIcon(":/icons/warning");
// also set the disabled icon because we are using a disabled QPushButton to
@@ -160,43 +159,41 @@
delete ui;
}
-void OverviewPage::setBalance(const Amount balance,
- const Amount unconfirmedBalance,
- const Amount immatureBalance,
- const Amount watchOnlyBalance,
- const Amount watchUnconfBalance,
- const Amount watchImmatureBalance) {
+void OverviewPage::setBalance(const interfaces::WalletBalances &balances) {
int unit = walletModel->getOptionsModel()->getDisplayUnit();
- currentBalance = balance;
- currentUnconfirmedBalance = unconfirmedBalance;
- currentImmatureBalance = immatureBalance;
- currentWatchOnlyBalance = watchOnlyBalance;
- currentWatchUnconfBalance = watchUnconfBalance;
- currentWatchImmatureBalance = watchImmatureBalance;
+ m_balances = balances;
ui->labelBalance->setText(BitcoinUnits::formatWithUnit(
- unit, balance, false, BitcoinUnits::separatorAlways));
- ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit(
- unit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
+ unit, balances.balance, false, BitcoinUnits::separatorAlways));
+ ui->labelUnconfirmed->setText(
+ BitcoinUnits::formatWithUnit(unit, balances.unconfirmed_balance, false,
+ BitcoinUnits::separatorAlways));
ui->labelImmature->setText(BitcoinUnits::formatWithUnit(
- unit, immatureBalance, false, BitcoinUnits::separatorAlways));
+ unit, balances.immature_balance, false, BitcoinUnits::separatorAlways));
ui->labelTotal->setText(BitcoinUnits::formatWithUnit(
- unit, balance + unconfirmedBalance + immatureBalance, false,
- BitcoinUnits::separatorAlways));
- ui->labelWatchAvailable->setText(BitcoinUnits::formatWithUnit(
- unit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
+ unit,
+ balances.balance + balances.unconfirmed_balance +
+ balances.immature_balance,
+ false, BitcoinUnits::separatorAlways));
+ ui->labelWatchAvailable->setText(
+ BitcoinUnits::formatWithUnit(unit, balances.watch_only_balance, false,
+ BitcoinUnits::separatorAlways));
ui->labelWatchPending->setText(BitcoinUnits::formatWithUnit(
- unit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
- ui->labelWatchImmature->setText(BitcoinUnits::formatWithUnit(
- unit, watchImmatureBalance, false, BitcoinUnits::separatorAlways));
+ unit, balances.unconfirmed_watch_only_balance, false,
+ BitcoinUnits::separatorAlways));
+ ui->labelWatchImmature->setText(
+ BitcoinUnits::formatWithUnit(unit, balances.immature_watch_only_balance,
+ false, BitcoinUnits::separatorAlways));
ui->labelWatchTotal->setText(BitcoinUnits::formatWithUnit(
- unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance,
+ unit,
+ balances.watch_only_balance + balances.unconfirmed_watch_only_balance +
+ balances.immature_watch_only_balance,
false, BitcoinUnits::separatorAlways));
// only show immature (newly mined) balance if it's non-zero, so as not to
- // complicate things
- // for the non-mining users
- bool showImmature = immatureBalance != Amount::zero();
- bool showWatchOnlyImmature = watchImmatureBalance != Amount::zero();
+ // complicate things for the non-mining users
+ bool showImmature = balances.immature_balance != Amount::zero();
+ bool showWatchOnlyImmature =
+ balances.immature_watch_only_balance != Amount::zero();
// for symmetry reasons also show immature label when the watch-only one is
// shown
@@ -254,16 +251,9 @@
// Keep up to date with wallet
interfaces::Wallet &wallet = model->wallet();
interfaces::WalletBalances balances = wallet.getBalances();
- setBalance(balances.balance, balances.unconfirmed_balance,
- balances.immature_balance, balances.watch_only_balance,
- balances.unconfirmed_watch_only_balance,
- balances.immature_watch_only_balance);
- connect(
- model,
- SIGNAL(
- balanceChanged(Amount, Amount, Amount, Amount, Amount, Amount)),
- this,
- SLOT(setBalance(Amount, Amount, Amount, Amount, Amount, Amount)));
+ setBalance(balances);
+ connect(model, SIGNAL(balanceChanged(interfaces::WalletBalances)), this,
+ SLOT(setBalance(interfaces::WalletBalances)));
connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this,
SLOT(updateDisplayUnit()));
@@ -279,10 +269,8 @@
void OverviewPage::updateDisplayUnit() {
if (walletModel && walletModel->getOptionsModel()) {
- if (currentBalance != -SATOSHI) {
- setBalance(currentBalance, currentUnconfirmedBalance,
- currentImmatureBalance, currentWatchOnlyBalance,
- currentWatchUnconfBalance, currentWatchImmatureBalance);
+ if (m_balances.balance != -SATOSHI) {
+ setBalance(m_balances);
}
// Update txdelegate->unit with the current unit
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -5,7 +5,7 @@
#ifndef BITCOIN_QT_SENDCOINSDIALOG_H
#define BITCOIN_QT_SENDCOINSDIALOG_H
-#include "walletmodel.h"
+#include <qt/walletmodel.h>
#include <QDialog>
#include <QMessageBox>
@@ -55,10 +55,7 @@
void accept() override;
SendCoinsEntry *addEntry();
void updateTabsAndLabels();
- void setBalance(const Amount balance, const Amount unconfirmedBalance,
- const Amount immatureBalance, const Amount watchOnlyBalance,
- const Amount watchUnconfBalance,
- const Amount watchImmatureBalance);
+ void setBalance(const interfaces::WalletBalances &balances);
Q_SIGNALS:
void coinsSent(const uint256 &txid);
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -165,16 +165,9 @@
}
interfaces::WalletBalances balances = _model->wallet().getBalances();
- setBalance(balances.balance, balances.unconfirmed_balance,
- balances.immature_balance, balances.watch_only_balance,
- balances.unconfirmed_watch_only_balance,
- balances.immature_watch_only_balance);
- connect(
- _model,
- SIGNAL(
- balanceChanged(Amount, Amount, Amount, Amount, Amount, Amount)),
- this,
- SLOT(setBalance(Amount, Amount, Amount, Amount, Amount, Amount)));
+ setBalance(balances);
+ connect(_model, SIGNAL(balanceChanged(interfaces::WalletBalances)),
+ this, SLOT(setBalance(interfaces::WalletBalances)));
connect(_model->getOptionsModel(), SIGNAL(displayUnitChanged(int)),
this, SLOT(updateDisplayUnit()));
updateDisplayUnit();
@@ -529,27 +522,15 @@
return true;
}
-void SendCoinsDialog::setBalance(const Amount balance,
- const Amount unconfirmedBalance,
- const Amount immatureBalance,
- const Amount watchBalance,
- const Amount watchUnconfirmedBalance,
- const Amount watchImmatureBalance) {
- Q_UNUSED(unconfirmedBalance);
- Q_UNUSED(immatureBalance);
- Q_UNUSED(watchBalance);
- Q_UNUSED(watchUnconfirmedBalance);
- Q_UNUSED(watchImmatureBalance);
-
+void SendCoinsDialog::setBalance(const interfaces::WalletBalances &balances) {
if (model && model->getOptionsModel()) {
ui->labelBalance->setText(BitcoinUnits::formatWithUnit(
- model->getOptionsModel()->getDisplayUnit(), balance));
+ model->getOptionsModel()->getDisplayUnit(), balances.balance));
}
}
void SendCoinsDialog::updateDisplayUnit() {
- setBalance(model->wallet().getBalance(), Amount::zero(), Amount::zero(),
- Amount::zero(), Amount::zero(), Amount::zero());
+ setBalance(model->wallet().getBalances());
ui->customFee->setDisplayUnit(model->getOptionsModel()->getDisplayUnit());
updateMinFeeLabel();
updateSmartFeeLabel();
diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h
--- a/src/qt/walletmodel.h
+++ b/src/qt/walletmodel.h
@@ -251,11 +251,7 @@
Q_SIGNALS:
// Signal that balance in wallet changed
- void balanceChanged(const Amount balance, const Amount unconfirmedBalance,
- const Amount immatureBalance,
- const Amount watchOnlyBalance,
- const Amount watchUnconfBalance,
- const Amount watchImmatureBalance);
+ void balanceChanged(const interfaces::WalletBalances &balances);
// Encryption status of wallet changed
void encryptionStatusChanged();
diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp
--- a/src/qt/walletmodel.cpp
+++ b/src/qt/walletmodel.cpp
@@ -87,11 +87,7 @@
const interfaces::WalletBalances &new_balances) {
if (new_balances.balanceChanged(m_cached_balances)) {
m_cached_balances = new_balances;
- Q_EMIT balanceChanged(
- new_balances.balance, new_balances.unconfirmed_balance,
- new_balances.immature_balance, new_balances.watch_only_balance,
- new_balances.unconfirmed_watch_only_balance,
- new_balances.immature_watch_only_balance);
+ Q_EMIT balanceChanged(new_balances);
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 11:51 (2 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5573466
Default Alt Text
D2899.diff (12 KB)
Attached To
D2899: Use WalletBalances struct in Qt
Event Timeline
Log In to Comment