Diffstat (limited to 'noncore/settings/netsystemtime/ntp.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp index b2f192a..52fc6be 100644 --- a/noncore/settings/netsystemtime/ntp.cpp +++ b/noncore/settings/netsystemtime/ntp.cpp @@ -8,2 +8,3 @@ #include <qspinbox.h> +#include <qmessagebox.h> #include <qmultilineedit.h> @@ -28,4 +29,4 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) // _minLookupDiff = cfg.readNumEntry("minLookupDiff",10); - SpinBoxMinDelay->setValue( cfg.readNumEntry("minLookupDiff",10) ); - SpinBoxMinDelay->setMinValue( 7 ); + SpinBoxMinLookupDelay->setValue( cfg.readNumEntry("minLookupDiff",60) ); + SpinBoxNtpDelay->setValue( cfg.readNumEntry("ntpRefreshFreq",60) ); LineEditNtpSrv->setText( cfg.readEntry("ntpServer", tr("time.fu-berlin.de")) ); @@ -54,3 +55,4 @@ Ntp::~Ntp() cfg.writeEntry("ntpServer", LineEditNtpSrv->text()); - cfg.writeEntry( "minLookupDiff", SpinBoxMinDelay->value() ); + cfg.writeEntry( "minLookupDiff", SpinBoxMinLookupDelay->value() ); + cfg.writeEntry( "ntpRefreshFreq", SpinBoxNtpDelay->value() ); } @@ -60,2 +62,20 @@ void Ntp::slotRunNtp() { + Config cfg("ntp",Config::User); + cfg.setGroup("lookups"); + int lookupDiff = TimeConversion::toUTC(QDateTime::currentDateTime()) - cfg.readNumEntry("time",0); + + if ( lookupDiff < SpinBoxNtpDelay->value()*60 ) + { + 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 loopup.")+ + "<br>"+tr("Rerun ntp?"), + QMessageBox::Ok,QMessageBox::Cancel) + ) { + case QMessageBox::Ok: break; + case QMessageBox::Cancel: return; + default: return; + } + } TextLabelStartTime->setText(QDateTime::currentDateTime().toString()); @@ -97,3 +117,4 @@ void Ntp::ntpFinished(OProcess*) TextLabelNewTime->setText(QDateTime::currentDateTime().toString()); - if ( lastLookup > 0 && secsSinceLast > 60*24* SpinBoxMinDelay->value()) + TextLabelTimeShift->setText(QString::number(timeShift)+tr(" seconds")); + if ( lastLookup > 0 && secsSinceLast > 60* SpinBoxMinLookupDelay->value()) { @@ -110,24 +131,2 @@ void Ntp::ntpFinished(OProcess*) -//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()); -//} @@ -145,3 +144,2 @@ float Ntp::getTimeShift() qDebug("diff = >%s<",diff.latin1()); - TextLabelTimeShift->setText(diff); return diff.toFloat(); @@ -166,2 +164,4 @@ void Ntp::readLookups() TableLookups->setColumnWidth( 2, cw ); + TableLookups->sortColumn(0, false, true ); + // TableLookups->setSorting( true ); for (int i=0; i < lookupCount; i++) @@ -180,3 +180,3 @@ void Ntp::readLookups() _shiftPerSec /= lookupCount+1; - TextLabelShift->setText(QString::number(_shiftPerSec)); + TextLabelShift->setText(QString::number(_shiftPerSec)+tr(" seconds")); } @@ -194,3 +194,3 @@ void Ntp::preditctTime() TextLabelPredTime->setText(predictedTime.toString()); - TextLabelMainPredTime->setText(predictedTime.toString()); + TextLabelMainPredTime->setText(tr("Predicted time:")+"<br><b>"+predictedTime.toString()+"</b>"); } @@ -212,3 +212,3 @@ void Ntp::slotCheckNtp(int i) preditctTime(); - ButtonSetTime->setText( tr("Predict time") ); + ButtonSetTime->setText( tr("Set predicted time") ); connect( ButtonSetTime, SIGNAL(clicked()), SLOT(setPredictTime()) ); |