@@ -39,15 +39,12 @@ LocalComponents.Page {
40 Connections {
40 Connections {
41 target: modemManager
41 target: modemManager
42− onModemsChanged: {
42+ onGotSimCardChanged: {
43− print("=== Modems changed, init");
43+ print("=== Got a usable SIM card, init language page");
44− print("Modem manager available:", modemManager.available);
45− print("SIM 1 present:", simManager0.present);
46− print("SIM 1 ready:", simManager0.ready);
47 print("SIM 1 languages:", simManager0.preferredLanguages);
44 print("SIM 1 languages:", simManager0.preferredLanguages);
48 print("SIM 1 country:", LocalePlugin.mccToCountryCode(simManager0.mobileCountryCode));
45 print("SIM 1 country:", LocalePlugin.mccToCountryCode(simManager0.mobileCountryCode));
49− print("SIM 2 present:", simManager1.present);
46+ print("SIM 2 languages:", simManager1.preferredLanguages);
50− print("SIM 2 ready:", simManager1.ready);
47+ print("SIM 2 country:", LocalePlugin.mccToCountryCode(simManager1.mobileCountryCode));
@@ -64,26 +61,22 @@ LocalComponents.Page {
64 print("SIM 1 detected lang:", detectedLang);
61 print("SIM 1 detected lang:", detectedLang);
65 } else if (plugin.currentLanguage != -1) {
62 } else if (plugin.currentLanguage != -1) {
66 detectedLang = plugin.languageCodes[plugin.currentLanguage];
63 detectedLang = plugin.languageCodes[plugin.currentLanguage];
67− print("Still using current language", detectedLang, "as default");
64+ print("Using current language", detectedLang, "as default");
69 print("No lang detected, falling back to default (en_US)");
66 print("No lang detected, falling back to default (en_US)");
70 detectedLang = "en_US"; // fallback to default lang
67 detectedLang = "en_US"; // fallback to default lang
73 // preselect the detected language
70 // preselect the detected language
74− var selectedIndex = -1;
75 for (var i = 0; i < plugin.languageCodes.length; i++) {
71 for (var i = 0; i < plugin.languageCodes.length; i++) {
76 var code = plugin.languageCodes[i].split(".")[0]; // remove the encoding part, after dot (en_US.utf8 -> en_US)
72 var code = plugin.languageCodes[i].split(".")[0]; // remove the encoding part, after dot (en_US.utf8 -> en_US)
77 if (detectedLang === code) {
73 if (detectedLang === code) {
74+ print("Found detected language", detectedLang, "at index", i);
78 languagesListView.currentIndex = i;
75 languagesListView.currentIndex = i;
79− selectedIndex = i;
76+ languagesListView.positionViewAtIndex(i, ListView.Center);
84− if (selectedIndex !== -1) {
85− languagesListView.positionViewAtIndex(selectedIndex, ListView.Center);