Changeset View
Changeset View
Standalone View
Standalone View
src/qt/overviewpage.cpp
Show All 10 Lines | |||||
#include <qt/guiutil.h> | #include <qt/guiutil.h> | ||||
#include <qt/optionsmodel.h> | #include <qt/optionsmodel.h> | ||||
#include <qt/platformstyle.h> | #include <qt/platformstyle.h> | ||||
#include <qt/transactionfilterproxy.h> | #include <qt/transactionfilterproxy.h> | ||||
#include <qt/transactiontablemodel.h> | #include <qt/transactiontablemodel.h> | ||||
#include <qt/walletmodel.h> | #include <qt/walletmodel.h> | ||||
#include <QAbstractItemDelegate> | #include <QAbstractItemDelegate> | ||||
#include <QApplication> | |||||
#include <QPainter> | #include <QPainter> | ||||
#include <QStatusTipEvent> | |||||
#define DECORATION_SIZE 54 | #define DECORATION_SIZE 54 | ||||
#define NUM_ITEMS 5 | #define NUM_ITEMS 5 | ||||
Q_DECLARE_METATYPE(interfaces::WalletBalances) | Q_DECLARE_METATYPE(interfaces::WalletBalances) | ||||
class TxViewDelegate : public QAbstractItemDelegate { | class TxViewDelegate : public QAbstractItemDelegate { | ||||
Q_OBJECT | Q_OBJECT | ||||
▲ Show 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | if (filter) { | ||||
Q_EMIT transactionClicked(filter->mapToSource(index)); | Q_EMIT transactionClicked(filter->mapToSource(index)); | ||||
} | } | ||||
} | } | ||||
void OverviewPage::handleOutOfSyncWarningClicks() { | void OverviewPage::handleOutOfSyncWarningClicks() { | ||||
Q_EMIT outOfSyncWarningClicked(); | Q_EMIT outOfSyncWarningClicked(); | ||||
} | } | ||||
void OverviewPage::setPrivacy(bool privacy) { | |||||
m_privacy = privacy; | |||||
if (m_balances.balance != -Amount::satoshi()) { | |||||
setBalance(m_balances); | |||||
} | |||||
ui->listTransactions->setVisible(!m_privacy); | |||||
const QString status_tip = | |||||
m_privacy ? tr("Privacy mode activated for the Overview tab. To unmask " | |||||
"the values, uncheck Settings->Mask values.") | |||||
: ""; | |||||
setStatusTip(status_tip); | |||||
QStatusTipEvent event(status_tip); | |||||
QApplication::sendEvent(this, &event); | |||||
} | |||||
OverviewPage::~OverviewPage() { | OverviewPage::~OverviewPage() { | ||||
delete ui; | delete ui; | ||||
} | } | ||||
void OverviewPage::setBalance(const interfaces::WalletBalances &balances) { | void OverviewPage::setBalance(const interfaces::WalletBalances &balances) { | ||||
int unit = walletModel->getOptionsModel()->getDisplayUnit(); | int unit = walletModel->getOptionsModel()->getDisplayUnit(); | ||||
m_balances = balances; | m_balances = balances; | ||||
if (walletModel->wallet().isLegacy()) { | if (walletModel->wallet().isLegacy()) { | ||||
if (walletModel->wallet().privateKeysDisabled()) { | if (walletModel->wallet().privateKeysDisabled()) { | ||||
ui->labelBalance->setText(BitcoinUnits::formatWithUnit( | ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.watch_only_balance, false, | unit, balances.watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit( | ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.unconfirmed_watch_only_balance, false, | unit, balances.unconfirmed_watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelImmature->setText(BitcoinUnits::formatWithUnit( | ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.immature_watch_only_balance, false, | unit, balances.immature_watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelTotal->setText(BitcoinUnits::formatWithUnit( | ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, | unit, | ||||
balances.watch_only_balance + | balances.watch_only_balance + | ||||
balances.unconfirmed_watch_only_balance + | balances.unconfirmed_watch_only_balance + | ||||
balances.immature_watch_only_balance, | balances.immature_watch_only_balance, | ||||
false, BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
} else { | } else { | ||||
ui->labelBalance->setText(BitcoinUnits::formatWithUnit( | ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.balance, false, BitcoinUnits::separatorAlways)); | unit, balances.balance, BitcoinUnits::separatorAlways, | ||||
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit( | m_privacy)); | ||||
unit, balances.unconfirmed_balance, false, | ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy( | ||||
BitcoinUnits::separatorAlways)); | unit, balances.unconfirmed_balance, | ||||
ui->labelImmature->setText(BitcoinUnits::formatWithUnit( | BitcoinUnits::separatorAlways, m_privacy)); | ||||
unit, balances.immature_balance, false, | ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy( | ||||
BitcoinUnits::separatorAlways)); | unit, balances.immature_balance, BitcoinUnits::separatorAlways, | ||||
ui->labelTotal->setText(BitcoinUnits::formatWithUnit( | m_privacy)); | ||||
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy( | |||||
unit, | unit, | ||||
balances.balance + balances.unconfirmed_balance + | balances.balance + balances.unconfirmed_balance + | ||||
balances.immature_balance, | balances.immature_balance, | ||||
false, BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelWatchAvailable->setText(BitcoinUnits::formatWithUnit( | ui->labelWatchAvailable->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.watch_only_balance, false, | unit, balances.watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelWatchPending->setText(BitcoinUnits::formatWithUnit( | ui->labelWatchPending->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.unconfirmed_watch_only_balance, false, | unit, balances.unconfirmed_watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelWatchImmature->setText(BitcoinUnits::formatWithUnit( | ui->labelWatchImmature->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.immature_watch_only_balance, false, | unit, balances.immature_watch_only_balance, | ||||
BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelWatchTotal->setText(BitcoinUnits::formatWithUnit( | ui->labelWatchTotal->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, | unit, | ||||
balances.watch_only_balance + | balances.watch_only_balance + | ||||
balances.unconfirmed_watch_only_balance + | balances.unconfirmed_watch_only_balance + | ||||
balances.immature_watch_only_balance, | balances.immature_watch_only_balance, | ||||
false, BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
} | } | ||||
} else { | } else { | ||||
ui->labelBalance->setText(BitcoinUnits::formatWithUnit( | ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, balances.balance, false, BitcoinUnits::separatorAlways)); | unit, balances.balance, BitcoinUnits::separatorAlways, m_privacy)); | ||||
ui->labelUnconfirmed->setText( | ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy( | ||||
BitcoinUnits::formatWithUnit(unit, balances.unconfirmed_balance, | unit, balances.unconfirmed_balance, BitcoinUnits::separatorAlways, | ||||
false, BitcoinUnits::separatorAlways)); | m_privacy)); | ||||
ui->labelImmature->setText( | ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy( | ||||
BitcoinUnits::formatWithUnit(unit, balances.immature_balance, false, | unit, balances.immature_balance, BitcoinUnits::separatorAlways, | ||||
BitcoinUnits::separatorAlways)); | m_privacy)); | ||||
ui->labelTotal->setText(BitcoinUnits::formatWithUnit( | ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy( | ||||
unit, | unit, | ||||
balances.balance + balances.unconfirmed_balance + | balances.balance + balances.unconfirmed_balance + | ||||
balances.immature_balance, | balances.immature_balance, | ||||
false, BitcoinUnits::separatorAlways)); | BitcoinUnits::separatorAlways, m_privacy)); | ||||
} | } | ||||
// only show immature (newly mined) balance if it's non-zero, so as not to | // only show immature (newly mined) balance if it's non-zero, so as not to | ||||
// complicate things for the non-mining users | // complicate things for the non-mining users | ||||
bool showImmature = balances.immature_balance != Amount::zero(); | bool showImmature = balances.immature_balance != Amount::zero(); | ||||
bool showWatchOnlyImmature = | bool showWatchOnlyImmature = | ||||
balances.immature_watch_only_balance != Amount::zero(); | balances.immature_watch_only_balance != Amount::zero(); | ||||
▲ Show 20 Lines • Show All 100 Lines • Show Last 20 Lines |