-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 16 |
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 @@ -55,113 +55,117 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) TabWidgetMain->removePage( tabPredict ); TabWidgetMain->removePage( tabNtp ); TabWidgetMain->insertTab( tabMain, tr( "Main" ) ); TabWidgetMain->insertTab( TabSettings, tr( "Settings" ) ); TabWidgetMain->insertTab( tabPredict, tr( "Predict" ) ); TabWidgetMain->insertTab( tabNtp, tr( "NTP" ) ); NtpBaseLayout->addWidget( TabWidgetMain, 0, 0 ); bool advMode = cfg.readBoolEntry("advancedFeatures", false ); showAdvancedFeatures(advMode); CheckBoxAdvSettings->setChecked( advMode ); connect( CheckBoxAdvSettings, SIGNAL( toggled( bool ) ), SLOT( showAdvancedFeatures( bool ) ) ); makeChannel(); ntpTimer = new QTimer(this); ntpProcess = new OProcess( ); connect( SpinBoxNtpDelay, SIGNAL( valueChanged(int) ), SLOT(slotNtpDelayChanged(int)) ); 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(); } void Ntp::slotTimerRunNtp() { _interactive = false; slotRunNtp(); } void Ntp::slotRunNtp() { if ( !ntpDelayElapsed() && CheckBoxAdvSettings->isChecked() ) { switch ( QMessageBox::warning(this, tr("Run NTP?"), tr("You asked for a delay of ")+SpinBoxNtpDelay->text()+tr(" minutes, but only ")+ QString::number(_lookupDiff/60)+tr(" minutes elapsed since last lookup.")+ "<br>"+tr("Rerun NTP?"), QMessageBox::Ok,QMessageBox::Cancel) ) { case QMessageBox::Ok: break; case QMessageBox::Cancel: return; default: return; } @@ -387,49 +391,49 @@ void Ntp::showAdvancedFeatures(bool advMode) if (advMode) { TabWidgetMain->addTab( tabPredict, tr( "Predict" ) ); TabWidgetMain->addTab( tabNtp, tr( "NTP" ) ); TextLabel1_2_2->show(); TextLabel2_3->show(); TextLabel3_3_2->show(); TextLabel1_2->show(); SpinBoxMinLookupDelay->show(); TextLabel2->show(); TextLabel3_3->show(); SpinBoxNtpDelay->show(); Line1->show(); }else{ TabWidgetMain->removePage( tabPredict ); TabWidgetMain->removePage( tabNtp ); TextLabel1_2_2->hide(); TextLabel2_3->hide(); TextLabel3_3_2->hide(); TextLabel1_2->hide(); SpinBoxMinLookupDelay->hide(); TextLabel2->hide(); TextLabel3_3->hide(); SpinBoxNtpDelay->hide(); 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 +} |