|
23 | 23 | #include <QDebug> |
24 | 24 | #include <QSettings> |
25 | 25 | #include <QStringList> |
| 26 | +#include <QVariant> |
26 | 27 |
|
27 | 28 | const char *DEFAULT_GUI_PROXY_HOST = "127.0.0.1"; |
28 | 29 |
|
@@ -70,9 +71,15 @@ void OptionsModel::Init(bool resetSettings) |
70 | 71 | fMinimizeOnClose = settings.value("fMinimizeOnClose").toBool(); |
71 | 72 |
|
72 | 73 | // Display |
73 | | - if (!settings.contains("nDisplayUnit")) |
74 | | - settings.setValue("nDisplayUnit", BitcoinUnits::BTC); |
75 | | - nDisplayUnit = settings.value("nDisplayUnit").toInt(); |
| 74 | + if (!settings.contains("display_unit")) { |
| 75 | + settings.setValue("display_unit", QVariant::fromValue(BitcoinUnit::BTC)); |
| 76 | + } |
| 77 | + QVariant unit = settings.value("display_unit"); |
| 78 | + if (unit.isValid()) { |
| 79 | + m_display_unit = unit.value<BitcoinUnit>(); |
| 80 | + } else { |
| 81 | + m_display_unit = BitcoinUnit::BTC; |
| 82 | + } |
76 | 83 |
|
77 | 84 | if (!settings.contains("strThirdPartyTxUrls")) |
78 | 85 | settings.setValue("strThirdPartyTxUrls", ""); |
@@ -321,7 +328,7 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const |
321 | 328 | return settings.value("bSpendZeroConfChange"); |
322 | 329 | #endif |
323 | 330 | case DisplayUnit: |
324 | | - return nDisplayUnit; |
| 331 | + return QVariant::fromValue(m_display_unit); |
325 | 332 | case ThirdPartyTxUrls: |
326 | 333 | return strThirdPartyTxUrls; |
327 | 334 | case Language: |
@@ -501,12 +508,11 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in |
501 | 508 | /** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */ |
502 | 509 | void OptionsModel::setDisplayUnit(const QVariant &value) |
503 | 510 | { |
504 | | - if (!value.isNull()) |
505 | | - { |
| 511 | + if (!value.isNull()) { |
506 | 512 | QSettings settings; |
507 | | - nDisplayUnit = value.toInt(); |
508 | | - settings.setValue("nDisplayUnit", nDisplayUnit); |
509 | | - Q_EMIT displayUnitChanged(nDisplayUnit); |
| 513 | + m_display_unit = value.value<BitcoinUnit>(); |
| 514 | + settings.setValue("display_unit", QVariant::fromValue(m_display_unit)); |
| 515 | + Q_EMIT displayUnitChanged(static_cast<int>(m_display_unit)); |
510 | 516 | } |
511 | 517 | } |
512 | 518 |
|
|
0 commit comments