-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 77 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntp.h | 13 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntpbase.ui | 171 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 27 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.h | 10 |
5 files changed, 212 insertions, 86 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp index 87b20ec..4a7959e 100644 --- a/noncore/settings/netsystemtime/ntp.cpp +++ b/noncore/settings/netsystemtime/ntp.cpp | |||
@@ -5,3 +5,5 @@ | |||
5 | #include <qlabel.h> | 5 | #include <qlabel.h> |
6 | #include <qsocket.h> | ||
6 | #include <qlineedit.h> | 7 | #include <qlineedit.h> |
8 | #include <qspinbox.h> | ||
7 | #include <qmultilineedit.h> | 9 | #include <qmultilineedit.h> |
@@ -24,6 +26,14 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) | |||
24 | cfg.setGroup("settings"); | 26 | cfg.setGroup("settings"); |
25 | _maxOffset = cfg.readNumEntry("maxOffset",5); | 27 | // _maxOffset = cfg.readNumEntry("maxOffset",5); |
26 | _minLookupDiff = cfg.readNumEntry("minLookupDiff",10); | 28 | // _minLookupDiff = cfg.readNumEntry("minLookupDiff",10); |
27 | LineEditNtpServer->setText( cfg.readEntry("ntpServer") ); | 29 | SpinBoxMinDelay->setValue( cfg.readNumEntry("minLookupDiff",10) ); |
30 | SpinBoxMinDelay->setMinValue( 7 ); | ||
31 | LineEditNtpSrv->setText( cfg.readEntry("ntpServer", tr("time.fu-berlin.de")) ); | ||
28 | ntpProcess = new OProcess( ); | 32 | ntpProcess = new OProcess( ); |
33 | |||
34 | QSocket *ntpSock = new QSocket( this ); | ||
35 | ntpSock->connectToHost( LineEditNtpSrv->text() ,123); | ||
36 | connect( ntpSock, SIGNAL( error(int) ), | ||
37 | SLOT(slotCheckNtp(int)) ); | ||
38 | |||
29 | connect ( ntpProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), | 39 | connect ( ntpProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), |
@@ -34,5 +44,4 @@ Ntp::Ntp( QWidget* parent, const char* name, WFlags fl ) | |||
34 | connect(PushButtonPredict, SIGNAL(clicked()), this, SLOT(preditctTime())); | 44 | connect(PushButtonPredict, SIGNAL(clicked()), this, SLOT(preditctTime())); |
35 | // _nextCorrection = new QTimer( this ); | 45 | |
36 | // connect( _nextCorrection, SIGNAL(timeout()), SLOT(correctClock()) ); | 46 | // slotRunNtp(); |
37 | slotRunNtp(); | ||
38 | readLookups(); | 47 | readLookups(); |
@@ -42,10 +51,6 @@ Ntp::~Ntp() | |||
42 | { | 51 | { |
43 | |||
44 | } | ||
45 | |||
46 | void Ntp::accept() | ||
47 | { | ||
48 | Config cfg("ntp",Config::User); | 52 | Config cfg("ntp",Config::User); |
49 | cfg.setGroup("settings"); | 53 | cfg.setGroup("settings"); |
50 | cfg.writeEntry("ntpServer", LineEditNtpServer->text()); | 54 | cfg.writeEntry("ntpServer", LineEditNtpSrv->text()); |
55 | cfg.writeEntry( "minLookupDiff", SpinBoxMinDelay->value() ); | ||
51 | } | 56 | } |
@@ -57,3 +62,3 @@ void Ntp::slotRunNtp() | |||
57 | ntpProcess->clearArguments(); | 62 | ntpProcess->clearArguments(); |
58 | *ntpProcess << "ntpdate" << LineEditNtpServer->text(); | 63 | *ntpProcess << "ntpdate" << LineEditNtpSrv->text(); |
59 | bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); | 64 | bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); |
@@ -71,3 +76,3 @@ void Ntp::getNtpOutput(OProcess *proc, char *buffer, int buflen) | |||
71 | { | 76 | { |
72 | // outPut->append(lineStr); | 77 | MultiLineEditntpOutPut->append(lineStr); |
73 | _ntpOutput += lineStr; | 78 | _ntpOutput += lineStr; |
@@ -92,3 +97,3 @@ void Ntp::ntpFinished(OProcess*) | |||
92 | TextLabelNewTime->setText(QDateTime::currentDateTime().toString()); | 97 | TextLabelNewTime->setText(QDateTime::currentDateTime().toString()); |
93 | if ( lastLookup > 0 && secsSinceLast > 60*_minLookupDiff) | 98 | if ( lastLookup > 0 && secsSinceLast > 60*24* SpinBoxMinDelay->value()) |
94 | { | 99 | { |
@@ -153,8 +158,8 @@ void Ntp::readLookups() | |||
153 | TableLookups->setNumRows( lookupCount); | 158 | TableLookups->setNumRows( lookupCount); |
154 | TableLookups->horizontalHeader()->setLabel(2,"secsSinceLast"); | 159 | TableLookups->horizontalHeader()->setLabel(1,"secsSinceLast"); |
155 | TableLookups->horizontalHeader()->setLabel(1,"timeShift"); | 160 | TableLookups->horizontalHeader()->setLabel(2,"timeShift"); |
156 | TableLookups->horizontalHeader()->setLabel(0,"shift/s"); | 161 | TableLookups->horizontalHeader()->setLabel(0,"shift/s"); |
157 | int cw = TableLookups->width()/4; | 162 | int cw = 50;//TableLookups->width()/4; |
158 | qDebug("column width %i",cw); | 163 | qDebug("column width %i",cw); |
159 | TableLookups->setColumnWidth( 0, cw ); | 164 | TableLookups->setColumnWidth( 0, cw+30 ); |
160 | TableLookups->setColumnWidth( 1, cw ); | 165 | TableLookups->setColumnWidth( 1, cw ); |
@@ -166,4 +171,4 @@ void Ntp::readLookups() | |||
166 | shift = QString(cfg.readEntry("timeShift",0)).toFloat(); | 171 | shift = QString(cfg.readEntry("timeShift",0)).toFloat(); |
167 | qDebug("%i last %f",i,last); | 172 | // qDebug("%i last %f",i,last); |
168 | qDebug("%i shift %f",i,shift); | 173 | // qDebug("%i shift %f",i,shift); |
169 | shiftPerSec = shift / last; | 174 | shiftPerSec = shift / last; |
@@ -171,4 +176,4 @@ void Ntp::readLookups() | |||
171 | TableLookups->setText( i,0,QString::number(shiftPerSec)); | 176 | TableLookups->setText( i,0,QString::number(shiftPerSec)); |
172 | TableLookups->setText( i,1,QString::number(shift)); | 177 | TableLookups->setText( i,2,QString::number(shift)); |
173 | TableLookups->setText( i,2,QString::number(last)); | 178 | TableLookups->setText( i,1,QString::number(last)); |
174 | } | 179 | } |
@@ -187,5 +192,25 @@ void Ntp::preditctTime() | |||
187 | int corr = int((now - lastTime) * _shiftPerSec); | 192 | int corr = int((now - lastTime) * _shiftPerSec); |
188 | QDateTime dt = QDateTime::currentDateTime().addSecs(corr); | 193 | predictedTime = QDateTime::currentDateTime().addSecs(corr); |
189 | setTime(dt); | 194 | TextLabelPredTime->setText(predictedTime.toString()); |
190 | TextLabelPredTime->setText(dt.toString()); | 195 | TextLabelMainPredTime->setText(predictedTime.toString()); |
196 | } | ||
197 | |||
198 | void Ntp::setPredictTime() | ||
199 | { | ||
200 | preditctTime(); | ||
201 | setTime( predictedTime ); | ||
202 | } | ||
203 | |||
204 | void Ntp::slotCheckNtp(int i) | ||
205 | { | ||
206 | if (i == 0) | ||
207 | { | ||
208 | TextLabelMainPredTime->hide(); | ||
209 | ButtonSetTime->setText( tr("Get time from network") ); | ||
210 | connect( ButtonSetTime, SIGNAL(clicked()), SLOT(slotRunNtp()) ); | ||
211 | }else{ | ||
212 | preditctTime(); | ||
213 | ButtonSetTime->setText( tr("Predict time") ); | ||
214 | connect( ButtonSetTime, SIGNAL(clicked()), SLOT(setPredictTime()) ); | ||
215 | }; | ||
191 | } | 216 | } |
diff --git a/noncore/settings/netsystemtime/ntp.h b/noncore/settings/netsystemtime/ntp.h index d2e238d..284ae27 100644 --- a/noncore/settings/netsystemtime/ntp.h +++ b/noncore/settings/netsystemtime/ntp.h | |||
@@ -4,3 +4,2 @@ | |||
4 | #include <qdatetime.h> | 4 | #include <qdatetime.h> |
5 | #include <qtimer.h> | ||
6 | 5 | ||
@@ -18,6 +17,5 @@ public: | |||
18 | 17 | ||
19 | OProcess *ntpProcess; | ||
20 | |||
21 | protected: | 18 | protected: |
22 | virtual void accept(); | 19 | QDateTime predictedTime; |
20 | |||
23 | 21 | ||
@@ -25,6 +23,4 @@ private: | |||
25 | QString _ntpOutput; | 23 | QString _ntpOutput; |
26 | int _maxOffset; | ||
27 | float _shiftPerSec; | 24 | float _shiftPerSec; |
28 | // QTimer *_nextCorrection; | 25 | OProcess *ntpProcess; |
29 | int _minLookupDiff; | ||
30 | 26 | ||
@@ -36,4 +32,5 @@ private slots: | |||
36 | void ntpFinished(OProcess*); | 32 | void ntpFinished(OProcess*); |
37 | // void correctClock(); | ||
38 | void preditctTime(); | 33 | void preditctTime(); |
34 | void slotCheckNtp(int); | ||
35 | void setPredictTime(); | ||
39 | }; | 36 | }; |
diff --git a/noncore/settings/netsystemtime/ntpbase.ui b/noncore/settings/netsystemtime/ntpbase.ui index ccae5bf..e444065 100644 --- a/noncore/settings/netsystemtime/ntpbase.ui +++ b/noncore/settings/netsystemtime/ntpbase.ui | |||
@@ -3,3 +3,3 @@ | |||
3 | <widget> | 3 | <widget> |
4 | <class>QDialog</class> | 4 | <class>QWidget</class> |
5 | <property stdset="1"> | 5 | <property stdset="1"> |
@@ -13,3 +13,3 @@ | |||
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>280</width> | 14 | <width>276</width> |
15 | <height>337</height> | 15 | <height>337</height> |
@@ -249,35 +249,11 @@ | |||
249 | <widget row="1" column="0" > | 249 | <widget row="1" column="0" > |
250 | <class>QLayoutWidget</class> | 250 | <class>QMultiLineEdit</class> |
251 | <property stdset="1"> | 251 | <property stdset="1"> |
252 | <name>name</name> | 252 | <name>name</name> |
253 | <cstring>Layout6</cstring> | 253 | <cstring>MultiLineEditntpOutPut</cstring> |
254 | </property> | ||
255 | <property stdset="1"> | ||
256 | <name>wordWrap</name> | ||
257 | <enum>WidgetWidth</enum> | ||
254 | </property> | 258 | </property> |
255 | <hbox> | ||
256 | <property stdset="1"> | ||
257 | <name>margin</name> | ||
258 | <number>0</number> | ||
259 | </property> | ||
260 | <property stdset="1"> | ||
261 | <name>spacing</name> | ||
262 | <number>6</number> | ||
263 | </property> | ||
264 | <widget> | ||
265 | <class>QLabel</class> | ||
266 | <property stdset="1"> | ||
267 | <name>name</name> | ||
268 | <cstring>TextLabel7</cstring> | ||
269 | </property> | ||
270 | <property stdset="1"> | ||
271 | <name>text</name> | ||
272 | <string>NTP Server:</string> | ||
273 | </property> | ||
274 | </widget> | ||
275 | <widget> | ||
276 | <class>QLineEdit</class> | ||
277 | <property stdset="1"> | ||
278 | <name>name</name> | ||
279 | <cstring>LineEditNtpServer</cstring> | ||
280 | </property> | ||
281 | </widget> | ||
282 | </hbox> | ||
283 | </widget> | 259 | </widget> |
@@ -295,3 +271,3 @@ | |||
295 | <name>title</name> | 271 | <name>title</name> |
296 | <string>Auto</string> | 272 | <string>Predict</string> |
297 | </attribute> | 273 | </attribute> |
@@ -428,2 +404,131 @@ | |||
428 | </property> | 404 | </property> |
405 | <grid> | ||
406 | <property stdset="1"> | ||
407 | <name>margin</name> | ||
408 | <number>11</number> | ||
409 | </property> | ||
410 | <property stdset="1"> | ||
411 | <name>spacing</name> | ||
412 | <number>6</number> | ||
413 | </property> | ||
414 | <widget row="0" column="0" > | ||
415 | <class>QLayoutWidget</class> | ||
416 | <property stdset="1"> | ||
417 | <name>name</name> | ||
418 | <cstring>Layout6</cstring> | ||
419 | </property> | ||
420 | <grid> | ||
421 | <property stdset="1"> | ||
422 | <name>margin</name> | ||
423 | <number>0</number> | ||
424 | </property> | ||
425 | <property stdset="1"> | ||
426 | <name>spacing</name> | ||
427 | <number>6</number> | ||
428 | </property> | ||
429 | <spacer row="2" column="0" > | ||
430 | <property> | ||
431 | <name>name</name> | ||
432 | <cstring>Spacer2</cstring> | ||
433 | </property> | ||
434 | <property stdset="1"> | ||
435 | <name>orientation</name> | ||
436 | <enum>Vertical</enum> | ||
437 | </property> | ||
438 | <property stdset="1"> | ||
439 | <name>sizeType</name> | ||
440 | <enum>Expanding</enum> | ||
441 | </property> | ||
442 | <property> | ||
443 | <name>sizeHint</name> | ||
444 | <size> | ||
445 | <width>20</width> | ||
446 | <height>20</height> | ||
447 | </size> | ||
448 | </property> | ||
449 | </spacer> | ||
450 | <widget row="1" column="0" > | ||
451 | <class>QLayoutWidget</class> | ||
452 | <property stdset="1"> | ||
453 | <name>name</name> | ||
454 | <cstring>Layout6</cstring> | ||
455 | </property> | ||
456 | <hbox> | ||
457 | <property stdset="1"> | ||
458 | <name>margin</name> | ||
459 | <number>0</number> | ||
460 | </property> | ||
461 | <property stdset="1"> | ||
462 | <name>spacing</name> | ||
463 | <number>6</number> | ||
464 | </property> | ||
465 | <widget> | ||
466 | <class>QLabel</class> | ||
467 | <property stdset="1"> | ||
468 | <name>name</name> | ||
469 | <cstring>TextLabel7_2</cstring> | ||
470 | </property> | ||
471 | <property stdset="1"> | ||
472 | <name>text</name> | ||
473 | <string>NTP Server:</string> | ||
474 | </property> | ||
475 | </widget> | ||
476 | <widget> | ||
477 | <class>QLineEdit</class> | ||
478 | <property stdset="1"> | ||
479 | <name>name</name> | ||
480 | <cstring>LineEditNtpSrv</cstring> | ||
481 | </property> | ||
482 | </widget> | ||
483 | </hbox> | ||
484 | </widget> | ||
485 | <widget row="0" column="0" > | ||
486 | <class>QLayoutWidget</class> | ||
487 | <property stdset="1"> | ||
488 | <name>name</name> | ||
489 | <cstring>Layout5</cstring> | ||
490 | </property> | ||
491 | <hbox> | ||
492 | <property stdset="1"> | ||
493 | <name>margin</name> | ||
494 | <number>0</number> | ||
495 | </property> | ||
496 | <property stdset="1"> | ||
497 | <name>spacing</name> | ||
498 | <number>6</number> | ||
499 | </property> | ||
500 | <widget> | ||
501 | <class>QLabel</class> | ||
502 | <property stdset="1"> | ||
503 | <name>name</name> | ||
504 | <cstring>TextLabel1_2</cstring> | ||
505 | </property> | ||
506 | <property stdset="1"> | ||
507 | <name>text</name> | ||
508 | <string>Min. delay:</string> | ||
509 | </property> | ||
510 | </widget> | ||
511 | <widget> | ||
512 | <class>QSpinBox</class> | ||
513 | <property stdset="1"> | ||
514 | <name>name</name> | ||
515 | <cstring>SpinBoxMinDelay</cstring> | ||
516 | </property> | ||
517 | </widget> | ||
518 | <widget> | ||
519 | <class>QLabel</class> | ||
520 | <property stdset="1"> | ||
521 | <name>name</name> | ||
522 | <cstring>TextLabel2</cstring> | ||
523 | </property> | ||
524 | <property stdset="1"> | ||
525 | <name>text</name> | ||
526 | <string>minutes</string> | ||
527 | </property> | ||
528 | </widget> | ||
529 | </hbox> | ||
530 | </widget> | ||
531 | </grid> | ||
532 | </widget> | ||
533 | </grid> | ||
429 | </widget> | 534 | </widget> |
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index 01268c9..2cef6e8 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp | |||
@@ -62,2 +62,11 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
62 | 62 | ||
63 | TextLabelMainPredTime = new QLabel( FrameSystemTime ); | ||
64 | vb->addWidget( TextLabelMainPredTime, 1, 0 ); | ||
65 | ButtonSetTime = new QPushButton( FrameSystemTime ); | ||
66 | vb->addWidget( ButtonSetTime, 1, 0 ); | ||
67 | |||
68 | QFrame *hline = new QFrame( FrameSystemTime ); | ||
69 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | ||
70 | vb->addWidget( hline ); | ||
71 | |||
63 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); | 72 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); |
@@ -84,3 +93,3 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
84 | 93 | ||
85 | QFrame *hline = new QFrame( FrameSystemTime ); | 94 | hline = new QFrame( FrameSystemTime ); |
86 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 95 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
@@ -94,3 +103,2 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
94 | QLabel *l = new QLabel( tr("Time format"), FrameSystemTime ); | 103 | QLabel *l = new QLabel( tr("Time format"), FrameSystemTime ); |
95 | // l->setAlignment( AlignRight | AlignVCenter ); | ||
96 | hb1->addWidget( l, 1 ); | 104 | hb1->addWidget( l, 1 ); |
@@ -179,2 +187,5 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
179 | 187 | ||
188 | QObject::connect( PushButtonSetManualTime, SIGNAL(clicked()), | ||
189 | this, SLOT(commitTime())); | ||
190 | |||
180 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), | 191 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), |
@@ -183,8 +194,5 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
183 | SLOT( tzChange( const QString& ) ) ); | 194 | SLOT( tzChange( const QString& ) ) ); |
184 | QObject::connect( PushButtonSetManualTime, SLOT(clicked()), | ||
185 | SLOT(commitTime())); | ||
186 | // dl = new QPEDialogListener(this); | ||
187 | } | 195 | } |
188 | 196 | ||
189 | void SetDateTime::accept() | 197 | SetDateTime::~SetDateTime() |
190 | { | 198 | { |
@@ -266,9 +274,2 @@ void SetDateTime::setTime(QDateTime dt) | |||
266 | 274 | ||
267 | // QDialog::accept(); | ||
268 | } | ||
269 | |||
270 | void SetDateTime::done(int r) | ||
271 | { | ||
272 | // QDialog::done(r); | ||
273 | close(); | ||
274 | } | 275 | } |
diff --git a/noncore/settings/netsystemtime/settime.h b/noncore/settings/netsystemtime/settime.h index 729bf4b..60423e7 100644 --- a/noncore/settings/netsystemtime/settime.h +++ b/noncore/settings/netsystemtime/settime.h | |||
@@ -35,3 +35,2 @@ class DateBookMonth; | |||
35 | class QComboBox; | 35 | class QComboBox; |
36 | //class QPEDialogListener; | ||
37 | 36 | ||
@@ -71,4 +70,6 @@ public: | |||
71 | SetDateTime( QWidget *parent=0, const char *name=0, WFlags f=0 ); | 70 | SetDateTime( QWidget *parent=0, const char *name=0, WFlags f=0 ); |
71 | ~SetDateTime(); | ||
72 | 72 | ||
73 | protected slots: | 73 | protected slots: |
74 | void commitTime(); | ||
74 | void tzChange( const QString &tz ); | 75 | void tzChange( const QString &tz ); |
@@ -77,6 +78,3 @@ protected slots: | |||
77 | protected: | 78 | protected: |
78 | void commitTime(); | ||
79 | void setTime(QDateTime dt); | 79 | void setTime(QDateTime dt); |
80 | virtual void accept(); | ||
81 | virtual void done(int); | ||
82 | 80 | ||
@@ -89,4 +87,4 @@ protected: | |||
89 | QComboBox *clockAppletCombo; | 87 | QComboBox *clockAppletCombo; |
90 | 88 | QPushButton *ButtonSetTime; | |
91 | // QPEDialogListener *dl; | 89 | QLabel *TextLabelMainPredTime; |
92 | 90 | ||