3 YTRegions::YTRegions() : QObject() { }
5 const QList<YTRegion> & YTRegions::list() {
6 static QList<YTRegion> list;
8 list << r(tr("Algeria"), "DZ")
9 << r(tr("Argentina"), "AR")
10 << r(tr("Australia"), "AU")
11 << r(tr("Belgium"), "BE")
12 << r(tr("Brazil"), "BR")
13 << r(tr("Canada"), "CA")
14 << r(tr("Chile"), "CL")
15 << r(tr("Colombia"), "CO")
16 << r(tr("Czech Republic"), "CZ")
17 << r(tr("Egypt"), "EG")
18 << r(tr("France"), "FR")
19 << r(tr("Germany"), "DE")
20 << r(tr("Ghana"), "GH")
21 << r(tr("Greece"), "GR")
22 << r(tr("Hong Kong"), "HK")
23 << r(tr("Hungary"), "HU")
24 << r(tr("India"), "IN")
25 << r(tr("Indonesia"), "ID")
26 << r(tr("Ireland"), "IE")
27 << r(tr("Israel"), "IL")
28 << r(tr("Italy"), "IT")
29 << r(tr("Japan"), "JP")
30 << r(tr("Jordan"), "JO")
31 << r(tr("Kenya"), "KE")
32 << r(tr("Malaysia"), "MY")
33 << r(tr("Mexico"), "MX")
34 << r(tr("Morocco"), "MA")
35 << r(tr("Netherlands"), "NL")
36 << r(tr("New Zealand"), "NZ")
37 << r(tr("Nigeria"), "NG")
38 << r(tr("Peru"), "PE")
39 << r(tr("Philippines"), "PH")
40 << r(tr("Poland"), "PL")
41 << r(tr("Russia"), "RU")
42 << r(tr("Saudi Arabia"), "SA")
43 << r(tr("Singapore"), "SG")
44 << r(tr("South Africa"), "ZA")
45 << r(tr("South Korea"), "KR")
46 << r(tr("Spain"), "ES")
47 << r(tr("Sweden"), "SE")
48 << r(tr("Taiwan"), "TW")
49 << r(tr("Tunisia"), "TN")
50 << r(tr("Turkey"), "TR")
51 << r(tr("Uganda"), "UG")
52 << r(tr("United Arab Emirates"), "AE")
53 << r(tr("United Kingdom"), "GB")
54 << r(tr("Yemen"), "YE");
56 list << r(QLocale::Algeria, "DZ")
57 << r(QLocale::Argentina, "AR")
58 << r(QLocale::Australia, "AU")
59 << r(QLocale::Belgium, "BE")
60 << r(QLocale::Brazil, "BR")
61 << r(QLocale::Canada, "CA")
62 << r(QLocale::Chile, "CL")
63 << r(QLocale::Colombia, "CO")
64 << r(QLocale::CzechRepublic, "CZ")
65 << r(QLocale::Egypt, "EG")
66 << r(QLocale::France, "FR")
67 << r(QLocale::Germany, "DE")
68 << r(QLocale::Ghana, "GH")
69 << r(QLocale::Greece, "GR")
70 << r(QLocale::HongKong, "HK")
71 << r(QLocale::Hungary, "HU")
72 << r(QLocale::India, "IN")
73 << r(QLocale::Indonesia, "ID")
74 << r(QLocale::Ireland, "IE")
75 << r(QLocale::Israel, "IL")
76 << r(QLocale::Italy, "IT")
77 << r(QLocale::Japan, "JP")
78 << r(QLocale::Jordan, "JO")
79 << r(QLocale::Kenya, "KE")
80 << r(QLocale::Malaysia, "MY")
81 << r(QLocale::Mexico, "MX")
82 << r(QLocale::Morocco, "MA")
83 << r(QLocale::Netherlands, "NL")
84 << r(QLocale::NewZealand, "NZ")
85 << r(QLocale::Nigeria, "NG")
86 << r(QLocale::Peru, "PE")
87 << r(QLocale::Philippines, "PH")
88 << r(QLocale::Poland, "PL")
89 << r(QLocale::RussianFederation, "RU")
90 << r(QLocale::SaudiArabia, "SA")
91 << r(QLocale::Singapore, "SG")
92 << r(QLocale::SouthAfrica, "ZA")
93 << r(QLocale::RepublicOfKorea, "KR")
94 << r(QLocale::Spain, "ES")
95 << r(QLocale::Sweden, "SE")
96 << r(QLocale::Taiwan, "TW")
97 << r(QLocale::Tunisia, "TN")
98 << r(QLocale::Turkey, "TR")
99 << r(QLocale::Uganda, "UG")
100 << r(QLocale::UnitedArabEmirates, "AE")
101 << r(QLocale::UnitedKingdom, "GB")
102 << r(QLocale::Yemen, "YE");
109 YTRegion YTRegions::r(QString name, QString id) {
110 YTRegion r = {id, name};
114 const YTRegion & YTRegions::localRegion() {
115 static YTRegion region;
116 if (region.name.isEmpty()) {
117 QString country = QLocale::system().name().right(2);
118 foreach (YTRegion r, list())
119 if (r.id == country) {
122 } // else qDebug() << r.id << country;
127 const YTRegion & YTRegions::worldwideRegion() {
128 static YTRegion region = {"", tr("Worldwide")};
132 void YTRegions::setRegion(QString regionId) {
134 settings.setValue("regionId", regionId);
137 QString YTRegions::currentRegionId() {
139 return settings.value("regionId").toString();
142 YTRegion YTRegions::currentRegion() {
143 return regionById(currentRegionId());
146 YTRegion YTRegions::regionById(QString id) {
147 if (id.isEmpty()) return worldwideRegion();
149 foreach (YTRegion r, list())
154 if (region.name.isEmpty()) return worldwideRegion();
158 QIcon YTRegions::iconForRegionId(QString regionId) {
159 if (regionId.isEmpty()) return QIcon(":images/worldwide.png");
160 return QIcon(":flags/" + regionId.toLower() + ".png");