Diffstat (limited to 'noncore/settings/netsystemtime/settime.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/netsystemtime/settime.cpp | 122 |
1 files changed, 77 insertions, 45 deletions
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp index 949fcb3..36166ae 100644 --- a/noncore/settings/netsystemtime/settime.cpp +++ b/noncore/settings/netsystemtime/settime.cpp | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <qpe/qcopenvelope_qws.h> | 35 | #include <qpe/qcopenvelope_qws.h> |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #include <qtimer.h> | ||
38 | #include <qbuttongroup.h> | 39 | #include <qbuttongroup.h> |
39 | #include <qcheckbox.h> | 40 | #include <qcheckbox.h> |
40 | #include <qlabel.h> | 41 | #include <qlabel.h> |
@@ -52,42 +53,47 @@ | |||
52 | 53 | ||
53 | 54 | ||
54 | SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | 55 | SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) |
55 | : NtpBase( parent, name, f ) | 56 | : NtpBase( parent, name, true, f ) |
56 | { | 57 | { |
57 | // setCaption( tr("Set System Time") ); | 58 | setCaption( tr("System Time") ); |
58 | 59 | ||
59 | // QVBoxLayout *vb = new QVBoxLayout( this, 5 ); | ||
60 | QVBoxLayout *vb = new QVBoxLayout( FrameSystemTime, 5 ); | 60 | QVBoxLayout *vb = new QVBoxLayout( FrameSystemTime, 5 ); |
61 | QVBoxLayout *vb2 = new QVBoxLayout( FrameSetTime, 5 ); | ||
62 | 61 | ||
63 | TextLabelMainPredTime = new QLabel( FrameSystemTime ); | 62 | // TextLabelMainPredTime = new QLabel( FrameSystemTime ); |
64 | vb->addWidget( TextLabelMainPredTime, 1, 0 ); | 63 | // vb->addWidget( TextLabelMainPredTime, 1, 0 ); |
65 | 64 | ||
66 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); | 65 | timeButton = new SetTime( FrameSystemTime ); |
66 | vb->addWidget( timeButton ); | ||
67 | |||
68 | QHBoxLayout *db = new QHBoxLayout( vb ); | ||
69 | QLabel *dateLabel = new QLabel( tr("Date"), FrameSystemTime ); | ||
70 | db->addWidget( dateLabel, 1 ); | ||
71 | dateButton = new DateButton( TRUE, FrameSystemTime ); | ||
72 | db->addWidget( dateButton, 2 ); | ||
67 | 73 | ||
74 | ButtonSetTime = new QPushButton( FrameSystemTime ); | ||
75 | vb->addWidget( ButtonSetTime, 1, 0 ); | ||
76 | |||
77 | QFrame *hline = new QFrame( FrameSystemTime ); | ||
78 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | ||
79 | vb->addWidget( hline ); | ||
80 | |||
81 | QHBoxLayout *hb = new QHBoxLayout( vb, -1, "timezone layout" ); | ||
82 | |||
68 | QLabel *lblZone = new QLabel( tr( "Time Zone" ), FrameSystemTime, "timezone label" ); | 83 | QLabel *lblZone = new QLabel( tr( "Time Zone" ), FrameSystemTime, "timezone label" ); |
69 | lblZone->setMaximumSize( lblZone->sizeHint() ); | 84 | lblZone->setMaximumSize( lblZone->sizeHint() ); |
70 | hb->addWidget( lblZone ); | 85 | hb->addWidget( lblZone ); |
71 | 86 | ||
72 | tz = new TimeZoneSelector( FrameSystemTime, "Timezone choices" ); | 87 | tz = new TimeZoneSelector( FrameSystemTime, "Timezone choices" ); |
73 | tz->setMinimumSize( tz->sizeHint() ); | 88 | tz->setMinimumSize( tz->sizeHint() ); |
74 | hb->addWidget( tz ); | 89 | hb->addWidget( tz ); |
75 | |||
76 | timeButton = new SetTime( FrameSetTime ); | ||
77 | vb2->addWidget( timeButton ); | ||
78 | |||
79 | QHBoxLayout *db = new QHBoxLayout( vb2 ); | ||
80 | QLabel *dateLabel = new QLabel( tr("Date"), FrameSetTime ); | ||
81 | db->addWidget( dateLabel, 1 ); | ||
82 | dateButton = new DateButton( TRUE, FrameSetTime ); | ||
83 | db->addWidget( dateButton, 2 ); | ||
84 | |||
85 | QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); | ||
86 | vb2->addItem( spacer ); | ||
87 | 90 | ||
88 | QFrame *hline = new QFrame( FrameSystemTime ); | 91 | hline = new QFrame( FrameSystemTime ); |
89 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 92 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
90 | vb->addWidget( hline ); | 93 | vb->addWidget( hline ); |
94 | |||
95 | QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); | ||
96 | vb->addItem( spacer ); | ||
91 | 97 | ||
92 | Config config("qpe"); | 98 | Config config("qpe"); |
93 | config.setGroup( "Time" ); | 99 | config.setGroup( "Time" ); |
@@ -179,35 +185,31 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f ) | |||
179 | 185 | ||
180 | vb->addStretch( 0 ); | 186 | vb->addStretch( 0 ); |
181 | 187 | ||
182 | hline = new QFrame( FrameSystemTime ); | 188 | // hline = new QFrame( FrameSystemTime ); |
183 | hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); | 189 | // hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); |
184 | vb->addWidget( hline ); | 190 | // vb->addWidget( hline ); |
191 | // | ||
192 | // ButtonSetTime = new QPushButton( FrameSystemTime ); | ||
193 | // vb->addWidget( ButtonSetTime, 1, 0 ); | ||
185 | 194 | ||
186 | ButtonSetTime = new QPushButton( FrameSystemTime ); | ||
187 | vb->addWidget( ButtonSetTime, 1, 0 ); | ||
188 | |||
189 | QObject::connect( PushButtonSetManualTime, SIGNAL(clicked()), | ||
190 | this, SLOT(commitTime())); | ||
191 | 195 | ||
192 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), | 196 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), |
193 | timeButton, SLOT( slotTzChange( const QString& ) ) ); | 197 | timeButton, SLOT( slotTzChange( const QString& ) ) ); |
194 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), | 198 | QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), |
195 | SLOT( tzChange( const QString& ) ) ); | 199 | SLOT( tzChange( const QString& ) ) ); |
196 | 200 | ||
197 | QObject::connect( weekStartCombo, SIGNAL( activated ( int )), | 201 | // QObject::connect( weekStartCombo, SIGNAL( activated ( int )), |
198 | SLOT(updateSystem(int ) )); | 202 | // SLOT(updateSystem(int ) )); |
199 | QObject::connect( ampmCombo, SIGNAL( activated ( int )), | 203 | // QObject::connect( ampmCombo, SIGNAL( activated ( int )), |
200 | SLOT(updateSystem(int ) )); | 204 | // SLOT(updateSystem(int ) )); |
201 | QObject::connect( dateFormatCombo, SIGNAL( activated ( int )), | 205 | // QObject::connect( dateFormatCombo, SIGNAL( activated ( int )), |
202 | SLOT(updateSystem(int ) )); | 206 | // SLOT(updateSystem(int ) )); |
203 | QObject::connect( clockAppletCombo, SIGNAL( activated ( int )), | 207 | // QObject::connect( clockAppletCombo, SIGNAL( activated ( int )), |
204 | SLOT(updateSystem(int ) )); | 208 | // SLOT(updateSystem(int ) )); |
205 | } | 209 | } |
206 | 210 | ||
207 | SetDateTime::~SetDateTime() | 211 | SetDateTime::~SetDateTime() |
208 | { | 212 | { |
209 | writeSettings(); | ||
210 | |||
211 | } | 213 | } |
212 | 214 | ||
213 | void SetDateTime::writeSettings() | 215 | void SetDateTime::writeSettings() |
@@ -276,7 +278,7 @@ void SetDateTime::setTime(QDateTime dt) | |||
276 | enableScreenSaver << -1 << -1 << -1; | 278 | enableScreenSaver << -1 << -1 << -1; |
277 | } | 279 | } |
278 | 280 | ||
279 | void SetDateTime::updateSystem(int i) | 281 | void SetDateTime::updateSystem() |
280 | { | 282 | { |
281 | // really turn off the screensaver before doing anything | 283 | // really turn off the screensaver before doing anything |
282 | { | 284 | { |
@@ -284,7 +286,7 @@ void SetDateTime::updateSystem(int i) | |||
284 | QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); | 286 | QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); |
285 | disableScreenSaver << 0 << 0 << 0; | 287 | disableScreenSaver << 0 << 0 << 0; |
286 | } | 288 | } |
287 | qDebug("SetDateTime::updateSystem(int %i)",i); | 289 | qDebug("SetDateTime::updateSystem()"); |
288 | writeSettings(); | 290 | writeSettings(); |
289 | 291 | ||
290 | // set the timezone for everyone else... | 292 | // set the timezone for everyone else... |
@@ -323,7 +325,7 @@ void SetDateTime::tzChange( const QString &tz ) | |||
323 | QDate d = QDate::currentDate(); | 325 | QDate d = QDate::currentDate(); |
324 | // reset the time. | 326 | // reset the time. |
325 | if ( !strSave.isNull() ) { | 327 | if ( !strSave.isNull() ) { |
326 | setenv( "TZ", strSave, 1 ); | 328 | setenv( "TZ", strSave, 1 ); |
327 | } | 329 | } |
328 | dateButton->setDate( d ); | 330 | dateButton->setDate( d ); |
329 | updateSystem(); | 331 | updateSystem(); |
@@ -342,11 +344,15 @@ static const int ValuePM = 1; | |||
342 | SetTime::SetTime( QWidget *parent, const char *name ) | 344 | SetTime::SetTime( QWidget *parent, const char *name ) |
343 | : QWidget( parent, name ) | 345 | : QWidget( parent, name ) |
344 | { | 346 | { |
347 | clock = new QTimer(this, "clock" ); | ||
348 | connect(clock, SIGNAL( timeout() ), SLOT(slotClockTick()) ); | ||
349 | clock->start( 1000 * 60 ); | ||
350 | |||
345 | use12hourTime = FALSE; | 351 | use12hourTime = FALSE; |
346 | 352 | ||
347 | QTime currTime = QTime::currentTime(); | 353 | _time = QDateTime::currentDateTime(); |
348 | hour = currTime.hour(); | 354 | hour = _time.time().hour(); |
349 | minute = currTime.minute(); | 355 | minute = _time.time().minute(); |
350 | 356 | ||
351 | QHBoxLayout *hb2 = new QHBoxLayout( this ); | 357 | QHBoxLayout *hb2 = new QHBoxLayout( this ); |
352 | hb2->setSpacing( 3 ); | 358 | hb2->setSpacing( 3 ); |
@@ -499,4 +505,30 @@ void SetTime::slotTzChange( const QString &tz ) | |||
499 | sbMin->setValue( t.minute() ); | 505 | sbMin->setValue( t.minute() ); |
500 | } | 506 | } |
501 | 507 | ||
508 | void SetTime::setTime( QDateTime dt ) | ||
509 | { | ||
510 | _time = dt; | ||
511 | QTime t = dt.time(); | ||
512 | // just set the spinboxes and let it propage through | ||
513 | if(use12hourTime) { | ||
514 | int show_hour = t.hour(); | ||
515 | if (t.hour() >= 12) { | ||
516 | show_hour -= 12; | ||
517 | ampm->setCurrentItem( ValuePM ); | ||
518 | } else { | ||
519 | ampm->setCurrentItem( ValueAM ); | ||
520 | } | ||
521 | if (show_hour == 0) | ||
522 | show_hour = 12; | ||
523 | sbHour->setValue( show_hour ); | ||
524 | } else { | ||
525 | sbHour->setValue( t.hour() ); | ||
526 | } | ||
527 | sbMin->setValue( t.minute() ); | ||
528 | } | ||
502 | 529 | ||
530 | void SetTime::slotClockTick() | ||
531 | { | ||
532 | setTime( _time.addSecs(60) ); | ||
533 | qDebug("SetTime::slotClockTick %s",_time.toString().latin1()); | ||
534 | } | ||