2 #include <settings.hpp>
11 void Settings::load ()
17 _regionID = settings.value ("region", _regionID).toString ();
19 _checks[C_ShowLight] = settings.value ("checks/light", _checks[C_ShowLight]).toBool ();
20 _checks[C_ShowRank] = settings.value ("checks/rank", _checks[C_ShowRank]).toBool ();
21 _checks[C_ShowTime] = settings.value ("checks/time", _checks[C_ShowTime]).toBool ();
22 _checks[C_ShowHint] = settings.value ("checks/hint", _checks[C_ShowHint]).toBool ();
23 _checks[C_UpdateOnWiFi] = settings.value ("checks/updateOnWifi", _checks[C_UpdateOnWiFi]).toBool ();
24 _checks[C_UpdateOnGSM] = settings.value ("checks/updateOnGSM", _checks[C_UpdateOnGSM]).toBool ();
25 _checks[C_UpdateWhenLocked] = settings.value ("checks/updateWhenLocked", _checks[C_UpdateWhenLocked]).toBool ();
27 _updateIntervalIndex = minutes2IntervalIndex (settings.value ("updateInterval", intervalIndex2Minutes (_updateIntervalIndex)).toInt ());
29 _langIndex = settings.value ("langIndex", _langIndex).toInt ();
30 if (_langIndex < 0 || _langIndex >= _langs.count ())
35 void Settings::save ()
39 settings.setValue ("region", _regionID);
41 settings.setValue ("checks/light", _checks[C_ShowLight]);
42 settings.setValue ("checks/rank", _checks[C_ShowRank]);
43 settings.setValue ("checks/time", _checks[C_ShowTime]);
44 settings.setValue ("checks/hint", _checks[C_ShowHint]);
45 settings.setValue ("checks/updateOnWifi", _checks[C_UpdateOnWiFi]);
46 settings.setValue ("checks/updateOnGSM", _checks[C_UpdateOnGSM]);
47 settings.setValue ("checks/updateWhenLocked", _checks[C_UpdateWhenLocked]);
49 settings.setValue ("updateInterval", intervalIndex2Minutes (_updateIntervalIndex));
51 settings.setValue ("langIndex", _langIndex);
55 void Settings::makeDefault ()
57 _regionID = "1"; // Default city
59 _cities["1"] = tr ("Moscow");
60 _cities["10174"] = tr ("St.Petersburg");
61 _cities["20544"] = tr ("Kiev");
62 _cities["11162"] = tr ("Ekaterinburg");
64 setCheck (C_ShowLight, true);
65 setCheck (C_ShowRank, true);
66 setCheck (C_ShowHint, true);
68 setCheck (C_UpdateOnWiFi, true);
70 setCheck (C_UpdateWhenLocked, true);
72 _updateIntervalIndex = 3;
76 _langs.append (Language (QString (""), tr ("System")));
77 _langs.append (Language (QString ("en"), tr ("English")));
78 _langs.append (Language (QString ("ru"), tr ("Russian")));
82 QStringList Settings::updateIntervals () const
86 res.append (tr ("Never"));
87 res.append (tr ("1 min"));
88 res.append (tr ("2 min"));
89 res.append (tr ("5 min"));
90 res.append (tr ("15 min"));
91 res.append (tr ("30 min"));
97 int Settings::intervalIndex2Minutes (int index) const
99 int int2min[] = { -1, 1, 2, 5, 15, 30 };
101 if (index < 0 || sizeof (int2min) / sizeof (int2min[0]) <= (unsigned int)index)
104 return int2min[index];
108 int Settings::minutes2IntervalIndex (int minutes) const