on xenial help sign in
langauge+country detection works, yay
commit2674d6329bd177acc76564b165a4b2cc40a56181 authorLukáš Tinkl <lukas.tinkl@canonical.com> dateThu 3 Sep 2015, 01:40 (11 years ago) parentc32afb1
2 files changed+27−17
qml/Wizard/Page.qml+20−3 qml/Wizard/Pages/10-language.qml+7−14
qml/Wizard/Page.qml+20−3
@@ -60,9 +60,12 @@ Item {
6060
6161 OfonoManager { // need it here for the language and country detection
6262 id: modemManager
63− property bool ready: false
64− onModemsChanged: {
65− ready = true
63+ property bool gotSimCard: available && ((simManager0.ready && simManager0.present) || (simManager1.ready && simManager1.present))
64+ onAvailableChanged: {
65+ print("== Modem manager AVAILABLE");
66+ }
67+ onGotSimCardChanged: {
68+ print("== Modem has a usable SIM CARD");
6669 }
6770 }
6871
@@ -71,11 +74,25 @@ Item {
7174 OfonoSimManager {
7275 id: simManager0
7376 modemPath: modemManager.modems.length >= 1 ? modemManager.modems[0] : ""
77+ onReadyChanged: {
78+ print("=== SIM 1 READY!");
79+ print("SIM 1 present:", simManager0.present);
80+ print("SIM 1 ready:", simManager0.ready);
81+ print("SIM 1 languages:", simManager0.preferredLanguages);
82+ print("SIM 1 country code:", simManager0.mobileCountryCode);
83+ }
7484 }
7585
7686 OfonoSimManager {
7787 id: simManager1
7888 modemPath: modemManager.modems.length >= 2 ? modemManager.modems[1] : ""
89+ onReadyChanged: {
90+ print("=== SIM 2 READY!");
91+ print("SIM 2 present:", simManager1.present);
92+ print("SIM 2 ready:", simManager1.ready);
93+ print("SIM 2 languages:", simManager1.preferredLanguages);
94+ print("SIM 2 country code:", simManager1.mobileCountryCode);
95+ }
7996 }
8097
8198 // title
qml/Wizard/Pages/10-language.qml+7−14
@@ -39,15 +39,12 @@ LocalComponents.Page {
3939
4040 Connections {
4141 target: modemManager
42− onModemsChanged: {
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);
42+ onGotSimCardChanged: {
43+ print("=== Got a usable SIM card, init language page");
4744 print("SIM 1 languages:", simManager0.preferredLanguages);
4845 print("SIM 1 country:", LocalePlugin.mccToCountryCode(simManager0.mobileCountryCode));
49− print("SIM 2 present:", simManager1.present);
50− print("SIM 2 ready:", simManager1.ready);
46+ print("SIM 2 languages:", simManager1.preferredLanguages);
47+ print("SIM 2 country:", LocalePlugin.mccToCountryCode(simManager1.mobileCountryCode));
5148 init();
5249 }
5350 }
@@ -64,26 +61,22 @@ LocalComponents.Page {
6461 print("SIM 1 detected lang:", detectedLang);
6562 } else if (plugin.currentLanguage != -1) {
6663 detectedLang = plugin.languageCodes[plugin.currentLanguage];
67− print("Still using current language", detectedLang, "as default");
64+ print("Using current language", detectedLang, "as default");
6865 } else {
6966 print("No lang detected, falling back to default (en_US)");
7067 detectedLang = "en_US"; // fallback to default lang
7168 }
7269
7370 // preselect the detected language
74− var selectedIndex = -1;
7571 for (var i = 0; i < plugin.languageCodes.length; i++) {
7672 var code = plugin.languageCodes[i].split(".")[0]; // remove the encoding part, after dot (en_US.utf8 -> en_US)
7773 if (detectedLang === code) {
74+ print("Found detected language", detectedLang, "at index", i);
7875 languagesListView.currentIndex = i;
79− selectedIndex = i;
76+ languagesListView.positionViewAtIndex(i, ListView.Center);
8077 break;
8178 }
8279 }
83−
84− if (selectedIndex !== -1) {
85− languagesListView.positionViewAtIndex(selectedIndex, ListView.Center);
86− }
8780 }
8881
8982 Column {