qt: Skip displayUnitChanged signal if unit is not actually changed

Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
This commit is contained in:
Hennadii StepanovandJoão Barbosa authored and William Casarin committed 2022-02-22 13:50:30 -08:00
1 parent ffbc2fe459
commit 0554251d66
2 files changed
+8 -10

No files matched your search

+6 -8
View File
@@ -572,15 +572,13 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
return successful; return successful;
} }
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */ void OptionsModel::setDisplayUnit(const QVariant& new_unit)
void OptionsModel::setDisplayUnit(const QVariant &value)
{ {
if (!value.isNull()) { if (new_unit.isNull() || new_unit.value<BitcoinUnit>() == m_display_bitcoin_unit) return;
QSettings settings; m_display_bitcoin_unit = new_unit.value<BitcoinUnit>();
m_display_bitcoin_unit = value.value<BitcoinUnit>(); QSettings settings;
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit)); settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
Q_EMIT displayUnitChanged(m_display_bitcoin_unit); Q_EMIT displayUnitChanged(m_display_bitcoin_unit);
}
} }
void OptionsModel::setRestartRequired(bool fRequired) void OptionsModel::setRestartRequired(bool fRequired)
+2 -2
View File
@@ -80,8 +80,8 @@ public:
int rowCount(const QModelIndex & parent = QModelIndex()) const override; int rowCount(const QModelIndex & parent = QModelIndex()) const override;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) 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; bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole) override;
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */ /** Updates current unit in memory, settings and emits displayUnitChanged(new_unit) signal */
void setDisplayUnit(const QVariant &value); void setDisplayUnit(const QVariant& new_unit);
/* Explicit getters */ /* Explicit getters */
bool getShowTrayIcon() const { return m_show_tray_icon; } bool getShowTrayIcon() const { return m_show_tray_icon; }