@@ -32,6 +32,7 @@ LocalComponents.Page {
3232
3333 Component.onCompleted: {
3434 if (!modemManager.available) { // don't wait for the modem if it's not there
35+ print("=== Modem manager not available, init manually")
3536 init();
3637 }
3738 }
@@ -39,7 +40,14 @@ LocalComponents.Page {
3940 Connections {
4041 target: modemManager
4142 onModemsChanged: {
42− print("Modems changed");
43+ print("=== Modems changed, init");
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);
48+ print("SIM 1 country:", LocalePlugin.mccToCountryCode(simManager0.mobileCountryCode));
49+ print("SIM 2 present:", simManager1.present);
50+ print("SIM 2 ready:", simManager1.ready);
4351 init();
4452 }
4553 }
@@ -47,7 +55,7 @@ LocalComponents.Page {
4755 function init()
4856 {
4957 var detectedLang = "";
50− // try to detect the language from the SIM card
58+ // try to detect the language+country from the SIM card
5159 if (simManager0.present && simManager0.preferredLanguages.length > 0) {
5260 detectedLang = simManager0.preferredLanguages[0] + "_" + LocalePlugin.mccToCountryCode(simManager0.mobileCountryCode);
5361 print("SIM 0 detected lang:", detectedLang);
@@ -56,21 +64,26 @@ LocalComponents.Page {
5664 print("SIM 1 detected lang:", detectedLang);
5765 } else if (plugin.currentLanguage != -1) {
5866 detectedLang = plugin.languageCodes[plugin.currentLanguage];
59− print("Using current language", detectedLang, "as default");
67+ print("Still using current language", detectedLang, "as default");
6068 } else {
6169 print("No lang detected, falling back to default (en_US)");
6270 detectedLang = "en_US"; // fallback to default lang
6371 }
6472
6573 // preselect the detected language
74+ var selectedIndex = -1;
6675 for (var i = 0; i < plugin.languageCodes.length; i++) {
6776 var code = plugin.languageCodes[i].split(".")[0]; // remove the encoding part, after dot (en_US.utf8 -> en_US)
6877 if (detectedLang === code) {
6978 languagesListView.currentIndex = i;
70− languagesListView.positionViewAtIndex(i, ListView.Center);
79+ selectedIndex = i;
7180 break;
7281 }
7382 }
83+
84+ if (selectedIndex !== -1) {
85+ languagesListView.positionViewAtIndex(selectedIndex, ListView.Center);
86+ }
7487 }
7588
7689 Column {