Diffstat (limited to 'noncore/settings/netsystemtime') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 50 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntp.h | 4 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 24 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.h | 1 |
4 files changed, 45 insertions, 34 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp index ddb1372..87b20ec 100644 --- a/noncore/settings/netsystemtime/ntp.cpp +++ b/noncore/settings/netsystemtime/ntp.cpp @@ -31,10 +31,10 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) connect ( ntpProcess, SIGNAL(processExited(OProcess*)), this, SLOT(ntpFinished(OProcess*))); connect(runNtp, SIGNAL(clicked()), this, SLOT(slotRunNtp())); connect(PushButtonPredict, SIGNAL(clicked()), this, SLOT(preditctTime())); - _nextCorrection = new QTimer( this ); - connect( _nextCorrection, SIGNAL(timeout()), SLOT(correctClock()) ); +// _nextCorrection = new QTimer( this ); +// connect( _nextCorrection, SIGNAL(timeout()), SLOT(correctClock()) ); slotRunNtp(); readLookups(); } @@ -82,8 +82,10 @@ void Ntp::ntpFinished(OProcess*) int lastLookup = cfg.readNumEntry("time",0); int lookupCount = cfg.readNumEntry("count",-1); int time = TimeConversion::toUTC( QDateTime::currentDateTime() ); cfg.writeEntry("time", time); + cfg.setGroup("correction"); + cfg.writeEntry("time", time); float timeShift = getTimeShift(); if (timeShift == 0.0) return; int secsSinceLast = time - lastLookup; @@ -100,26 +102,30 @@ void Ntp::ntpFinished(OProcess*) cfg.writeEntry("timeShift",QString::number(timeShift)); } } -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); - struct timeval myTv; - myTv.tv_sec = TimeConversion::toUTC( QDateTime::currentDateTime().addSecs(corr) ); - myTv.tv_usec = 0; - - if ( myTv.tv_sec != -1 ) - ::settimeofday( &myTv, 0 ); - Global::writeHWClock(); - cfg.writeEntry("time",now); - qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); -} +//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); +// if ( lastTime == 0 ) +// { +// return; +// } +// int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); +// int corr = int((now - lastTime) * _shiftPerSec); +// struct timeval myTv; +// myTv.tv_sec = TimeConversion::toUTC( QDateTime::currentDateTime().addSecs(corr) ); +// myTv.tv_usec = 0; +// +// if ( myTv.tv_sec != -1 ) +// ::settimeofday( &myTv, 0 ); +// Global::writeHWClock(); +// cfg.writeEntry("time",now); +// qDebug("current time: %s",QDateTime::currentDateTime().toString().latin1()); +//} float Ntp::getTimeShift() { QString _offset = "offset"; @@ -178,6 +184,8 @@ void Ntp::preditctTime() int lastTime = cfg.readNumEntry("time",0); setenv( "TZ", tz->currentZone(), 1 ); int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); int corr = int((now - lastTime) * _shiftPerSec); - TextLabelPredTime->setText(QDateTime::currentDateTime().addSecs(corr).toString()); + QDateTime dt = QDateTime::currentDateTime().addSecs(corr); + setTime(dt); + TextLabelPredTime->setText(dt.toString()); } diff --git a/noncore/settings/netsystemtime/ntp.h b/noncore/settings/netsystemtime/ntp.h index fc233bf..d2e238d 100644 --- a/noncore/settings/netsystemtime/ntp.h +++ b/noncore/settings/netsystemtime/ntp.h @@ -24,18 +24,18 @@ protected: private: QString _ntpOutput; int _maxOffset; float _shiftPerSec; - QTimer *_nextCorrection; +// QTimer *_nextCorrection; int _minLookupDiff; float getTimeShift(); void readLookups(); private slots: void slotRunNtp(); void getNtpOutput(OProcess *proc, char *buffer, int buflen); void ntpFinished(OProcess*); - void correctClock(); +// void correctClock(); void preditctTime(); }; #endif diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index dac5bd4..01268c9 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp @@ -207,12 +207,8 @@ void SetDateTime::accept() } void SetDateTime::commitTime() { - Config cfg("ntp",Config::User); - cfg.setGroup("lookups"); - int time = TimeConversion::toUTC( QDateTime::currentDateTime() ); - cfg.writeEntry("time", time); tz->setFocus(); // really turn off the screensaver before doing anything { // Needs to be encased in { } so that it deconstructs and sends @@ -226,23 +222,29 @@ void SetDateTime::commitTime() setenv( "TZ", tz->currentZone(), 1 ); // now set the time... QDateTime dt( dateButton->date(), timeButton->time() ); - if ( dt.isValid() ) { - struct timeval myTv; - myTv.tv_sec = TimeConversion::toUTC( dt ); - myTv.tv_usec = 0; + if ( dt.isValid() ) setTime(dt); +} + +void SetDateTime::setTime(QDateTime dt) +{ + Config cfg("ntp",Config::User); + cfg.setGroup("correction"); + int t = TimeConversion::toUTC(dt); + struct timeval myTv; + myTv.tv_sec = t; + cfg.writeEntry("time", t ); + myTv.tv_usec = 0; if ( myTv.tv_sec != -1 ) ::settimeofday( &myTv, 0 ); Global::writeHWClock(); // since time has changed quickly load in the datebookdb // to allow the alarm server to get a better grip on itself // (example re-trigger alarms for when we travel back in time) DateBookDB db; - } else { - qWarning( "Invalid date/time" ); - } + // set the timezone for everyone else... QCopEnvelope setTimeZone( "QPE/System", "timeChange(QString)" ); setTimeZone << tz->currentZone(); diff --git a/noncore/settings/netsystemtime/settime.h b/noncore/settings/netsystemtime/settime.h index 053d17a..729bf4b 100644 --- a/noncore/settings/netsystemtime/settime.h +++ b/noncore/settings/netsystemtime/settime.h @@ -75,8 +75,9 @@ protected slots: void formatChanged(int); protected: void commitTime(); + void setTime(QDateTime dt); virtual void accept(); virtual void done(int); SetTime *timeButton; |