From 8e31303c6dc78e0edb22c9dbbf769e63d204b1a2 Mon Sep 17 00:00:00 2001 From: Patryk Osmaczko Date: Thu, 28 Jul 2022 18:52:29 +0200 Subject: [PATCH] fix(settings): remove usage of proxyRoles - SortFilterProxyModel::proxyRoles have big performance impact, don't use it util it's fixed --- .../AppLayouts/Profile/views/LanguageView.qml | 41 +++++-------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/ui/app/AppLayouts/Profile/views/LanguageView.qml b/ui/app/AppLayouts/Profile/views/LanguageView.qml index 6ba9d1a4be..6d254f6853 100644 --- a/ui/app/AppLayouts/Profile/views/LanguageView.qml +++ b/ui/app/AppLayouts/Profile/views/LanguageView.qml @@ -113,37 +113,16 @@ SettingsContentBase { } } - inputList: SortFilterProxyModel { - id: languageModel - - sourceModel: root.languageStore.languageModel - - function imageSourceForEmoji(emoji) { - return StatusQUtils.Emoji.iconSource(emoji) - } - - proxyRoles: [ - ExpressionRole { - name: "key" - expression: model.locale - }, - ExpressionRole { - name: "shortName" - expression: model.native - }, - ExpressionRole { - name: "category" - expression: "" - }, - ExpressionRole { - name: "selected" - expression: model.locale == root.languageStore.currentLanguage - }, - ExpressionRole { - name: "imageSource" - expression: languageModel.imageSourceForEmoji(model.flag) - } - ] + inputList: root.languageStore.languageModel + proxy { + key: (model) => model.locale + name: (model) => model.name + shortName: (model) => model.native + symbol: (model) => "" + imageSource: (model) => StatusQUtils.Emoji.iconSource(model.flag) + category: (model) => "" + selected: (model) => model.locale === root.languageStore.currentLanguage + setSelected: (model, val) => null // readonly } z: root.z + 1