Skip to content

Commit

Permalink
qt: Skip displayUnitChanged signal if unit is not actually changed
Browse files Browse the repository at this point in the history
Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
  • Loading branch information
2 people authored and jb55 committed Feb 22, 2022
1 parent ccb7ce1 commit 236fb8a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
14 changes: 6 additions & 8 deletions src/qt/optionsmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -571,15 +571,13 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
return successful;
}

/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */
void OptionsModel::setDisplayUnit(const QVariant &value)
void OptionsModel::setDisplayUnit(const QVariant& new_unit)
{
if (!value.isNull()) {
QSettings settings;
m_display_bitcoin_unit = value.value<BitcoinUnit>();
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
}
if (new_unit.isNull() || new_unit.value<BitcoinUnit>() == m_display_bitcoin_unit) return;
m_display_bitcoin_unit = new_unit.value<BitcoinUnit>();
QSettings settings;
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
}

void OptionsModel::setRestartRequired(bool fRequired)
Expand Down
4 changes: 2 additions & 2 deletions src/qt/optionsmodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ class OptionsModel : public QAbstractListModel
int rowCount(const QModelIndex & parent = QModelIndex()) const override;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole) override;
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */
void setDisplayUnit(const QVariant &value);
/** Updates current unit in memory, settings and emits displayUnitChanged(new_unit) signal */
void setDisplayUnit(const QVariant& new_unit);

/* Explicit getters */
bool getShowTrayIcon() const { return m_show_tray_icon; }
Expand Down

0 comments on commit 236fb8a

Please sign in to comment.