on xenial help sign in
langauge+country detection works, yay
2674d63Lukáš Tinkl
qml/Wizard/Page.qml+20−3
@@ -60,9 +60,12 @@ Item {
60
60
61 OfonoManager { // need it here for the language and country detection
61 OfonoManager { // need it here for the language and country detection
62 id: modemManager
62 id: modemManager
63− property bool ready: false
63+ property bool gotSimCard: available && ((simManager0.ready && simManager0.present) || (simManager1.ready && simManager1.present))
64− onModemsChanged: {
64+ onAvailableChanged: {
65− ready = true
65+ print("== Modem manager AVAILABLE");
66+ }
67+ onGotSimCardChanged: {
68+ print("== Modem has a usable SIM CARD");
66 }
69 }
67 }
70 }
68
71
@@ -71,11 +74,25 @@ Item {
71 OfonoSimManager {
74 OfonoSimManager {
72 id: simManager0
75 id: simManager0
73 modemPath: modemManager.modems.length >= 1 ? modemManager.modems[0] : ""
76 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+ }
74 }
84 }
75
85
76 OfonoSimManager {
86 OfonoSimManager {
77 id: simManager1
87 id: simManager1
78 modemPath: modemManager.modems.length >= 2 ? modemManager.modems[1] : ""
88 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+ }
79 }
96 }
80
97
81 // title
98 // title
qml/Wizard/Pages/10-language.qml+7−14
@@ -39,15 +39,12 @@ LocalComponents.Page {
39
39
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));
51 init();
48 init();
52 }
49 }
53 }
50 }
@@ -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");
68 } else {
65 } else {
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
71 }
68 }
72
69
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);
80 break;
77 break;
81 }
78 }
82 }
79 }
83−
84− if (selectedIndex !== -1) {
85− languagesListView.positionViewAtIndex(selectedIndex, ListView.Center);
86− }
87 }
80 }
88
81
89 Column {
82 Column {