From 8fe181d757577fc21c2b509aca5f13a73ce6e5ed Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Fri, 3 Mar 2023 15:50:42 +0100 Subject: [PATCH] qml: sort languages --- electrum/gui/qml/qeconfig.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/electrum/gui/qml/qeconfig.py b/electrum/gui/qml/qeconfig.py index 0439bc801..af479941d 100644 --- a/electrum/gui/qml/qeconfig.py +++ b/electrum/gui/qml/qeconfig.py @@ -1,7 +1,8 @@ -from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject - +import copy from decimal import Decimal +from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject + from electrum.i18n import set_language, languages from electrum.logging import get_logger from electrum.util import DECIMAL_POINT_DEFAULT, format_satoshis @@ -34,7 +35,12 @@ class QEConfig(AuthMixin, QObject): languagesChanged = pyqtSignal() @pyqtProperty('QVariantList', notify=languagesChanged) def languagesAvailable(self): - return list(map(lambda x: {'value': x[0], 'text': x[1]}, languages.items())) + # sort on translated languages, then re-add Default on top + langs = copy.deepcopy(languages) + default = langs.pop('') + langs_sorted = sorted(list(map(lambda x: {'value': x[0], 'text': x[1]}, langs.items())), key=lambda x: x['text']) + langs_sorted.insert(0, {'value': '', 'text': default}) + return langs_sorted autoConnectChanged = pyqtSignal() @pyqtProperty(bool, notify=autoConnectChanged)