updateUpdateButtonValue ();
layout->addWidget (_updateButton);
+ createLanguageButton (layout);
+
connect (_displayButton, SIGNAL (clicked ()), SLOT (displayClicked ()));
connect (_updateButton, SIGNAL (clicked ()), SLOT (updateClicked ()));
}
+void SettingsDialog::createLanguageButton (QBoxLayout *layout)
+{
+ _languageButton = new QMaemo5ValueButton (tr ("Interface language"), this);
+ layout->addWidget (_languageButton);
+
+#ifdef Q_WS_MAEMO_5
+ QMaemo5ListPickSelector *selector = new QMaemo5ListPickSelector;
+ QStandardItemModel *model = new QStandardItemModel (0, 1);
+ QList<Language>::const_iterator it = _settings->languages ().begin ();
+
+ while (it != _settings->languages ().end ()) {
+ QStandardItem *item = new QStandardItem (it->title ());
+ item->setData (it->alias ());
+ model->appendRow (item);
+ it++;
+ }
+
+ selector->setModel (model);
+ selector->setCurrentIndex (_settings->languages ().indexOf (_settings->language ()));
+
+ _languageButton->setPickSelector (selector);
+
+ connect (selector, SIGNAL (selected (const QString&)), SLOT (languageChanged (const QString&)));
+#endif
+}
+
+
void SettingsDialog::displayClicked ()
{
DisplaySettingsDialog dlg (_settings);
}
+void SettingsDialog::languageChanged (const QString&)
+{
+#ifdef Q_WS_MAEMO_5
+ QMaemo5ListPickSelector *model = static_cast<QMaemo5ListPickSelector*> (_languageButton->pickSelector ());
+
+ if (!model)
+ return;
+
+ _settings->setLanguageIndex (model->currentIndex ());
+ _settings->save ();
+#endif
+}
+
+
void SettingsDialog::updateDisplayButtonValue ()
{
QString val;
QStringList list;
- val = tr ("City: ") + _settings->cities ()[_settings->regionID ()] + ", " + tr ("Data: ");
+ val = tr ("City:") + " " + _settings->regionName (_settings->regionID ()) + ", " + tr ("Display:") + " ";
if (_settings->check (Settings::C_ShowLight))
list.append (tr ("lights"));
QStringList list, intervals = _settings->updateIntervals ();
QString val;
- val = tr ("Interval: ") + intervals[_settings->getUpdateIntervalIndex ()] + ", " + tr ("Update via: ");
+ val = tr ("Interval:") + " " + intervals[_settings->getUpdateIntervalIndex ()] + ", " + tr ("Update via:") + " ";
if (_settings->check (Settings::C_UpdateOnWiFi))
list.append (tr ("WiFi"));
if (_settings->check (Settings::C_UpdateOnGSM))
list.append (tr ("GSM"));
- _updateButton->setValueText (val + list.join (", "));
+ val += list.join (", ");
+
+ if (_settings->check (Settings::C_UpdateWhenLocked))
+ val += ", " + tr ("Update when locked");
+ else
+ val += ", " + tr ("Not update when locked");
+
+ _updateButton->setValueText (val);
}
void DisplaySettingsDialog::initCities (QBoxLayout *layout)
{
_cities = new QListWidget (this);
- QMap<QString, QString> cities_map = settings ()->cities ();
- QMap<QString, QString>::iterator it = cities_map.begin ();
+ QStringList regions = settings ()->regionIDs ();
+ QStringList::const_iterator it = regions.begin ();
// Populate list with cities
- while (it != cities_map.end ()) {
- QListWidgetItem *item = new QListWidgetItem (it.value (), _cities);
+ while (it != regions.end ()) {
+ QListWidgetItem *item = new QListWidgetItem (settings()->regionName (*it), _cities);
- item->setData (Qt::UserRole, QVariant (it.key ()));
- if (it.key () == settings ()->regionID ())
+ item->setData (Qt::UserRole, QVariant (*it));
+ if (*it == settings ()->regionID ())
_cities->setCurrentItem (item);
it++;
}
_wifiUpdate->setChecked (settings ()->check (Settings::C_UpdateOnWiFi));
_gsmUpdate = new QCheckBox (tr ("Update via GSM"), this);
_gsmUpdate->setChecked (settings ()->check (Settings::C_UpdateOnGSM));
+ _lockedUpdate = new QCheckBox (tr ("Update when device locked"), this);
+ _lockedUpdate->setChecked (settings ()->check (Settings::C_UpdateWhenLocked));
initUpdateInterval (layout ());
layout ()->addWidget (_wifiUpdate);
layout ()->addWidget (_gsmUpdate);
+ layout ()->addWidget (_lockedUpdate);
}
#endif
settings ()->setCheck (Settings::C_UpdateOnWiFi, _wifiUpdate->isChecked ());
settings ()->setCheck (Settings::C_UpdateOnGSM, _gsmUpdate->isChecked ());
+ settings ()->setCheck (Settings::C_UpdateWhenLocked, _lockedUpdate->isChecked ());
}