Update data when device unlocked.
[yandex-traffic] / settings.hpp
index 28fb78f..1953f76 100644 (file)
@@ -4,6 +4,32 @@
 #include <QtCore>
 
 
+class Language
+{
+private:
+    QString _title;
+    QString _alias;
+
+public:
+    Language (const QString &alias, const QString &title)
+        : _title (title),
+          _alias (alias)
+    {};
+
+    QString title () const
+    { return _title; };
+
+    QString alias () const
+    { return _alias; };
+
+    bool operator== (const Language &lang) const
+    { return _title == lang._title && _alias == lang._alias; };
+
+    bool operator!= (const Language &lang) const
+    { return !(*this == lang); };
+};
+
+
 class Settings : public QObject
 {
     Q_OBJECT
@@ -15,6 +41,7 @@ public:
         C_ShowHint,
         C_UpdateOnWiFi,
         C_UpdateOnGSM,
+        C_UpdateWhenLocked,
     };
 
 private:
@@ -23,10 +50,10 @@ private:
     QMap<check_t, bool> _checks;
     int _updateIntervalIndex;
 
-    void makeDefault ();
+    QList<Language> _langs;
+    int _langIndex;
 
-    void loadCities (QSettings *settings);
-    void saveCities (QSettings *settings);
+    void makeDefault ();
 
     int intervalIndex2Minutes (int index) const;
     int minutes2IntervalIndex (int minutes) const;
@@ -62,6 +89,16 @@ public:
 
     int updateInterval () const
     { return intervalIndex2Minutes (_updateIntervalIndex); };
+
+    // Language settings
+    const Language& language () const
+    { return _langs[_langIndex]; };
+
+    const QList<Language>& languages () const
+    { return _langs; };
+
+    void setLanguage (const Language &lang)
+    { _langIndex = _langs.indexOf (lang); };
 };