Skip to content

Commit 0554251

Browse files
hebastopromag
authored andcommitted
qt: Skip displayUnitChanged signal if unit is not actually changed
Co-authored-by: João Barbosa <[email protected]>
1 parent ffbc2fe commit 0554251

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

src/qt/optionsmodel.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -572,15 +572,13 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
572572
return successful;
573573
}
574574

575-
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */
576-
void OptionsModel::setDisplayUnit(const QVariant &value)
575+
void OptionsModel::setDisplayUnit(const QVariant& new_unit)
577576
{
578-
if (!value.isNull()) {
579-
QSettings settings;
580-
m_display_bitcoin_unit = value.value<BitcoinUnit>();
581-
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
582-
Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
583-
}
577+
if (new_unit.isNull() || new_unit.value<BitcoinUnit>() == m_display_bitcoin_unit) return;
578+
m_display_bitcoin_unit = new_unit.value<BitcoinUnit>();
579+
QSettings settings;
580+
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
581+
Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
584582
}
585583

586584
void OptionsModel::setRestartRequired(bool fRequired)

src/qt/optionsmodel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ class OptionsModel : public QAbstractListModel
8080
int rowCount(const QModelIndex & parent = QModelIndex()) const override;
8181
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;
8282
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole) override;
83-
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */
84-
void setDisplayUnit(const QVariant &value);
83+
/** Updates current unit in memory, settings and emits displayUnitChanged(new_unit) signal */
84+
void setDisplayUnit(const QVariant& new_unit);
8585

8686
/* Explicit getters */
8787
bool getShowTrayIcon() const { return m_show_tray_icon; }

0 commit comments

Comments
 (0)