summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-08-30 13:34:40 (UTC)
committer harlekin <harlekin>2002-08-30 13:34:40 (UTC)
commit6fddd961f703acc7b60fb49d5da6ee1a0ab01019 (patch) (unidiff)
treeff8652921450c3f59c6b97dac4590ed8588a9119
parent131ccdb3f2b18cdf6f0d7ce2eb9b31016ec3f1aa (diff)
downloadopie-6fddd961f703acc7b60fb49d5da6ee1a0ab01019.zip
opie-6fddd961f703acc7b60fb49d5da6ee1a0ab01019.tar.gz
opie-6fddd961f703acc7b60fb49d5da6ee1a0ab01019.tar.bz2
do not kill all applets when setting the time .-)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/netsystemtime/settime.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp
index e3b2ddd..d1dc5b8 100644
--- a/noncore/settings/netsystemtime/settime.cpp
+++ b/noncore/settings/netsystemtime/settime.cpp
@@ -79,415 +79,415 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f )
79 tz->setMinimumSize( tz->sizeHint() ); 79 tz->setMinimumSize( tz->sizeHint() );
80 hb->addWidget( tz ); 80 hb->addWidget( tz );
81 81
82 timeButton = new SetTime( FrameSetTime ); 82 timeButton = new SetTime( FrameSetTime );
83 vb2->addWidget( timeButton ); 83 vb2->addWidget( timeButton );
84 84
85 QHBoxLayout *db = new QHBoxLayout( vb2 ); 85 QHBoxLayout *db = new QHBoxLayout( vb2 );
86 QLabel *dateLabel = new QLabel( tr("Date"), FrameSetTime ); 86 QLabel *dateLabel = new QLabel( tr("Date"), FrameSetTime );
87 db->addWidget( dateLabel, 1 ); 87 db->addWidget( dateLabel, 1 );
88 dateButton = new DateButton( TRUE, FrameSetTime ); 88 dateButton = new DateButton( TRUE, FrameSetTime );
89 db->addWidget( dateButton, 2 ); 89 db->addWidget( dateButton, 2 );
90 90
91 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 91 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
92 vb2->addItem( spacer ); 92 vb2->addItem( spacer );
93 93
94 hline = new QFrame( FrameSystemTime ); 94 hline = new QFrame( FrameSystemTime );
95 hline->setFrameStyle( QFrame::HLine | QFrame::Sunken ); 95 hline->setFrameStyle( QFrame::HLine | QFrame::Sunken );
96 vb->addWidget( hline ); 96 vb->addWidget( hline );
97 97
98 Config config("qpe"); 98 Config config("qpe");
99 config.setGroup( "Time" ); 99 config.setGroup( "Time" );
100 100
101 QHBoxLayout *hb1 = new QHBoxLayout( vb ); 101 QHBoxLayout *hb1 = new QHBoxLayout( vb );
102 102
103 QLabel *l = new QLabel( tr("Time format"), FrameSystemTime ); 103 QLabel *l = new QLabel( tr("Time format"), FrameSystemTime );
104 hb1->addWidget( l, 1 ); 104 hb1->addWidget( l, 1 );
105 105
106 106
107 ampmCombo = new QComboBox( FrameSystemTime ); 107 ampmCombo = new QComboBox( FrameSystemTime );
108 ampmCombo->insertItem( tr("24 hour"), 0 ); 108 ampmCombo->insertItem( tr("24 hour"), 0 );
109 ampmCombo->insertItem( tr("12 hour"), 1 ); 109 ampmCombo->insertItem( tr("12 hour"), 1 );
110 hb1->addWidget( ampmCombo, 2 ); 110 hb1->addWidget( ampmCombo, 2 );
111 111
112 int show12hr = config.readBoolEntry("AMPM") ? 1 : 0; 112 int show12hr = config.readBoolEntry("AMPM") ? 1 : 0;
113 ampmCombo->setCurrentItem( show12hr ); 113 ampmCombo->setCurrentItem( show12hr );
114 timeButton->show12hourTime( show12hr ); 114 timeButton->show12hourTime( show12hr );
115 115
116 connect(ampmCombo, SIGNAL(activated(int)), 116 connect(ampmCombo, SIGNAL(activated(int)),
117 timeButton, SLOT(show12hourTime(int))); 117 timeButton, SLOT(show12hourTime(int)));
118 118
119 119
120 120
121 QHBoxLayout *hb2 = new QHBoxLayout( vb ); 121 QHBoxLayout *hb2 = new QHBoxLayout( vb );
122 l = new QLabel( tr("Weeks start on" ), FrameSystemTime ); 122 l = new QLabel( tr("Weeks start on" ), FrameSystemTime );
123 //l->setAlignment( AlignRight | AlignVCenter ); 123 //l->setAlignment( AlignRight | AlignVCenter );
124 hb2->addWidget( l, 1 ); 124 hb2->addWidget( l, 1 );
125 125
126 weekStartCombo = new QComboBox( FrameSystemTime ); 126 weekStartCombo = new QComboBox( FrameSystemTime );
127 weekStartCombo->insertItem( tr("Sunday"), 0 ); 127 weekStartCombo->insertItem( tr("Sunday"), 0 );
128 weekStartCombo->insertItem( tr("Monday"), 1 ); 128 weekStartCombo->insertItem( tr("Monday"), 1 );
129 129
130 hb2->addWidget( weekStartCombo, 2 ); 130 hb2->addWidget( weekStartCombo, 2 );
131 int startMonday = config.readBoolEntry("MONDAY") ? 1 : 0; 131 int startMonday = config.readBoolEntry("MONDAY") ? 1 : 0;
132 dateButton->setWeekStartsMonday( startMonday ); 132 dateButton->setWeekStartsMonday( startMonday );
133 weekStartCombo->setCurrentItem( startMonday ); 133 weekStartCombo->setCurrentItem( startMonday );
134 134
135 connect( weekStartCombo, SIGNAL( activated(int)), 135 connect( weekStartCombo, SIGNAL( activated(int)),
136 dateButton, SLOT(setWeekStartsMonday(int))); 136 dateButton, SLOT(setWeekStartsMonday(int)));
137 137
138 138
139 QHBoxLayout *hb3 = new QHBoxLayout( vb ); 139 QHBoxLayout *hb3 = new QHBoxLayout( vb );
140 l = new QLabel( tr("Date format" ), FrameSystemTime ); 140 l = new QLabel( tr("Date format" ), FrameSystemTime );
141 hb3->addWidget( l, 1 ); 141 hb3->addWidget( l, 1 );
142 dateFormatCombo = new QComboBox( FrameSystemTime ); 142 dateFormatCombo = new QComboBox( FrameSystemTime );
143 hb3->addWidget( dateFormatCombo, 2 ); 143 hb3->addWidget( dateFormatCombo, 2 );
144 144
145 config.setGroup( "Date" ); 145 config.setGroup( "Date" );
146 DateFormat df(QChar(config.readEntry("Separator", "/")[0]), 146 DateFormat df(QChar(config.readEntry("Separator", "/")[0]),
147 (DateFormat::Order)config .readNumEntry("ShortOrder", DateFormat::DayMonthYear), 147 (DateFormat::Order)config .readNumEntry("ShortOrder", DateFormat::DayMonthYear),
148 (DateFormat::Order)config.readNumEntry("LongOrder", DateFormat::DayMonthYear)); 148 (DateFormat::Order)config.readNumEntry("LongOrder", DateFormat::DayMonthYear));
149 149
150 int currentdf = 0; 150 int currentdf = 0;
151 date_formats[0] = DateFormat('/', DateFormat::MonthDayYear); 151 date_formats[0] = DateFormat('/', DateFormat::MonthDayYear);
152 dateFormatCombo->insertItem( tr( date_formats[0].toNumberString()) ); 152 dateFormatCombo->insertItem( tr( date_formats[0].toNumberString()) );
153 date_formats[1] = DateFormat('.', DateFormat::DayMonthYear); 153 date_formats[1] = DateFormat('.', DateFormat::DayMonthYear);
154 if (df == date_formats[1]) 154 if (df == date_formats[1])
155 currentdf = 1; 155 currentdf = 1;
156 dateFormatCombo->insertItem( tr( date_formats[1].toNumberString() ) ); 156 dateFormatCombo->insertItem( tr( date_formats[1].toNumberString() ) );
157 date_formats[2] = DateFormat('-', DateFormat::YearMonthDay, 157 date_formats[2] = DateFormat('-', DateFormat::YearMonthDay,
158 DateFormat::DayMonthYear); 158 DateFormat::DayMonthYear);
159 if (df == date_formats[2]) 159 if (df == date_formats[2])
160 currentdf = 2; 160 currentdf = 2;
161 dateFormatCombo->insertItem( tr( date_formats[2].toNumberString() ) ); //ISO8601 161 dateFormatCombo->insertItem( tr( date_formats[2].toNumberString() ) ); //ISO8601
162 date_formats[3] = DateFormat('/', DateFormat::DayMonthYear); 162 date_formats[3] = DateFormat('/', DateFormat::DayMonthYear);
163 if (df == date_formats[3]) 163 if (df == date_formats[3])
164 currentdf = 3; 164 currentdf = 3;
165 dateFormatCombo->insertItem( tr( date_formats[3].toNumberString() ) ); 165 dateFormatCombo->insertItem( tr( date_formats[3].toNumberString() ) );
166 166
167 dateFormatCombo->setCurrentItem( currentdf ); 167 dateFormatCombo->setCurrentItem( currentdf );
168 dateButton->setDateFormat( df ); 168 dateButton->setDateFormat( df );
169 169
170 connect( dateFormatCombo, SIGNAL( activated(int)), 170 connect( dateFormatCombo, SIGNAL( activated(int)),
171 SLOT(formatChanged(int))); 171 SLOT(formatChanged(int)));
172 172
173 QHBoxLayout *hb4 = new QHBoxLayout( vb ); 173 QHBoxLayout *hb4 = new QHBoxLayout( vb );
174 l = new QLabel( tr("Applet format" ), FrameSystemTime ); 174 l = new QLabel( tr("Applet format" ), FrameSystemTime );
175 hb4->addWidget( l, 1 ); 175 hb4->addWidget( l, 1 );
176 176
177 clockAppletCombo = new QComboBox( FrameSystemTime ); 177 clockAppletCombo = new QComboBox( FrameSystemTime );
178 clockAppletCombo->insertItem( tr("hh:mm"), 0 ); 178 clockAppletCombo->insertItem( tr("hh:mm"), 0 );
179 clockAppletCombo->insertItem( tr("D/M hh:mm"), 1 ); 179 clockAppletCombo->insertItem( tr("D/M hh:mm"), 1 );
180 clockAppletCombo->insertItem( tr("M/D hh:mm"), 2 ); 180 clockAppletCombo->insertItem( tr("M/D hh:mm"), 2 );
181 181
182 hb4->addWidget( clockAppletCombo, 2 ); 182 hb4->addWidget( clockAppletCombo, 2 );
183 int clockApplet = config.readNumEntry("ClockApplet",0); 183 int clockApplet = config.readNumEntry("ClockApplet",0);
184 clockAppletCombo->setCurrentItem( clockApplet ); 184 clockAppletCombo->setCurrentItem( clockApplet );
185 185
186 vb->addStretch( 0 ); 186 vb->addStretch( 0 );
187 187
188 QObject::connect( PushButtonSetManualTime, SIGNAL(clicked()), 188 QObject::connect( PushButtonSetManualTime, SIGNAL(clicked()),
189 this, SLOT(commitTime())); 189 this, SLOT(commitTime()));
190 190
191 QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), 191 QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ),
192 timeButton, SLOT( slotTzChange( const QString& ) ) ); 192 timeButton, SLOT( slotTzChange( const QString& ) ) );
193 QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ), 193 QObject::connect( tz, SIGNAL( signalNewTz( const QString& ) ),
194 SLOT( tzChange( const QString& ) ) ); 194 SLOT( tzChange( const QString& ) ) );
195 195
196 QObject::connect( weekStartCombo, SIGNAL( activated ( int )), 196 QObject::connect( weekStartCombo, SIGNAL( activated ( int )),
197 SLOT(updateSystem(int ) )); 197 SLOT(updateSystem(int ) ));
198 QObject::connect( ampmCombo, SIGNAL( activated ( int )), 198 QObject::connect( ampmCombo, SIGNAL( activated ( int )),
199 SLOT(updateSystem(int ) )); 199 SLOT(updateSystem(int ) ));
200 QObject::connect( dateFormatCombo, SIGNAL( activated ( int )), 200 QObject::connect( dateFormatCombo, SIGNAL( activated ( int )),
201 SLOT(updateSystem(int ) )); 201 SLOT(updateSystem(int ) ));
202 QObject::connect( clockAppletCombo, SIGNAL( activated ( int )), 202 QObject::connect( clockAppletCombo, SIGNAL( activated ( int )),
203 SLOT(updateSystem(int ) )); 203 SLOT(updateSystem(int ) ));
204} 204}
205 205
206SetDateTime::~SetDateTime() 206SetDateTime::~SetDateTime()
207{ 207{
208 writeSettings(); 208 writeSettings();
209 209
210} 210}
211 211
212void SetDateTime::writeSettings() 212void SetDateTime::writeSettings()
213{ 213{
214 Config config("qpe"); 214 Config config("qpe");
215 config.setGroup( "Time" ); 215 config.setGroup( "Time" );
216 config.writeEntry( "AMPM", ampmCombo->currentItem() ); 216 config.writeEntry( "AMPM", ampmCombo->currentItem() );
217 config.writeEntry( "MONDAY", weekStartCombo->currentItem() ); 217 config.writeEntry( "MONDAY", weekStartCombo->currentItem() );
218 config.setGroup( "Date" ); 218 config.setGroup( "Date" );
219 DateFormat df = date_formats[dateFormatCombo->currentItem()]; 219 DateFormat df = date_formats[dateFormatCombo->currentItem()];
220 config.writeEntry( "Separator", QString(df.separator())); 220 config.writeEntry( "Separator", QString(df.separator()));
221 config.writeEntry( "ShortOrder", df.shortOrder()); 221 config.writeEntry( "ShortOrder", df.shortOrder());
222 config.writeEntry( "LongOrder", df.longOrder()); 222 config.writeEntry( "LongOrder", df.longOrder());
223 config.writeEntry( "ClockApplet", clockAppletCombo->currentItem() ); 223 config.writeEntry( "ClockApplet", clockAppletCombo->currentItem() );
224 224
225 Config lconfig("locale"); 225 Config lconfig("locale");
226 lconfig.setGroup( "Location" ); 226 lconfig.setGroup( "Location" );
227 lconfig.writeEntry( "Timezone", tz->currentZone() ); 227 lconfig.writeEntry( "Timezone", tz->currentZone() );
228 228
229} 229}
230 230
231void SetDateTime::commitTime() 231void SetDateTime::commitTime()
232{ 232{
233 Config cfg("ntp",Config::User); 233 Config cfg("ntp",Config::User);
234 cfg.setGroup("lookups"); 234 cfg.setGroup("lookups");
235 cfg.writeEntry("lastNtp",false); 235 cfg.writeEntry("lastNtp",false);
236 tz->setFocus(); 236 tz->setFocus();
237 // Need to process the QCOP event generated above before proceeding 237 // Need to process the QCOP event generated above before proceeding
238 qApp->processEvents(); 238 qApp->processEvents();
239 239
240 // before we progress further, set our TZ! 240 // before we progress further, set our TZ!
241 setenv( "TZ", tz->currentZone(), 1 ); 241 setenv( "TZ", tz->currentZone(), 1 );
242 // now set the time... 242 // now set the time...
243 QDateTime dt( dateButton->date(), timeButton->time() ); 243 QDateTime dt( dateButton->date(), timeButton->time() );
244 244
245 if ( dt.isValid() ) setTime(dt); 245 if ( dt.isValid() ) setTime(dt);
246} 246}
247 247
248void SetDateTime::setTime(QDateTime dt) 248void SetDateTime::setTime(QDateTime dt)
249{ 249{
250 // really turn off the screensaver before doing anything 250 // really turn off the screensaver before doing anything
251 { 251 {
252 // Needs to be encased in { } so that it deconstructs and sends 252 // Needs to be encased in { } so that it deconstructs and sends
253 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); 253 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" );
254 disableScreenSaver << 0 << 0 << 0; 254 disableScreenSaver << 0 << 0 << 0;
255 } 255 }
256 Config cfg("ntp",Config::User); 256 Config cfg("ntp",Config::User);
257 cfg.setGroup("correction"); 257 cfg.setGroup("correction");
258 int t = TimeConversion::toUTC(dt); 258 int t = TimeConversion::toUTC(dt);
259 struct timeval myTv; 259 struct timeval myTv;
260 myTv.tv_sec = t; 260 myTv.tv_sec = t;
261 cfg.writeEntry("time", t ); 261 cfg.writeEntry("time", t );
262 myTv.tv_usec = 0; 262 myTv.tv_usec = 0;
263 263
264 if ( myTv.tv_sec != -1 ) 264 if ( myTv.tv_sec != -1 )
265 ::settimeofday( &myTv, 0 ); 265 ::settimeofday( &myTv, 0 );
266 Global::writeHWClock(); 266 Global::writeHWClock();
267 // since time has changed quickly load in the datebookdb 267 // since time has changed quickly load in the datebookdb
268 // to allow the alarm server to get a better grip on itself 268 // to allow the alarm server to get a better grip on itself
269 // (example re-trigger alarms for when we travel back in time) 269 // (example re-trigger alarms for when we travel back in time)
270 DateBookDB db; 270 DateBookDB db;
271 QCopEnvelope timeApplet( "QPE/TaskBar", "reloadApplets()" ); 271 //QCopEnvelope timeApplet( "QPE/TaskBar", "reloadApplets()" );
272 timeApplet << ""; 272 //timeApplet << "";
273 // Restore screensaver 273 // Restore screensaver
274 QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); 274 QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" );
275 enableScreenSaver << -1 << -1 << -1; 275 enableScreenSaver << -1 << -1 << -1;
276} 276}
277 277
278void SetDateTime::updateSystem(int i) 278void SetDateTime::updateSystem(int i)
279{ 279{
280 // really turn off the screensaver before doing anything 280 // really turn off the screensaver before doing anything
281 { 281 {
282 // Needs to be encased in { } so that it deconstructs and sends 282 // Needs to be encased in { } so that it deconstructs and sends
283 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); 283 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" );
284 disableScreenSaver << 0 << 0 << 0; 284 disableScreenSaver << 0 << 0 << 0;
285 } 285 }
286 qDebug("SetDateTime::updateSystem(int %i)",i); 286 qDebug("SetDateTime::updateSystem(int %i)",i);
287 writeSettings(); 287 writeSettings();
288 288
289 // set the timezone for everyone else... 289 // set the timezone for everyone else...
290 QCopEnvelope setTimeZone( "QPE/System", "timeChange(QString)" ); 290 QCopEnvelope setTimeZone( "QPE/System", "timeChange(QString)" );
291 setTimeZone << tz->currentZone(); 291 setTimeZone << tz->currentZone();
292 292
293 // AM/PM setting and notify time changed 293 // AM/PM setting and notify time changed
294 QCopEnvelope setClock( "QPE/System", "clockChange(bool)" ); 294 QCopEnvelope setClock( "QPE/System", "clockChange(bool)" );
295 setClock << ampmCombo->currentItem(); 295 setClock << ampmCombo->currentItem();
296 296
297 // Notify everyone what day we prefer to start the week on. 297 // Notify everyone what day we prefer to start the week on.
298 QCopEnvelope setWeek( "QPE/System", "weekChange(bool)" ); 298 QCopEnvelope setWeek( "QPE/System", "weekChange(bool)" );
299 setWeek << weekStartCombo->currentItem(); 299 setWeek << weekStartCombo->currentItem();
300 300
301 // Notify everyone what date format to use 301 // Notify everyone what date format to use
302 QCopEnvelope setDateFormat( "QPE/System", "setDateFormat(DateFormat)" ); 302 QCopEnvelope setDateFormat( "QPE/System", "setDateFormat(DateFormat)" );
303 setDateFormat << date_formats[dateFormatCombo->currentItem()]; 303 setDateFormat << date_formats[dateFormatCombo->currentItem()];
304 304
305 // Restore screensaver 305 // Restore screensaver
306 QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); 306 QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" );
307 enableScreenSaver << -1 << -1 << -1; 307 enableScreenSaver << -1 << -1 << -1;
308 // since time has changed quickly load in the datebookdb 308 // since time has changed quickly load in the datebookdb
309 // to allow the alarm server to get a better grip on itself 309 // to allow the alarm server to get a better grip on itself
310 // (example re-trigger alarms for when we travel back in time) 310 // (example re-trigger alarms for when we travel back in time)
311 DateBookDB db; 311 DateBookDB db;
312 312
313} 313}
314 314
315void SetDateTime::tzChange( const QString &tz ) 315void SetDateTime::tzChange( const QString &tz )
316{ 316{
317 // set the TZ get the time and leave gracefully... 317 // set the TZ get the time and leave gracefully...
318 QString strSave; 318 QString strSave;
319 strSave = getenv( "TZ" ); 319 strSave = getenv( "TZ" );
320 setenv( "TZ", tz, 1 ); 320 setenv( "TZ", tz, 1 );
321 321
322 QDate d = QDate::currentDate(); 322 QDate d = QDate::currentDate();
323 // reset the time. 323 // reset the time.
324 if ( !strSave.isNull() ) { 324 if ( !strSave.isNull() ) {
325 setenv( "TZ", strSave, 1 ); 325 setenv( "TZ", strSave, 1 );
326 } 326 }
327 dateButton->setDate( d ); 327 dateButton->setDate( d );
328 updateSystem(); 328 updateSystem();
329} 329}
330 330
331void SetDateTime::formatChanged(int i) 331void SetDateTime::formatChanged(int i)
332{ 332{
333 dateButton->setDateFormat(date_formats[i]); 333 dateButton->setDateFormat(date_formats[i]);
334} 334}
335 335
336static const int ValueAM = 0; 336static const int ValueAM = 0;
337static const int ValuePM = 1; 337static const int ValuePM = 1;
338 338
339 339
340 340
341SetTime::SetTime( QWidget *parent, const char *name ) 341SetTime::SetTime( QWidget *parent, const char *name )
342 : QWidget( parent, name ) 342 : QWidget( parent, name )
343{ 343{
344 use12hourTime = FALSE; 344 use12hourTime = FALSE;
345 345
346 QTime currTime = QTime::currentTime(); 346 QTime currTime = QTime::currentTime();
347 hour = currTime.hour(); 347 hour = currTime.hour();
348 minute = currTime.minute(); 348 minute = currTime.minute();
349 349
350 QHBoxLayout *hb2 = new QHBoxLayout( this ); 350 QHBoxLayout *hb2 = new QHBoxLayout( this );
351 hb2->setSpacing( 3 ); 351 hb2->setSpacing( 3 );
352 352
353 QLabel *l = new QLabel( tr("Hour"), this ); 353 QLabel *l = new QLabel( tr("Hour"), this );
354 // l->setAlignment( AlignRight | AlignVCenter ); 354 // l->setAlignment( AlignRight | AlignVCenter );
355 hb2->addWidget( l ); 355 hb2->addWidget( l );
356 356
357 sbHour = new QSpinBox( this ); 357 sbHour = new QSpinBox( this );
358 sbHour->setMinimumWidth( 30 ); 358 sbHour->setMinimumWidth( 30 );
359 if(use12hourTime) { 359 if(use12hourTime) {
360 sbHour->setMinValue(1); 360 sbHour->setMinValue(1);
361 sbHour->setMaxValue( 12 ); 361 sbHour->setMaxValue( 12 );
362 int show_hour = hour; 362 int show_hour = hour;
363 if (hour > 12) 363 if (hour > 12)
364 show_hour -= 12; 364 show_hour -= 12;
365 if (show_hour == 0) 365 if (show_hour == 0)
366 show_hour = 12; 366 show_hour = 12;
367 367
368 sbHour->setValue( show_hour ); 368 sbHour->setValue( show_hour );
369 } else { 369 } else {
370 sbHour->setMinValue( 0 ); 370 sbHour->setMinValue( 0 );
371 sbHour->setMaxValue( 23 ); 371 sbHour->setMaxValue( 23 );
372 sbHour->setValue( hour ); 372 sbHour->setValue( hour );
373 } 373 }
374 sbHour->setWrapping(TRUE); 374 sbHour->setWrapping(TRUE);
375 connect( sbHour, SIGNAL(valueChanged(int)), this, SLOT(hourChanged(int)) ); 375 connect( sbHour, SIGNAL(valueChanged(int)), this, SLOT(hourChanged(int)) );
376 hb2->addWidget( sbHour ); 376 hb2->addWidget( sbHour );
377 377
378 hb2->addStretch( 1 ); 378 hb2->addStretch( 1 );
379 379
380 l = new QLabel( tr("Minute"), this ); 380 l = new QLabel( tr("Minute"), this );
381 //l->setAlignment( AlignRight | AlignVCenter ); 381 //l->setAlignment( AlignRight | AlignVCenter );
382 hb2->addWidget( l ); 382 hb2->addWidget( l );
383 383
384 sbMin = new QSpinBox( this ); 384 sbMin = new QSpinBox( this );
385 sbMin->setMinValue( 0 ); 385 sbMin->setMinValue( 0 );
386 sbMin->setMaxValue( 59 ); 386 sbMin->setMaxValue( 59 );
387 sbMin->setWrapping(TRUE); 387 sbMin->setWrapping(TRUE);
388 sbMin->setValue( minute ); 388 sbMin->setValue( minute );
389 sbMin->setMinimumWidth( 30 ); 389 sbMin->setMinimumWidth( 30 );
390 connect( sbMin, SIGNAL(valueChanged(int)), this, SLOT(minuteChanged(int)) ); 390 connect( sbMin, SIGNAL(valueChanged(int)), this, SLOT(minuteChanged(int)) );
391 hb2->addWidget( sbMin ); 391 hb2->addWidget( sbMin );
392 392
393 hb2->addStretch( 1 ); 393 hb2->addStretch( 1 );
394 394
395 ampm = new QComboBox( this ); 395 ampm = new QComboBox( this );
396 ampm->insertItem( tr("AM"), ValueAM ); 396 ampm->insertItem( tr("AM"), ValueAM );
397 ampm->insertItem( tr("PM"), ValuePM ); 397 ampm->insertItem( tr("PM"), ValuePM );
398 connect( ampm, SIGNAL(activated(int)), this, SLOT(checkedPM(int)) ); 398 connect( ampm, SIGNAL(activated(int)), this, SLOT(checkedPM(int)) );
399 hb2->addWidget( ampm ); 399 hb2->addWidget( ampm );
400 400
401 hb2->addStretch( 1 ); 401 hb2->addStretch( 1 );
402 402
403} 403}
404 404
405QTime SetTime::time() const 405QTime SetTime::time() const
406{ 406{
407 return QTime( hour, minute, 0 ); 407 return QTime( hour, minute, 0 );
408} 408}
409 409
410void SetTime::hourChanged( int value ) 410void SetTime::hourChanged( int value )
411{ 411{
412 if(use12hourTime) { 412 if(use12hourTime) {
413 int realhour = value; 413 int realhour = value;
414 if (realhour == 12) 414 if (realhour == 12)
415 realhour = 0; 415 realhour = 0;
416 if (ampm->currentItem() == ValuePM ) 416 if (ampm->currentItem() == ValuePM )
417 realhour += 12; 417 realhour += 12;
418 hour = realhour; 418 hour = realhour;
419 } else 419 } else
420 hour = value; 420 hour = value;
421} 421}
422 422
423void SetTime::minuteChanged( int value ) 423void SetTime::minuteChanged( int value )
424{ 424{
425 minute = value; 425 minute = value;
426} 426}
427 427
428void SetTime::show12hourTime( int on ) 428void SetTime::show12hourTime( int on )
429{ 429{
430 use12hourTime = on; 430 use12hourTime = on;
431 ampm->setEnabled(on); 431 ampm->setEnabled(on);
432 432
433 int show_hour = hour; 433 int show_hour = hour;
434 if ( on ) { 434 if ( on ) {
435 /* this might change the value of hour */ 435 /* this might change the value of hour */
436 sbHour->setMinValue(1); 436 sbHour->setMinValue(1);
437 sbHour->setMaxValue( 12 ); 437 sbHour->setMaxValue( 12 );
438 438
439 /* so use one we saved earlier */ 439 /* so use one we saved earlier */
440 if (show_hour >= 12) { 440 if (show_hour >= 12) {
441 show_hour -= 12; 441 show_hour -= 12;
442 ampm->setCurrentItem( ValuePM ); 442 ampm->setCurrentItem( ValuePM );
443 } else { 443 } else {
444 ampm->setCurrentItem( ValueAM ); 444 ampm->setCurrentItem( ValueAM );
445 } 445 }
446 if (show_hour == 0) 446 if (show_hour == 0)
447 show_hour = 12; 447 show_hour = 12;
448 448
449 } else { 449 } else {
450 sbHour->setMinValue( 0 ); 450 sbHour->setMinValue( 0 );
451 sbHour->setMaxValue( 23 ); 451 sbHour->setMaxValue( 23 );
452 } 452 }
453 453
454 454
455 sbHour->setValue( show_hour ); 455 sbHour->setValue( show_hour );
456} 456}
457 457
458void SetTime::checkedPM( int c ) 458void SetTime::checkedPM( int c )
459{ 459{
460 int show_hour = sbHour->value(); 460 int show_hour = sbHour->value();
461 if (show_hour == 12) 461 if (show_hour == 12)
462 show_hour = 0; 462 show_hour = 0;
463 463
464 if ( c == ValuePM ) 464 if ( c == ValuePM )
465 show_hour += 12; 465 show_hour += 12;
466 466
467 hour = show_hour; 467 hour = show_hour;
468} 468}
469 469
470void SetTime::slotTzChange( const QString &tz ) 470void SetTime::slotTzChange( const QString &tz )
471{ 471{
472 // set the TZ get the time and leave gracefully... 472 // set the TZ get the time and leave gracefully...
473 QString strSave; 473 QString strSave;
474 strSave = getenv( "TZ" ); 474 strSave = getenv( "TZ" );
475 setenv( "TZ", tz, 1 ); 475 setenv( "TZ", tz, 1 );
476 476
477 QTime t = QTime::currentTime(); 477 QTime t = QTime::currentTime();
478 // reset the time. 478 // reset the time.
479 if ( !strSave.isNull() ) { 479 if ( !strSave.isNull() ) {
480 setenv( "TZ", strSave, 1 ); 480 setenv( "TZ", strSave, 1 );
481 } 481 }
482 482
483 // just set the spinboxes and let it propage through 483 // just set the spinboxes and let it propage through
484 if(use12hourTime) { 484 if(use12hourTime) {
485 int show_hour = t.hour(); 485 int show_hour = t.hour();
486 if (t.hour() >= 12) { 486 if (t.hour() >= 12) {
487 show_hour -= 12; 487 show_hour -= 12;
488 ampm->setCurrentItem( ValuePM ); 488 ampm->setCurrentItem( ValuePM );
489 } else { 489 } else {
490 ampm->setCurrentItem( ValueAM ); 490 ampm->setCurrentItem( ValueAM );
491 } 491 }
492 if (show_hour == 0) 492 if (show_hour == 0)
493 show_hour = 12; 493 show_hour = 12;