Changeset View
Changeset View
Standalone View
Standalone View
kcms/translations/package/contents/ui/main.qml
Show All 37 Lines | 36 | Kirigami.BasicListItem { | |||
---|---|---|---|---|---|
38 | 38 | | |||
39 | property string languageCode: model.LanguageCode | 39 | property string languageCode: model.LanguageCode | ||
40 | 40 | | |||
41 | reserveSpaceForIcon: false | 41 | reserveSpaceForIcon: false | ||
42 | 42 | | |||
43 | label: model.display | 43 | label: model.display | ||
44 | 44 | | |||
45 | checkable: true | 45 | checkable: true | ||
46 | onCheckedChanged: { | 46 | function onCheckedChanged() { | ||
47 | if (checked) { | 47 | if (checked) { | ||
48 | addLanguagesSheet.selectedLanguages.push(index); | 48 | addLanguagesSheet.selectedLanguages.push(index); | ||
49 | 49 | | |||
50 | // There's no property change notification for pushing to an array | 50 | // There's no property change notification for pushing to an array | ||
51 | // in a var prop, so we can't bind selectedLanguages.length to | 51 | // in a var prop, so we can't bind selectedLanguages.length to | ||
52 | // addLanguagesButton.enabled. | 52 | // addLanguagesButton.enabled. | ||
53 | addLanguagesButton.enabled = true; | 53 | addLanguagesButton.enabled = true; | ||
54 | } else { | 54 | } else { | ||
55 | addLanguagesSheet.selectedLanguages = addLanguagesSheet.selectedLanguages.filter(function(item) { return item !== index }); | 55 | addLanguagesSheet.selectedLanguages = addLanguagesSheet.selectedLanguages.filter(function(item) { return item !== index }); | ||
56 | 56 | | |||
57 | // There's no property change notification for pushing to an array | 57 | // There's no property change notification for pushing to an array | ||
58 | // in a var prop, so we can't bind selectedLanguages.length to | 58 | // in a var prop, so we can't bind selectedLanguages.length to | ||
59 | // addLanguagesButton.enabled. | 59 | // addLanguagesButton.enabled. | ||
60 | if (!addLanguagesSheet.selectedLanguages.length) { | 60 | if (!addLanguagesSheet.selectedLanguages.length) { | ||
61 | addLanguagesButton.enabled = false; | 61 | addLanguagesButton.enabled = false; | ||
62 | } | 62 | } | ||
63 | } | 63 | } | ||
64 | } | 64 | } | ||
65 | 65 | | |||
66 | data: [Connections { | 66 | data: [Connections { | ||
67 | target: addLanguagesSheet | 67 | target: addLanguagesSheet | ||
68 | 68 | | |||
69 | onSheetOpenChanged: languageItem.checked = false | 69 | function onSheetOpenChanged() { languageItem.checked = false } | ||
70 | }] | 70 | }] | ||
71 | } | 71 | } | ||
72 | } | 72 | } | ||
73 | 73 | | |||
74 | Kirigami.OverlaySheet { | 74 | Kirigami.OverlaySheet { | ||
75 | id: addLanguagesSheet | 75 | id: addLanguagesSheet | ||
76 | 76 | | |||
77 | parent: root.parent | 77 | parent: root.parent | ||
78 | 78 | | |||
79 | topPadding: 0 | 79 | topPadding: 0 | ||
80 | leftPadding: 0 | 80 | leftPadding: 0 | ||
81 | rightPadding: 0 | 81 | rightPadding: 0 | ||
82 | bottomPadding: 0 | 82 | bottomPadding: 0 | ||
83 | 83 | | |||
84 | header: Kirigami.Heading { text: i18nc("@title:window", "Add Languages") } | 84 | header: Kirigami.Heading { text: i18nc("@title:window", "Add Languages") } | ||
85 | 85 | | |||
86 | property var selectedLanguages: [] | 86 | property var selectedLanguages: [] | ||
87 | 87 | | |||
88 | onSheetOpenChanged: selectedLanguages = [] | 88 | function onSheetOpenChanged() { selectedLanguages = [] } | ||
89 | 89 | | |||
90 | ListView { | 90 | ListView { | ||
91 | id: availableLanguagesList | 91 | id: availableLanguagesList | ||
92 | 92 | | |||
93 | implicitWidth: 18 * Kirigami.Units.gridUnit | 93 | implicitWidth: 18 * Kirigami.Units.gridUnit | ||
94 | 94 | | |||
95 | model: kcm.availableTranslationsModel | 95 | model: kcm.availableTranslationsModel | ||
96 | 96 | | |||
▲ Show 20 Lines • Show All 169 Lines • Show Last 20 Lines |