summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/netsystemtime/ntp.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp
index 551cedc..06d944d 100644
--- a/noncore/settings/netsystemtime/ntp.cpp
+++ b/noncore/settings/netsystemtime/ntp.cpp
@@ -79,65 +79,69 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl )
ntpSock = new QSocket( this );
connect( ntpSock, SIGNAL( error(int) ),SLOT(slotCheckNtp(int)) );
slotProbeNtpServer();
connect ( ntpProcess, SIGNAL(receivedStdout(OProcess*,char*,int)),
this, SLOT(getNtpOutput(OProcess*,char*,int)));
connect ( ntpProcess, SIGNAL(processExited(OProcess*)),
this, SLOT(ntpFinished(OProcess*)));
connect(runNtp, SIGNAL(clicked()), this, SLOT(slotButtonRunNtp()));
connect(PushButtonPredict, SIGNAL(clicked()), this, SLOT(preditctTime()));
connect(PushButtonSetPredTime, SIGNAL(clicked()), this, SLOT(setPredictTime()));
slotCheckNtp(-1);
readLookups();
}
Ntp::~Ntp()
{
delete ntpProcess;
}
void Ntp::saveConfig(){
int srvCount = ComboNtpSrv->count();
bool serversChanged = true;
+ int curSrv = ComboNtpSrv->currentItem();
QString edit = ComboNtpSrv->currentText();
for (int i = 0; i < srvCount; i++){
if ( edit == ComboNtpSrv->text(i)) serversChanged = false;
}
if (serversChanged){
- Config ntpSrvs("/etc/ntpservers",Config::File);
+ Config ntpSrvs(QPEApplication::qpeDir()+"etc/ntpservers",Config::File);
ntpSrvs.setGroup("servers");
- ntpSrvs.writeEntry("count", srvCount);
- for (int i = 0; i < srvCount; i++){
+ ntpSrvs.writeEntry("count", ++srvCount);
+ ntpSrvs.setGroup("0");
+ ntpSrvs.writeEntry( "name", edit );
+ curSrv = 0;
+ for (int i = 1; i < srvCount; i++){
qDebug("ntpSrvs[%i/%i]=%s",i,srvCount,ComboNtpSrv->text(i).latin1());
ntpSrvs.setGroup(QString::number(i));
- ntpSrvs.writeEntry( "name", ComboNtpSrv->text(i) );
+ ntpSrvs.writeEntry( "name", ComboNtpSrv->text(i-1) );
}
}
Config cfg("ntp",Config::User);
cfg.setGroup("settings");
- cfg.writeEntry("ntpServer", ComboNtpSrv->currentItem());
+ cfg.writeEntry("ntpServer", curSrv );
cfg.writeEntry( "minLookupDiff", SpinBoxMinLookupDelay->value() );
cfg.writeEntry( "ntpRefreshFreq", SpinBoxNtpDelay->value() );
cfg.writeEntry( "advancedFeatures", CheckBoxAdvSettings->isChecked() );
}
bool Ntp::ntpDelayElapsed()
{
Config cfg("ntp",Config::User);
cfg.setGroup("lookups");
_lookupDiff = TimeConversion::toUTC(QDateTime::currentDateTime()) - cfg.readNumEntry("time",0);
if (_lookupDiff < 0) return true;
int i =_lookupDiff - (SpinBoxNtpDelay->value()*60);
return i > -60;
}
QString Ntp::getNtpServer()
{
return ComboNtpSrv->currentText();
}
void Ntp::slotButtonRunNtp()
{
_interactive = true;
slotRunNtp();
@@ -411,25 +415,25 @@ void Ntp::showAdvancedFeatures(bool advMode)
Line1->hide();
};
TabWidgetMain->show();
}
void Ntp::accept( ){
qDebug("saving");
//SetTimeDate
commitTime();
writeSettings();
updateSystem();
// Ntp
saveConfig();
qApp->quit();
}
void Ntp::reject( ){
qDebug("_oldTimeZone %s",_oldTimeZone.latin1());
if (!_oldTimeZone.isEmpty()){
qDebug("reverting timezone");
tzChange(_oldTimeZone);
commitTime();
}
-} \ No newline at end of file
+}