on xenial help sign in
display list of prefered countries on top, then the rest
8839366Lukáš Tinkl
qml/Wizard/Pages/15-country.qml+4−13
@@ -29,26 +29,22 @@ LocalComponents.Page {
29 readonly property var preferedCountries: LocalePlugin.countriesForLanguage(root.language)
29 readonly property var preferedCountries: LocalePlugin.countriesForLanguage(root.language)
30
30
31 Component.onCompleted: {
31 Component.onCompleted: {
32− populateModel(preferedCountries, "CH"); // FIXME pass the detected country code here
32+ populateModel(preferedCountries);
33 }
33 }
34
34
35− function populateModel(preferedCountries, detectedCountry)
35+ function populateModel(preferedCountries)
36 {
36 {
37− console.log("RegionPage::populateModel: detected country:" + detectedCountry);
38− var index = 0;
39 var countries = LocalePlugin.countries();
37 var countries = LocalePlugin.countries();
40 //console.log("All countries:" + countries);
38 //console.log("All countries:" + countries);
41 Object.keys(countries).map(function(code) { // prepare the object
39 Object.keys(countries).map(function(code) { // prepare the object
42 //console.log("Got country:" + code);
40 //console.log("Got country:" + code);
43 return { "code": code, "country": countries[code] || code,
41 return { "code": code, "country": countries[code] || code,
44− "dept": code === detectedCountry ? i18n.tr("Detected") : Object.keys(preferedCountries).indexOf(code) !== -1 ? i18n.tr("Prefered") : i18n.tr("All") };
42+ "dept": Object.keys(preferedCountries).indexOf(code) !== -1 ? i18n.tr("Prefered") : i18n.tr("All") };
45 })
43 })
46 .sort(function(a, b) { // group by status, sort by country name
44 .sort(function(a, b) { // group by status, sort by country name
47 if (a.dept === b.dept) {
45 if (a.dept === b.dept) {
48 return a.country.localeCompare(b.country);
46 return a.country.localeCompare(b.country);
49− } else if (a.dept === i18n.tr("Detected")) {
47+ } else if (a.dept === i18n.tr("Prefered")) {
50− return -1
51− } else if (a.dept === i18n.tr("Prefered") && b.dept === i18n.tr("All")) {
52 return -1
48 return -1
53 }
49 }
54 return 1
50 return 1
@@ -59,11 +55,6 @@ LocalComponents.Page {
59 return;
55 return;
60 }
56 }
61 model.append(country);
57 model.append(country);
62− if (country.code === detectedCountry) { // preselect the detected country
63− selectCountry(country.code, index)
64− //regionsListView.positionViewAtIndex(index, ListView.Center)
65− }
66− index++;
67 });
58 });
68 busyIndicator.running = false;
59 busyIndicator.running = false;
69 busyIndicator.visible = false;
60 busyIndicator.visible = false;