connectionSelector_ = new ConnectionSelector(tr("Connect automatically on"), this);
QString selectedConnection = Settings::instance()->get("connection");
- connectionSelector_->selectByValue(selectedConnection);
+
+ if(connectionSelector_->selectByValue(selectedConnection) &&
+ selectedConnection == "gprs")
+ {
+ connectionSelector_->updateConnections();
+ }
QPushButton* submitButton = new QPushButton(tr("Save"), this);
connect(submitButton, SIGNAL(pressed()), this, SLOT(saveSettings()));
Settings::instance()->startEdit();
- sourceConfig_->save();
Settings::instance()->set("cache_size", cacheInput_->text());
QString source = sourceSelector_->value().toString();
Settings::instance()->set("source", source);
Settings::instance()->set("autostart", autostart);
QString connection = connectionSelector_->value().toString();
Settings::instance()->set("connection", connection);
- Settings::instance()->set("connection_name", connectionSelector_->text());
QString language = languageSelector_->value().toString();
Settings::instance()->set("language", language);
+ sourceConfig_->save();
Settings::instance()->endEdit();
- if(Daemon::isRunning())
- {
- QMaemo5InformationBox::information(this, tr("Restarting daemon..."));
- Daemon::restart();
- }
+ bool infoboxShown = false;
if(language != selectedLanguage_)
{
QMaemo5InformationBox::information(this, tr("You need to restart Jenirok for language change to take effect."));
selectedLanguage_ = language;
+ infoboxShown = true;
+ }
+
+ if(Daemon::isRunning())
+ {
+ if(!infoboxShown)
+ {
+ QMaemo5InformationBox::information(this, tr("Restarting daemon..."), 1500);
+ }
+
+ Daemon::restart();
}
+ emit saved();
+
}
void SettingsDialog::resetCache()
if(source != currentSource_)
{
- tabs_->removeTab(tabs_->count() - 1);
+ int tabId = tabs_->indexOf(sourceConfig_);
+
+ if(tabId >= 0)
+ {
+ tabs_->removeTab(tabId);
+ }
+
delete sourceConfig_;
Source::SourceId sourceId = Source::stringToId(value.toString());
sourceConfig_ = SourceGuiConfig::getGuiConfig(sourceId, this);