qml: add language selection to qeconfig.py/Preferences
This commit is contained in:
@@ -46,7 +46,20 @@ Pane {
|
|||||||
|
|
||||||
ElComboBox {
|
ElComboBox {
|
||||||
id: language
|
id: language
|
||||||
enabled: false
|
textRole: 'text'
|
||||||
|
valueRole: 'value'
|
||||||
|
model: Config.languagesAvailable
|
||||||
|
onCurrentValueChanged: {
|
||||||
|
if (activeFocus) {
|
||||||
|
if (Config.language != currentValue) {
|
||||||
|
Config.language = currentValue
|
||||||
|
var dialog = app.messageDialog.createObject(app, {
|
||||||
|
text: qsTr('Please restart Electrum to activate the new GUI settings')
|
||||||
|
})
|
||||||
|
dialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
@@ -355,6 +368,7 @@ Pane {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
language.currentIndex = language.indexOfValue(Config.language)
|
||||||
baseUnit.currentIndex = _baseunits.indexOf(Config.baseUnit)
|
baseUnit.currentIndex = _baseunits.indexOf(Config.baseUnit)
|
||||||
thousands.checked = Config.thousandsSeparator
|
thousands.checked = Config.thousandsSeparator
|
||||||
currencies.currentIndex = currencies.indexOfValue(Daemon.fx.fiatCurrency)
|
currencies.currentIndex = currencies.indexOfValue(Daemon.fx.fiatCurrency)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject
|
|||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from electrum.i18n import set_language, languages
|
||||||
from electrum.logging import get_logger
|
from electrum.logging import get_logger
|
||||||
from electrum.util import DECIMAL_POINT_DEFAULT, format_satoshis
|
from electrum.util import DECIMAL_POINT_DEFAULT, format_satoshis
|
||||||
from electrum.invoices import PR_DEFAULT_EXPIRATION_WHEN_CREATING
|
from electrum.invoices import PR_DEFAULT_EXPIRATION_WHEN_CREATING
|
||||||
@@ -16,6 +17,25 @@ class QEConfig(AuthMixin, QObject):
|
|||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.config = config
|
self.config = config
|
||||||
|
|
||||||
|
languageChanged = pyqtSignal()
|
||||||
|
@pyqtProperty(str, notify=languageChanged)
|
||||||
|
def language(self):
|
||||||
|
return self.config.get('language')
|
||||||
|
|
||||||
|
@language.setter
|
||||||
|
def language(self, language):
|
||||||
|
if language not in languages:
|
||||||
|
return
|
||||||
|
if self.config.get('language') != language:
|
||||||
|
self.config.set_key('language', language)
|
||||||
|
set_language(language)
|
||||||
|
self.languageChanged.emit()
|
||||||
|
|
||||||
|
languagesChanged = pyqtSignal()
|
||||||
|
@pyqtProperty('QVariantList', notify=languagesChanged)
|
||||||
|
def languagesAvailable(self):
|
||||||
|
return list(map(lambda x: {'value': x[0], 'text': x[1]}, languages.items()))
|
||||||
|
|
||||||
autoConnectChanged = pyqtSignal()
|
autoConnectChanged = pyqtSignal()
|
||||||
@pyqtProperty(bool, notify=autoConnectChanged)
|
@pyqtProperty(bool, notify=autoConnectChanged)
|
||||||
def autoConnect(self):
|
def autoConnect(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user