Diffstat (limited to 'noncore/settings/netsystemtime/ntp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp index 04b113b..ddb1372 100644 --- a/noncore/settings/netsystemtime/ntp.cpp +++ b/noncore/settings/netsystemtime/ntp.cpp @@ -15,13 +15,13 @@ #include <sys/time.h> #include <time.h> #include <stdlib.h> Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) - : NtpBase( parent, name, fl ) + : SetDateTime( parent, name, fl ) { Config cfg("ntp",Config::User); cfg.setGroup("settings"); _maxOffset = cfg.readNumEntry("maxOffset",5); _minLookupDiff = cfg.readNumEntry("minLookupDiff",10); LineEditNtpServer->setText( cfg.readEntry("ntpServer") ); @@ -37,12 +37,17 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) slotRunNtp(); readLookups(); } Ntp::~Ntp() { + +} + +void Ntp::accept() +{ Config cfg("ntp",Config::User); cfg.setGroup("settings"); cfg.writeEntry("ntpServer", LineEditNtpServer->text()); } @@ -51,24 +56,23 @@ void Ntp::slotRunNtp() TextLabelStartTime->setText(QDateTime::currentDateTime().toString()); ntpProcess->clearArguments(); *ntpProcess << "ntpdate" << LineEditNtpServer->text(); bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); if ( !ret ) { qDebug("Error while executing ntp"); - outPut->append("\nError while executing\n\n"); } } void Ntp::getNtpOutput(OProcess *proc, char *buffer, int buflen) { QString lineStr, lineStrOld; lineStr = buffer; lineStr=lineStr.left(buflen); if (lineStr!=lineStrOld) { - outPut->append(lineStr); +// outPut->append(lineStr); _ntpOutput += lineStr; } lineStrOld = lineStr; } void Ntp::ntpFinished(OProcess*) @@ -87,13 +91,13 @@ void Ntp::ntpFinished(OProcess*) if ( lastLookup > 0 && secsSinceLast > 60*_minLookupDiff) { lookupCount++; cfg.writeEntry("count",lookupCount); cfg.setGroup("lookup_"+QString::number(lookupCount)); _shiftPerSec = timeShift / secsSinceLast; - float nextCorr = _maxOffset / _shiftPerSec; +// float nextCorr = _maxOffset / _shiftPerSec; qDebug("secs since last lookup %i", secsSinceLast);qDebug("timeshift since last lookup %f", timeShift);qDebug("timeshift since per sec %f", _shiftPerSec); cfg.writeEntry("secsSinceLast",secsSinceLast); cfg.writeEntry("timeShift",QString::number(timeShift)); } } @@ -102,13 +106,12 @@ void Ntp::correctClock() qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); Config cfg("ntp",Config::User); cfg.setGroup("correction"); int lastTime = cfg.readNumEntry("time",0); int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); int corr = int((now - lastTime) * _shiftPerSec); - outPut->append( "time will be shifted by "+QString::number(corr)+ "secs"); struct timeval myTv; myTv.tv_sec = TimeConversion::toUTC( QDateTime::currentDateTime().addSecs(corr) ); myTv.tv_usec = 0; if ( myTv.tv_sec != -1 ) ::settimeofday( &myTv, 0 ); @@ -170,11 +173,11 @@ void Ntp::readLookups() void Ntp::preditctTime() { qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); Config cfg("ntp",Config::User); cfg.setGroup("lookups"); int lastTime = cfg.readNumEntry("time",0); + setenv( "TZ", tz->currentZone(), 1 ); int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); int corr = int((now - lastTime) * _shiftPerSec); - outPut->append( "time will be shifted by "+QString::number(corr)+ "secs"); TextLabelPredTime->setText(QDateTime::currentDateTime().addSecs(corr).toString()); } |