-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 60 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntpbase.ui | 327 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 12 |
3 files changed, 266 insertions, 133 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()) ); diff --git a/noncore/settings/netsystemtime/ntpbase.ui b/noncore/settings/netsystemtime/ntpbase.ui index e444065..8d32849 100644 --- a/noncore/settings/netsystemtime/ntpbase.ui +++ b/noncore/settings/netsystemtime/ntpbase.ui @@ -13,4 +13,4 @@ <y>0</y> - <width>276</width> - <height>337</height> + <width>330</width> + <height>419</height> </rect> @@ -34,3 +34,3 @@ <name>spacing</name> - <number>1</number> + <number>2</number> </property> @@ -61,3 +61,3 @@ <name>margin</name> - <number>3</number> + <number>2</number> </property> @@ -65,3 +65,3 @@ <name>spacing</name> - <number>3</number> + <number>2</number> </property> @@ -97,3 +97,3 @@ <name>margin</name> - <number>3</number> + <number>1</number> </property> @@ -101,3 +101,3 @@ <name>spacing</name> - <number>3</number> + <number>2</number> </property> @@ -131,2 +131,5 @@ </property> + <property> + <name>layoutSpacing</name> + </property> <grid> @@ -134,3 +137,3 @@ <name>margin</name> - <number>11</number> + <number>2</number> </property> @@ -138,3 +141,3 @@ <name>spacing</name> - <number>6</number> + <number>2</number> </property> @@ -255,2 +258,8 @@ <property stdset="1"> + <name>font</name> + <font> + <pointsize>7</pointsize> + </font> + </property> + <property stdset="1"> <name>wordWrap</name> @@ -258,2 +267,6 @@ </property> + <property stdset="1"> + <name>text</name> + <string></string> + </property> </widget> @@ -384,3 +397,3 @@ <name>margin</name> - <number>3</number> + <number>2</number> </property> @@ -388,3 +401,3 @@ <name>spacing</name> - <number>3</number> + <number>2</number> </property> @@ -404,2 +417,8 @@ </property> + <property> + <name>layoutMargin</name> + </property> + <property> + <name>layoutSpacing</name> + </property> <grid> @@ -407,3 +426,3 @@ <name>margin</name> - <number>11</number> + <number>3</number> </property> @@ -411,3 +430,3 @@ <name>spacing</name> - <number>6</number> + <number>11</number> </property> @@ -428,103 +447,213 @@ </property> - <spacer row="2" column="0" > + <widget row="0" column="0" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel7_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Use</string> + </property> + </widget> + <widget row="0" column="2" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel2_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>as</string> + </property> + </widget> + <widget row="1" column="0" rowspan="1" colspan="2" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel1_3</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>NTP server to get the time from the network.</string> + </property> + <property stdset="1"> + <name>alignment</name> + <set>WordBreak|AlignVCenter|AlignLeft</set> + </property> <property> + <name>wordwrap</name> + </property> + </widget> + <widget row="0" column="1" > + <class>QLineEdit</class> + <property stdset="1"> <name>name</name> - <cstring>Spacer2</cstring> + <cstring>LineEditNtpSrv</cstring> </property> + </widget> + </grid> + </widget> + <spacer row="3" column="0" > + <property> + <name>name</name> + <cstring>Spacer2</cstring> + </property> + <property stdset="1"> + <name>orientation</name> + <enum>Vertical</enum> + </property> + <property stdset="1"> + <name>sizeType</name> + <enum>Expanding</enum> + </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + <widget row="2" column="0" > + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout7</cstring> + </property> + <grid> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget row="0" column="0" > + <class>QLabel</class> <property stdset="1"> - <name>orientation</name> - <enum>Vertical</enum> + <name>name</name> + <cstring>TextLabel1_2</cstring> </property> <property stdset="1"> - <name>sizeType</name> - <enum>Expanding</enum> + <name>text</name> + <string>Insure a delay of</string> + </property> + </widget> + <widget row="0" column="2" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>minutes until</string> + </property> + </widget> + <widget row="1" column="0" rowspan="1" colspan="3" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel3_3</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>a new NTP lookup will be used to predict the time.</string> + </property> + <property stdset="1"> + <name>alignment</name> + <set>WordBreak|AlignVCenter|AlignLeft</set> </property> <property> - <name>sizeHint</name> - <size> - <width>20</width> - <height>20</height> - </size> + <name>wordwrap</name> </property> - </spacer> - <widget row="1" column="0" > - <class>QLayoutWidget</class> + </widget> + <widget row="0" column="1" > + <class>QSpinBox</class> <property stdset="1"> <name>name</name> - <cstring>Layout6</cstring> - </property> - <hbox> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel7_2</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>NTP Server:</string> - </property> - </widget> - <widget> - <class>QLineEdit</class> - <property stdset="1"> - <name>name</name> - <cstring>LineEditNtpSrv</cstring> - </property> - </widget> - </hbox> + <cstring>SpinBoxMinLookupDelay</cstring> + </property> + <property stdset="1"> + <name>maxValue</name> + <number>9999999</number> + </property> + <property stdset="1"> + <name>minValue</name> + <number>42</number> + </property> </widget> + </grid> + </widget> + <widget row="1" column="0" > + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout7_2</cstring> + </property> + <grid> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> <widget row="0" column="0" > - <class>QLayoutWidget</class> + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel1_2_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Wait for</string> + </property> + </widget> + <widget row="0" column="2" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel2_3</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>minutes until</string> + </property> + </widget> + <widget row="1" column="0" rowspan="1" colspan="3" > + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel3_3_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>NTP syncronises the clock with the network</string> + </property> + <property stdset="1"> + <name>alignment</name> + <set>WordBreak|AlignVCenter|AlignLeft</set> + </property> + <property> + <name>wordwrap</name> + </property> + </widget> + <widget row="0" column="1" > + <class>QSpinBox</class> <property stdset="1"> <name>name</name> - <cstring>Layout5</cstring> - </property> - <hbox> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel1_2</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>Min. delay:</string> - </property> - </widget> - <widget> - <class>QSpinBox</class> - <property stdset="1"> - <name>name</name> - <cstring>SpinBoxMinDelay</cstring> - </property> - </widget> - <widget> - <class>QLabel</class> - <property stdset="1"> - <name>name</name> - <cstring>TextLabel2</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>minutes</string> - </property> - </widget> - </hbox> + <cstring>SpinBoxNtpDelay</cstring> + </property> + <property stdset="1"> + <name>maxValue</name> + <number>9999999</number> + </property> + <property stdset="1"> + <name>minValue</name> + <number>0</number> + </property> </widget> diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index b456012..2398c08 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp @@ -263,2 +263,6 @@ void SetDateTime::setTime(QDateTime dt) 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; } @@ -269,6 +273,2 @@ void SetDateTime::updateSystem(int i) writeSettings(); - // 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; @@ -293,2 +293,6 @@ void SetDateTime::updateSystem(int i) enableScreenSaver << -1 << -1 << -1; + // 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; |