Skip to content

Commit bbd4c9a

Browse files
committed
GUI: Update nDisplayUnit to keep old versions in sync
1 parent 134d721 commit bbd4c9a

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

src/qt/bitcoinunits.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,7 @@ CAmount BitcoinUnits::maxMoney()
323323
return MAX_MONEY;
324324
}
325325

326-
namespace {
327-
std::variant<qint8, QString> ToSetting(BitcoinUnit unit)
326+
std::variant<qint8, QString> BitcoinUnits::ToSetting(BitcoinUnit unit)
328327
{
329328
switch (unit) {
330329
case BitcoinUnit::BTC: return qint8{0};
@@ -338,6 +337,7 @@ std::variant<qint8, QString> ToSetting(BitcoinUnit unit)
338337
assert(false);
339338
}
340339

340+
namespace {
341341
BitcoinUnit FromQint8(qint8 num)
342342
{
343343
switch (num) {
@@ -366,7 +366,7 @@ BitcoinUnit BitcoinUnits::FromSetting(const QString& s, BitcoinUnit def)
366366

367367
QDataStream& operator<<(QDataStream& out, const BitcoinUnit& unit)
368368
{
369-
auto setting_val = ToSetting(unit);
369+
auto setting_val = BitcoinUnits::ToSetting(unit);
370370
if (const QString* setting_str = std::get_if<QString>(&setting_val)) {
371371
return out << qint8{0} << *setting_str;
372372
} else {

src/qt/bitcoinunits.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ class BitcoinUnits: public QAbstractListModel
6363

6464
//! Get list of units, for drop-down box
6565
static QList<Unit> availableUnits();
66+
//! String for setting(s)
67+
static std::variant<qint8, QString> ToSetting(Unit unit);
6668
//! Convert setting(s) string to unit
6769
static Unit FromSetting(const QString&, Unit def);
6870
//! Long name

src/qt/optionsmodel.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,15 @@ void OptionsModel::setDisplayUnit(const QVariant& new_unit)
667667
} else {
668668
settings.setValue("DisplayBitcoinUnitKnots", QVariant::fromValue(m_display_bitcoin_unit));
669669
}
670+
{
671+
// For older versions:
672+
auto setting_val = BitcoinUnits::ToSetting(m_display_bitcoin_unit);
673+
if (const QString* setting_str = std::get_if<QString>(&setting_val)) {
674+
settings.setValue("nDisplayUnit", *setting_str);
675+
} else {
676+
settings.setValue("nDisplayUnit", std::get<qint8>(setting_val));
677+
}
678+
}
670679
Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
671680
}
672681

0 commit comments

Comments
 (0)