-rw-r--r-- | noncore/settings/netsystemtime/TODO | 1 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntp.cpp | 11 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/ntp.h | 1 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 9 | ||||
-rw-r--r-- | noncore/settings/netsystemtime/settime.h | 2 |
5 files changed, 16 insertions, 8 deletions
diff --git a/noncore/settings/netsystemtime/TODO b/noncore/settings/netsystemtime/TODO index fb003a2..c6106c3 100644 --- a/noncore/settings/netsystemtime/TODO +++ b/noncore/settings/netsystemtime/TODO | |||
@@ -1,3 +1,2 @@ | |||
1 | - handle hour > 24 in SetTime::slotClockTick | ||
2 | - improve tz setting | 1 | - improve tz setting |
3 | atm the tz gets written to the system as soon as changed... | 2 | atm the tz gets written to the system as soon as changed... |
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp index 53dbe46..551cedc 100644 --- a/noncore/settings/netsystemtime/ntp.cpp +++ b/noncore/settings/netsystemtime/ntp.cpp | |||
@@ -394,33 +394,42 @@ void Ntp::showAdvancedFeatures(bool advMode) | |||
394 | TextLabel1_2->show(); | 394 | TextLabel1_2->show(); |
395 | SpinBoxMinLookupDelay->show(); | 395 | SpinBoxMinLookupDelay->show(); |
396 | TextLabel2->show(); | 396 | TextLabel2->show(); |
397 | TextLabel3_3->show(); | 397 | TextLabel3_3->show(); |
398 | SpinBoxNtpDelay->show(); | 398 | SpinBoxNtpDelay->show(); |
399 | Line1->show(); | 399 | Line1->show(); |
400 | }else{ | 400 | }else{ |
401 | TabWidgetMain->removePage( tabPredict ); | 401 | TabWidgetMain->removePage( tabPredict ); |
402 | TabWidgetMain->removePage( tabNtp ); | 402 | TabWidgetMain->removePage( tabNtp ); |
403 | TextLabel1_2_2->hide(); | 403 | TextLabel1_2_2->hide(); |
404 | TextLabel2_3->hide(); | 404 | TextLabel2_3->hide(); |
405 | TextLabel3_3_2->hide(); | 405 | TextLabel3_3_2->hide(); |
406 | TextLabel1_2->hide(); | 406 | TextLabel1_2->hide(); |
407 | SpinBoxMinLookupDelay->hide(); | 407 | SpinBoxMinLookupDelay->hide(); |
408 | TextLabel2->hide(); | 408 | TextLabel2->hide(); |
409 | TextLabel3_3->hide(); | 409 | TextLabel3_3->hide(); |
410 | SpinBoxNtpDelay->hide(); | 410 | SpinBoxNtpDelay->hide(); |
411 | Line1->hide(); | 411 | Line1->hide(); |
412 | }; | 412 | }; |
413 | TabWidgetMain->show(); | 413 | TabWidgetMain->show(); |
414 | } | 414 | } |
415 | 415 | ||
416 | 416 | ||
417 | void Ntp::accept( ){ | 417 | void Ntp::accept( ){ |
418 | qDebug("accepted"); | 418 | qDebug("saving"); |
419 | //SetTimeDate | 419 | //SetTimeDate |
420 | commitTime(); | 420 | commitTime(); |
421 | writeSettings(); | 421 | writeSettings(); |
422 | updateSystem(); | 422 | updateSystem(); |
423 | // Ntp | 423 | // Ntp |
424 | saveConfig(); | 424 | saveConfig(); |
425 | qApp->quit(); | 425 | qApp->quit(); |
426 | } \ No newline at end of file | 426 | } \ No newline at end of file |
427 | |||
428 | void Ntp::reject( ){ | ||
429 | qDebug("_oldTimeZone %s",_oldTimeZone.latin1()); | ||
430 | if (!_oldTimeZone.isEmpty()){ | ||
431 | qDebug("reverting timezone"); | ||
432 | tzChange(_oldTimeZone); | ||
433 | commitTime(); | ||
434 | } | ||
435 | } \ No newline at end of file | ||
diff --git a/noncore/settings/netsystemtime/ntp.h b/noncore/settings/netsystemtime/ntp.h index a4573f8..150140e 100644 --- a/noncore/settings/netsystemtime/ntp.h +++ b/noncore/settings/netsystemtime/ntp.h | |||
@@ -1,47 +1,48 @@ | |||
1 | #ifndef NTP_H | 1 | #ifndef NTP_H |
2 | #define NTP_H | 2 | #define NTP_H |
3 | #include "settime.h" | 3 | #include "settime.h" |
4 | #include <qdatetime.h> | 4 | #include <qdatetime.h> |
5 | 5 | ||
6 | class OProcess; | 6 | class OProcess; |
7 | class QString; | 7 | class QString; |
8 | class QTimer; | 8 | class QTimer; |
9 | class QSocket; | 9 | class QSocket; |
10 | class QCopChannel; | 10 | class QCopChannel; |
11 | 11 | ||
12 | class Ntp : public SetDateTime | 12 | class Ntp : public SetDateTime |
13 | { | 13 | { |
14 | Q_OBJECT | 14 | Q_OBJECT |
15 | 15 | ||
16 | public: | 16 | public: |
17 | Ntp( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | 17 | Ntp( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); |
18 | ~Ntp(); | 18 | ~Ntp(); |
19 | 19 | ||
20 | public slots: | 20 | public slots: |
21 | void setDocument (const QString &); | 21 | void setDocument (const QString &); |
22 | protected: | 22 | protected: |
23 | virtual void accept( ); | 23 | virtual void accept( ); |
24 | virtual void reject( ); | ||
24 | QDateTime predictedTime; | 25 | QDateTime predictedTime; |
25 | void makeChannel(); | 26 | void makeChannel(); |
26 | protected slots: | 27 | protected slots: |
27 | void receive(const QCString &msg, const QByteArray &arg); | 28 | void receive(const QCString &msg, const QByteArray &arg); |
28 | private: | 29 | private: |
29 | QString _ntpOutput; | 30 | QString _ntpOutput; |
30 | float _shiftPerSec; | 31 | float _shiftPerSec; |
31 | int _lookupDiff; | 32 | int _lookupDiff; |
32 | OProcess *ntpProcess; | 33 | OProcess *ntpProcess; |
33 | QTimer *ntpTimer; | 34 | QTimer *ntpTimer; |
34 | QSocket *ntpSock; | 35 | QSocket *ntpSock; |
35 | QCopChannel *channel; | 36 | QCopChannel *channel; |
36 | bool _interactive; | 37 | bool _interactive; |
37 | float getTimeShift(); | 38 | float getTimeShift(); |
38 | void readLookups(); | 39 | void readLookups(); |
39 | void ntpOutPut(QString); | 40 | void ntpOutPut(QString); |
40 | bool ntpDelayElapsed(); | 41 | bool ntpDelayElapsed(); |
41 | QString getNtpServer(); | 42 | QString getNtpServer(); |
42 | void saveConfig(); | 43 | void saveConfig(); |
43 | private slots: | 44 | private slots: |
44 | void slotTimerRunNtp(); | 45 | void slotTimerRunNtp(); |
45 | void slotButtonRunNtp(); | 46 | void slotButtonRunNtp(); |
46 | void slotRunNtp(); | 47 | void slotRunNtp(); |
47 | void getNtpOutput(OProcess *proc, char *buffer, int buflen); | 48 | void getNtpOutput(OProcess *proc, char *buffer, int buflen); |
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index 36166ae..6a28989 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp | |||
@@ -35,49 +35,49 @@ | |||
35 | #include <qpe/qcopenvelope_qws.h> | 35 | #include <qpe/qcopenvelope_qws.h> |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #include <qtimer.h> | 38 | #include <qtimer.h> |
39 | #include <qbuttongroup.h> | 39 | #include <qbuttongroup.h> |
40 | #include <qcheckbox.h> | 40 | #include <qcheckbox.h> |
41 | #include <qlabel.h> | 41 | #include <qlabel.h> |
42 | #include <qlayout.h> | 42 | #include <qlayout.h> |
43 | #include <qradiobutton.h> | 43 | #include <qradiobutton.h> |
44 | #include <qspinbox.h> | 44 | #include <qspinbox.h> |
45 | #include <qtoolbutton.h> | 45 | #include <qtoolbutton.h> |
46 | #include <qwindowsystem_qws.h> | 46 | #include <qwindowsystem_qws.h> |
47 | #include <qcombobox.h> | 47 | #include <qcombobox.h> |
48 | 48 | ||
49 | #include <sys/time.h> | 49 | #include <sys/time.h> |
50 | #include <time.h> | 50 | #include <time.h> |
51 | #include <stdlib.h> | 51 | #include <stdlib.h> |
52 | #include <stdio.h> | 52 | #include <stdio.h> |
53 | 53 | ||
54 | 54 | ||
55 | SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | 55 | SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) |
56 | : NtpBase( parent, name, true, f ) | 56 | : NtpBase( parent, name, true, f ) |
57 | { | 57 | { |
58 | setCaption( tr("System Time") ); | 58 | setCaption( tr("System Time") ); |
59 | 59 | _oldTimeZone=""; | |
60 | QVBoxLayout *vb = new QVBoxLayout( FrameSystemTime, 5 ); | 60 | QVBoxLayout *vb = new QVBoxLayout( FrameSystemTime, 5 ); |
61 | 61 | ||
62 | // TextLabelMainPredTime = new QLabel( FrameSystemTime ); | 62 | // TextLabelMainPredTime = new QLabel( FrameSystemTime ); |
63 | // vb->addWidget( TextLabelMainPredTime, 1, 0 ); | 63 | // vb->addWidget( TextLabelMainPredTime, 1, 0 ); |
64 | 64 | ||
65 | timeButton = new SetTime( FrameSystemTime ); | 65 | timeButton = new SetTime( FrameSystemTime ); |
66 | vb->addWidget( timeButton ); | 66 | vb->addWidget( timeButton ); |
67 | 67 | ||
68 | QHBoxLayout *db = new QHBoxLayout( vb ); | 68 | QHBoxLayout *db = new QHBoxLayout( vb ); |
69 | QLabel *dateLabel = new QLabel( tr("Date"), FrameSystemTime ); | 69 | QLabel *dateLabel = new QLabel( tr("Date"), FrameSystemTime ); |
70 | db->addWidget( dateLabel, 1 ); | 70 | db->addWidget( dateLabel, 1 ); |
71 | dateButton = new DateButton( TRUE, FrameSystemTime ); | 71 | dateButton = new DateButton( TRUE, FrameSystemTime ); |
72 | db->addWidget( dateButton, 2 ); | 72 | db->addWidget( dateButton, 2 ); |
73 | 73 | ||
74 | ButtonSetTime = new QPushButton( FrameSystemTime ); | 74 | ButtonSetTime = new QPushButton( FrameSystemTime ); |
75 | vb->addWidget( ButtonSetTime, 1, 0 ); | 75 | vb->addWidget( ButtonSetTime, 1, 0 ); |
76 | 76 | ||
77 | QFrame *hline = new QFrame( FrameSystemTime ); | 77 | QFrame *hline = new QFrame( FrameSystemTime ); |
78 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 78 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
79 | vb->addWidget( hline ); | 79 | vb->addWidget( hline ); |
80 | 80 | ||
81 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); | 81 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); |
82 | 82 | ||
83 | QLabel *lblZone = new QLabel( tr( "Time Zone" ), FrameSystemTime, "timezone label" ); | 83 | QLabel *lblZone = new QLabel( tr( "Time Zone" ), FrameSystemTime, "timezone label" ); |
@@ -297,56 +297,55 @@ void SetDateTime::updateSystem() | |||
297 | QCopEnvelope setClock( "QPE/System", "clockChange(bool)" ); | 297 | QCopEnvelope setClock( "QPE/System", "clockChange(bool)" ); |
298 | setClock << ampmCombo->currentItem(); | 298 | setClock << ampmCombo->currentItem(); |
299 | 299 | ||
300 | // Notify everyone what day we prefer to start the week on. | 300 | // Notify everyone what day we prefer to start the week on. |
301 | QCopEnvelope setWeek( "QPE/System", "weekChange(bool)" ); | 301 | QCopEnvelope setWeek( "QPE/System", "weekChange(bool)" ); |
302 | setWeek << weekStartCombo->currentItem(); | 302 | setWeek << weekStartCombo->currentItem(); |
303 | 303 | ||
304 | // Notify everyone what date format to use | 304 | // Notify everyone what date format to use |
305 | QCopEnvelope setDateFormat( "QPE/System", "setDateFormat(DateFormat)" ); | 305 | QCopEnvelope setDateFormat( "QPE/System", "setDateFormat(DateFormat)" ); |
306 | setDateFormat << date_formats[dateFormatCombo->currentItem()]; | 306 | setDateFormat << date_formats[dateFormatCombo->currentItem()]; |
307 | 307 | ||
308 | // Restore screensaver | 308 | // Restore screensaver |
309 | QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); | 309 | QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); |
310 | enableScreenSaver << -1 << -1 << -1; | 310 | enableScreenSaver << -1 << -1 << -1; |
311 | // since time has changed quickly load in the datebookdb | 311 | // since time has changed quickly load in the datebookdb |
312 | // to allow the alarm server to get a better grip on itself | 312 | // to allow the alarm server to get a better grip on itself |
313 | // (example re-trigger alarms for when we travel back in time) | 313 | // (example re-trigger alarms for when we travel back in time) |
314 | DateBookDB db; | 314 | DateBookDB db; |
315 | 315 | ||
316 | } | 316 | } |
317 | 317 | ||
318 | void SetDateTime::tzChange( const QString &tz ) | 318 | void SetDateTime::tzChange( const QString &tz ) |
319 | { | 319 | { |
320 | // set the TZ get the time and leave gracefully... | 320 | // set the TZ get the time and leave gracefully... |
321 | QString strSave; | 321 | _oldTimeZone = getenv( "TZ" ); |
322 | strSave = getenv( "TZ" ); | ||
323 | setenv( "TZ", tz, 1 ); | 322 | setenv( "TZ", tz, 1 ); |
324 | 323 | ||
325 | QDate d = QDate::currentDate(); | 324 | QDate d = QDate::currentDate(); |
326 | // reset the time. | 325 | // reset the time. |
327 | if ( !strSave.isNull() ) { | 326 | if ( !_oldTimeZone.isNull() ) { |
328 | setenv( "TZ", strSave, 1 ); | 327 | setenv( "TZ", _oldTimeZone, 1 ); |
329 | } | 328 | } |
330 | dateButton->setDate( d ); | 329 | dateButton->setDate( d ); |
331 | updateSystem(); | 330 | updateSystem(); |
332 | } | 331 | } |
333 | 332 | ||
334 | void SetDateTime::formatChanged(int i) | 333 | void SetDateTime::formatChanged(int i) |
335 | { | 334 | { |
336 | dateButton->setDateFormat(date_formats[i]); | 335 | dateButton->setDateFormat(date_formats[i]); |
337 | } | 336 | } |
338 | 337 | ||
339 | static const int ValueAM = 0; | 338 | static const int ValueAM = 0; |
340 | static const int ValuePM = 1; | 339 | static const int ValuePM = 1; |
341 | 340 | ||
342 | 341 | ||
343 | 342 | ||
344 | SetTime::SetTime( QWidget *parent, const char *name ) | 343 | SetTime::SetTime( QWidget *parent, const char *name ) |
345 | : QWidget( parent, name ) | 344 | : QWidget( parent, name ) |
346 | { | 345 | { |
347 | clock = new QTimer(this, "clock" ); | 346 | clock = new QTimer(this, "clock" ); |
348 | connect(clock, SIGNAL( timeout() ), SLOT(slotClockTick()) ); | 347 | connect(clock, SIGNAL( timeout() ), SLOT(slotClockTick()) ); |
349 | clock->start( 1000 * 60 ); | 348 | clock->start( 1000 * 60 ); |
350 | 349 | ||
351 | use12hourTime = FALSE; | 350 | use12hourTime = FALSE; |
352 | 351 | ||
diff --git a/noncore/settings/netsystemtime/settime.h b/noncore/settings/netsystemtime/settime.h index 3c3a162..58d1006 100644 --- a/noncore/settings/netsystemtime/settime.h +++ b/noncore/settings/netsystemtime/settime.h | |||
@@ -66,37 +66,37 @@ protected: | |||
66 | }; | 66 | }; |
67 | 67 | ||
68 | class DateButton; | 68 | class DateButton; |
69 | 69 | ||
70 | class SetDateTime : public NtpBase | 70 | class SetDateTime : public NtpBase |
71 | { | 71 | { |
72 | Q_OBJECT | 72 | Q_OBJECT |
73 | public: | 73 | public: |
74 | SetDateTime( QWidget *parent=0, const char *name=0, WFlags f=0 ); | 74 | SetDateTime( QWidget *parent=0, const char *name=0, WFlags f=0 ); |
75 | ~SetDateTime(); | 75 | ~SetDateTime(); |
76 | 76 | ||
77 | protected slots: | 77 | protected slots: |
78 | void commitTime(); | 78 | void commitTime(); |
79 | void tzChange( const QString &tz ); | 79 | void tzChange( const QString &tz ); |
80 | void formatChanged(int); | 80 | void formatChanged(int); |
81 | void updateSystem(); | 81 | void updateSystem(); |
82 | 82 | ||
83 | protected: | 83 | protected: |
84 | void setTime(QDateTime dt); | 84 | void setTime(QDateTime dt); |
85 | void writeSettings(); | 85 | void writeSettings(); |
86 | 86 | ||
87 | SetTime *timeButton; | 87 | SetTime *timeButton; |
88 | DateButton *dateButton; | 88 | DateButton *dateButton; |
89 | TimeZoneSelector *tz; | 89 | TimeZoneSelector *tz; |
90 | QString _oldTimeZone; | ||
90 | QComboBox *weekStartCombo; | 91 | QComboBox *weekStartCombo; |
91 | QComboBox *ampmCombo; | 92 | QComboBox *ampmCombo; |
92 | QComboBox *dateFormatCombo; | 93 | QComboBox *dateFormatCombo; |
93 | QComboBox *clockAppletCombo; | 94 | QComboBox *clockAppletCombo; |
94 | QPushButton *ButtonSetTime; | 95 | QPushButton *ButtonSetTime; |
95 | // QLabel *TextLabelMainPredTime; | ||
96 | 96 | ||
97 | DateFormat date_formats[4]; | 97 | DateFormat date_formats[4]; |
98 | }; | 98 | }; |
99 | 99 | ||
100 | 100 | ||
101 | #endif | 101 | #endif |
102 | 102 | ||