X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=settings.hpp;h=8b94063fba607c1bae13bb61bc7fa1167347d692;hb=bec1f3b8ea934fbf047421dcbf548fcc8ebac5cf;hp=28fb78ff91696aa217ebdf1889a5c29656cdb018;hpb=76c4d7987cc699a60491a786dd66d81c2b0ce31e;p=yandex-traffic diff --git a/settings.hpp b/settings.hpp index 28fb78f..8b94063 100644 --- a/settings.hpp +++ b/settings.hpp @@ -4,6 +4,32 @@ #include + +class Language +{ +private: + QString _title; + QString _alias; + +public: + Language (const QString &alias, const QString &title) + : _title (title), + _alias (alias) + {}; + + QString title () const; + + 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,17 +50,23 @@ private: QMap _checks; int _updateIntervalIndex; - void makeDefault (); + QList _langs; + int _langIndex; + + QTranslator *_ts; - void loadCities (QSettings *settings); - void saveCities (QSettings *settings); + void makeDefault (); int intervalIndex2Minutes (int index) const; int minutes2IntervalIndex (int minutes) const; -public: Settings (); + void refreshTranslations (); + +public: + static Settings* instance (); + void load (); void save (); @@ -43,8 +76,10 @@ public: void setRegionID (const QString &id) { _regionID = id; }; - QMap cities () const - { return _cities; }; + QStringList regionIDs () const + { return _cities.keys (); }; + + QString regionName (const QString &id) const; bool check (check_t entry) const { return _checks[entry]; }; @@ -62,6 +97,18 @@ public: int updateInterval () const { return intervalIndex2Minutes (_updateIntervalIndex); }; + + // Language settings + const Language& language () const + { return _langs[_langIndex]; }; + + const QList& languages () const + { return _langs; }; + + void setLanguageIndex (int index); + +signals: + void translationsUpdated (); };