summaryrefslogtreecommitdiff
path: root/noncore/settings/netsystemtime/ntp.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/netsystemtime/ntp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/netsystemtime/ntp.cpp15
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());
}