Skip to content

Commit 0865a88

Browse files
author
MarcoFalke
committed
Merge #3: scripted-diff: Make SeparatorStyle a scoped enum
25f3554 scripted-diff: Make SeparatorStyle a scoped enum (Hennadii Stepanov) Pull request description: This PR is [split](bitcoin/bitcoin#17877 (comment)) from bitcoin/bitcoin#17877 and makes `BitcoinUnits::SeparatorStyle` a scoped enum. ACKs for top commit: MarcoFalke: review ACK 25f3554 🚐 Tree-SHA512: 578f1340a476cf79faa109a83815d3c75e26d9c18873e653d7624b52428ccb2677293116db0a60ae14c949d63b64988fc5a39c7184c2352b87b00e8ddaaaf474
2 parents c7ebab1 + 25f3554 commit 0865a88

9 files changed

+37
-37
lines changed

src/qt/bitcoinamountfield.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class AmountSpinBox: public QAbstractSpinBox
5656

5757
if (valid) {
5858
val = qBound(m_min_amount, val, m_max_amount);
59-
input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::separatorAlways);
59+
input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::SeparatorStyle::ALWAYS);
6060
lineEdit()->setText(input);
6161
}
6262
}
@@ -68,7 +68,7 @@ class AmountSpinBox: public QAbstractSpinBox
6868

6969
void setValue(const CAmount& value)
7070
{
71-
lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways));
71+
lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::SeparatorStyle::ALWAYS));
7272
Q_EMIT valueChanged();
7373
}
7474

@@ -102,7 +102,7 @@ class AmountSpinBox: public QAbstractSpinBox
102102
CAmount val = value(&valid);
103103

104104
currentUnit = unit;
105-
lineEdit()->setPlaceholderText(BitcoinUnits::format(currentUnit, m_min_amount, false, BitcoinUnits::separatorAlways));
105+
lineEdit()->setPlaceholderText(BitcoinUnits::format(currentUnit, m_min_amount, false, BitcoinUnits::SeparatorStyle::ALWAYS));
106106
if(valid)
107107
setValue(val);
108108
else
@@ -122,7 +122,7 @@ class AmountSpinBox: public QAbstractSpinBox
122122

123123
const QFontMetrics fm(fontMetrics());
124124
int h = lineEdit()->minimumSizeHint().height();
125-
int w = GUIUtil::TextWidth(fm, BitcoinUnits::format(BitcoinUnits::BTC, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways));
125+
int w = GUIUtil::TextWidth(fm, BitcoinUnits::format(BitcoinUnits::BTC, BitcoinUnits::maxMoney(), false, BitcoinUnits::SeparatorStyle::ALWAYS));
126126
w += 2; // cursor blinking space
127127

128128
QStyleOptionSpinBox opt;

src/qt/bitcoinunits.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ QString BitcoinUnits::format(int unit, const CAmount& nIn, bool fPlus, Separator
114114
// confused with the decimal marker.
115115
QChar thin_sp(THIN_SP_CP);
116116
int q_size = quotient_str.size();
117-
if (separators == separatorAlways || (separators == separatorStandard && q_size > 4))
117+
if (separators == SeparatorStyle::ALWAYS || (separators == SeparatorStyle::STANDARD && q_size > 4))
118118
for (int i = 3; i < q_size; i += 3)
119119
quotient_str.insert(q_size - i, thin_sp);
120120

src/qt/bitcoinunits.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ class BitcoinUnits: public QAbstractListModel
4646
SAT
4747
};
4848

49-
enum SeparatorStyle
49+
enum class SeparatorStyle
5050
{
51-
separatorNever,
52-
separatorStandard,
53-
separatorAlways
51+
NEVER,
52+
STANDARD,
53+
ALWAYS
5454
};
5555

5656
//! @name Static API
@@ -72,11 +72,11 @@ class BitcoinUnits: public QAbstractListModel
7272
//! Number of decimals left
7373
static int decimals(int unit);
7474
//! Format as string
75-
static QString format(int unit, const CAmount& amount, bool plussign = false, SeparatorStyle separators = separatorStandard, bool justify = false);
75+
static QString format(int unit, const CAmount& amount, bool plussign = false, SeparatorStyle separators = SeparatorStyle::STANDARD, bool justify = false);
7676
//! Format as string (with unit)
77-
static QString formatWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=separatorStandard);
77+
static QString formatWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=SeparatorStyle::STANDARD);
7878
//! Format as HTML string (with unit)
79-
static QString formatHtmlWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=separatorStandard);
79+
static QString formatHtmlWithUnit(int unit, const CAmount& amount, bool plussign=false, SeparatorStyle separators=SeparatorStyle::STANDARD);
8080
//! Format as string (with unit) of fixed length to preserve privacy, if it is set.
8181
static QString formatWithPrivacy(int unit, const CAmount& amount, SeparatorStyle separators, bool privacy);
8282
//! Parse string to coin amount

src/qt/guiutil.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ QString formatBitcoinURI(const SendCoinsRecipient &info)
188188

189189
if (info.amount)
190190
{
191-
ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::BTC, info.amount, false, BitcoinUnits::separatorNever));
191+
ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::BTC, info.amount, false, BitcoinUnits::SeparatorStyle::NEVER));
192192
paramCount++;
193193
}
194194

src/qt/overviewpage.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ class TxViewDelegate : public QAbstractItemDelegate
8888
foreground = option.palette.color(QPalette::Text);
8989
}
9090
painter->setPen(foreground);
91-
QString amountText = BitcoinUnits::formatWithUnit(unit, amount, true, BitcoinUnits::separatorAlways);
91+
QString amountText = BitcoinUnits::formatWithUnit(unit, amount, true, BitcoinUnits::SeparatorStyle::ALWAYS);
9292
if(!confirmed)
9393
{
9494
amountText = QString("[") + amountText + QString("]");
@@ -180,25 +180,25 @@ void OverviewPage::setBalance(const interfaces::WalletBalances& balances)
180180
m_balances = balances;
181181
if (walletModel->wallet().isLegacy()) {
182182
if (walletModel->wallet().privateKeysDisabled()) {
183-
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
184-
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
185-
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
186-
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
183+
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
184+
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
185+
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
186+
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
187187
} else {
188-
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance, BitcoinUnits::separatorAlways, m_privacy));
189-
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_balance, BitcoinUnits::separatorAlways, m_privacy));
190-
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_balance, BitcoinUnits::separatorAlways, m_privacy));
191-
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance + balances.unconfirmed_balance + balances.immature_balance, BitcoinUnits::separatorAlways, m_privacy));
192-
ui->labelWatchAvailable->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
193-
ui->labelWatchPending->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
194-
ui->labelWatchImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
195-
ui->labelWatchTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, BitcoinUnits::separatorAlways, m_privacy));
188+
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
189+
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
190+
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
191+
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance + balances.unconfirmed_balance + balances.immature_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
192+
ui->labelWatchAvailable->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
193+
ui->labelWatchPending->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
194+
ui->labelWatchImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
195+
ui->labelWatchTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.watch_only_balance + balances.unconfirmed_watch_only_balance + balances.immature_watch_only_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
196196
}
197197
} else {
198-
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance, BitcoinUnits::separatorAlways, m_privacy));
199-
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_balance, BitcoinUnits::separatorAlways, m_privacy));
200-
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_balance, BitcoinUnits::separatorAlways, m_privacy));
201-
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance + balances.unconfirmed_balance + balances.immature_balance, BitcoinUnits::separatorAlways, m_privacy));
198+
ui->labelBalance->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
199+
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithPrivacy(unit, balances.unconfirmed_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
200+
ui->labelImmature->setText(BitcoinUnits::formatWithPrivacy(unit, balances.immature_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
201+
ui->labelTotal->setText(BitcoinUnits::formatWithPrivacy(unit, balances.balance + balances.unconfirmed_balance + balances.immature_balance, BitcoinUnits::SeparatorStyle::ALWAYS, m_privacy));
202202
}
203203
// only show immature (newly mined) balance if it's non-zero, so as not to complicate things
204204
// for the non-mining users

src/qt/recentrequeststablemodel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ QVariant RecentRequestsTableModel::data(const QModelIndex &index, int role) cons
8282
if (rec->recipient.amount == 0 && role == Qt::DisplayRole)
8383
return tr("(no amount requested)");
8484
else if (role == Qt::EditRole)
85-
return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount, false, BitcoinUnits::separatorNever);
85+
return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount, false, BitcoinUnits::SeparatorStyle::NEVER);
8686
else
8787
return BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), rec->recipient.amount);
8888
}

src/qt/test/wallettests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void TestGUI(interfaces::Node& node)
178178
QString balanceText = balanceLabel->text();
179179
int unit = walletModel.getOptionsModel()->getDisplayUnit();
180180
CAmount balance = walletModel.wallet().getBalance();
181-
QString balanceComparison = BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::separatorAlways);
181+
QString balanceComparison = BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::SeparatorStyle::ALWAYS);
182182
QCOMPARE(balanceText, balanceComparison);
183183
}
184184

@@ -204,7 +204,7 @@ void TestGUI(interfaces::Node& node)
204204
QString balanceText = balanceLabel->text().trimmed();
205205
int unit = walletModel.getOptionsModel()->getDisplayUnit();
206206
CAmount balance = walletModel.wallet().getBalance();
207-
QString balanceComparison = BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::separatorAlways);
207+
QString balanceComparison = BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::SeparatorStyle::ALWAYS);
208208
QCOMPARE(balanceText, balanceComparison);
209209

210210
// Check Request Payment button

src/qt/transactiontablemodel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
524524
case ToAddress:
525525
return formatTxToAddress(rec, false);
526526
case Amount:
527-
return formatTxAmount(rec, true, BitcoinUnits::separatorAlways);
527+
return formatTxAmount(rec, true, BitcoinUnits::SeparatorStyle::ALWAYS);
528528
}
529529
break;
530530
case Qt::EditRole:
@@ -614,14 +614,14 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
614614
details.append(QString::fromStdString(rec->address));
615615
details.append(" ");
616616
}
617-
details.append(formatTxAmount(rec, false, BitcoinUnits::separatorNever));
617+
details.append(formatTxAmount(rec, false, BitcoinUnits::SeparatorStyle::NEVER));
618618
return details;
619619
}
620620
case ConfirmedRole:
621621
return rec->status.status == TransactionStatus::Status::Confirming || rec->status.status == TransactionStatus::Status::Confirmed;
622622
case FormattedAmountRole:
623623
// Used for copy/export, so don't include separators
624-
return formatTxAmount(rec, false, BitcoinUnits::separatorNever);
624+
return formatTxAmount(rec, false, BitcoinUnits::SeparatorStyle::NEVER);
625625
case StatusRole:
626626
return rec->status.status;
627627
}

src/qt/transactiontablemodel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ class TransactionTableModel : public QAbstractTableModel
101101
QString formatTxDate(const TransactionRecord *wtx) const;
102102
QString formatTxType(const TransactionRecord *wtx) const;
103103
QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const;
104-
QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true, BitcoinUnits::SeparatorStyle separators=BitcoinUnits::separatorStandard) const;
104+
QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true, BitcoinUnits::SeparatorStyle separators=BitcoinUnits::SeparatorStyle::STANDARD) const;
105105
QString formatTooltip(const TransactionRecord *rec) const;
106106
QVariant txStatusDecoration(const TransactionRecord *wtx) const;
107107
QVariant txWatchonlyDecoration(const TransactionRecord *wtx) const;

0 commit comments

Comments
 (0)