diff --git a/electrum/gui/qml/components/Preferences.qml b/electrum/gui/qml/components/Preferences.qml index 98f560302..461612e52 100644 --- a/electrum/gui/qml/components/Preferences.qml +++ b/electrum/gui/qml/components/Preferences.qml @@ -56,6 +56,15 @@ Pane { text: qsTr('Write logs to file') enabled: false } + + Label { + text: qsTr('Fiat Currency') + } + + ComboBox { + id: currencies + model: Daemon.currencies + } } } @@ -73,11 +82,13 @@ Pane { function save() { Config.baseUnit = baseUnit.currentValue Config.thousandsSeparator = thousands.checked + Config.fiatCurrency = currencies.currentValue ? currencies.currentValue : '' app.stack.pop() } Component.onCompleted: { baseUnit.currentIndex = ['BTC','mBTC','bits','sat'].indexOf(Config.baseUnit) thousands.checked = Config.thousandsSeparator + currencies.currentIndex = currencies.indexOfValue(Config.fiatCurrency) } } diff --git a/electrum/gui/qml/qeconfig.py b/electrum/gui/qml/qeconfig.py index ebf736e1e..16205359a 100644 --- a/electrum/gui/qml/qeconfig.py +++ b/electrum/gui/qml/qeconfig.py @@ -68,6 +68,15 @@ class QEConfig(QObject): self.config.amt_add_thousands_sep = checked self.thousandsSeparatorChanged.emit() + fiatCurrencyChanged = pyqtSignal() + @pyqtProperty(str, notify=fiatCurrencyChanged) + def fiatCurrency(self): + return self.config.get('currency') + + @fiatCurrency.setter + def fiatCurrency(self, currency): + self.config.set_key('currency', currency) + self.fiatCurrencyChanged.emit() @pyqtSlot(int, result=str) @pyqtSlot(int, bool, result=str) diff --git a/electrum/gui/qml/qedaemon.py b/electrum/gui/qml/qedaemon.py index ebca6082b..d2c57b71a 100644 --- a/electrum/gui/qml/qedaemon.py +++ b/electrum/gui/qml/qedaemon.py @@ -96,6 +96,7 @@ class QEDaemon(QObject): activeWalletsChanged = pyqtSignal() availableWalletsChanged = pyqtSignal() walletOpenError = pyqtSignal([str], arguments=["error"]) + currenciesChanged = pyqtSignal() @pyqtSlot() @pyqtSlot(str) @@ -150,3 +151,7 @@ class QEDaemon(QObject): self._available_wallets = QEAvailableWalletListModel(self.daemon) return self._available_wallets + + @pyqtProperty('QVariantList', notify=currenciesChanged) + def currencies(self): + return [''] + self.daemon.fx.get_currencies(False)