Skip to content

Commit 759d2f3

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 4477cb5 commit 759d2f3

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
@@ -575,15 +575,13 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
575575
return successful;
576576
}
577577

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

589587
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)