parent
484a6bde1b
commit
53d6a39c5d
@ -0,0 +1,51 @@
|
||||
From 8cbc16f0925c75b569c39184a68595c54278e75a Mon Sep 17 00:00:00 2001
|
||||
From: ivan tkachenko <me@ratijas.tk>
|
||||
Date: Wed, 22 Mar 2023 22:30:44 +0600
|
||||
Subject: [PATCH] sddm-theme: Populate keyboard layouts menu only on first show
|
||||
|
||||
Doing it synchronously can be very slow; seemingly scaling with the
|
||||
number of items in the model.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=2179998
|
||||
---
|
||||
lookandfeel/sddm-theme/KeyboardButton.qml | 14 +++++++++-----
|
||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lookandfeel/sddm-theme/KeyboardButton.qml b/lookandfeel/sddm-theme/KeyboardButton.qml
|
||||
index df8767dda4..ca2458b6d2 100644
|
||||
--- a/lookandfeel/sddm-theme/KeyboardButton.qml
|
||||
+++ b/lookandfeel/sddm-theme/KeyboardButton.qml
|
||||
@@ -17,7 +17,7 @@ PlasmaComponents.ToolButton {
|
||||
onCurrentIndexChanged: keyboard.currentLayout = currentIndex
|
||||
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Keyboard Layout: %1", keyboard.layouts[currentIndex].longName)
|
||||
- visible: menu.count > 1
|
||||
+ visible: keyboard.layouts.length > 1
|
||||
|
||||
checkable: true
|
||||
checked: menu.opened
|
||||
@@ -36,13 +36,17 @@ PlasmaComponents.ToolButton {
|
||||
PlasmaCore.ColorScope.colorGroup: PlasmaCore.Theme.NormalColorGroup
|
||||
PlasmaCore.ColorScope.inherit: false
|
||||
|
||||
- Instantiator {
|
||||
- id: instantiator
|
||||
- model: {
|
||||
+ onAboutToShow: {
|
||||
+ if (instantiator.model === null) {
|
||||
let layouts = keyboard.layouts;
|
||||
layouts.sort((a, b) => a.longName.localeCompare(b.longName));
|
||||
- return layouts;
|
||||
+ instantiator.model = layouts;
|
||||
}
|
||||
+ }
|
||||
+
|
||||
+ Instantiator {
|
||||
+ id: instantiator
|
||||
+ model: null
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
delegate: PlasmaComponents.MenuItem {
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in new issue