summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.cpp5
-rw-r--r--libkdepim/kpimglobalprefs.cpp3
-rw-r--r--libkdepim/kpimglobalprefs.h1
-rw-r--r--microkde/kdecore/klocale.cpp4
-rw-r--r--microkde/kdecore/klocale.h2
5 files changed, 12 insertions, 3 deletions
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
index 1eef150..332f975 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
@@ -198,256 +198,261 @@ void KDEPIMConfigWidget::setupLocaleDateTab()
198 198
199 199
200 KPrefsWidRadios *syncPrefsGroup = 200 KPrefsWidRadios *syncPrefsGroup =
201 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame); 201 addWidRadios(i18n("Date Format:"),&(KPimGlobalPrefs::instance()->mPreferredDate),topFrame);
202 QString format; 202 QString format;
203 if ( QApplication::desktop()->width() < 480 ) 203 if ( QApplication::desktop()->width() < 480 )
204 format = "(%d.%m.%Y)"; 204 format = "(%d.%m.%Y)";
205 else 205 else
206 format = "(%d.%m.%Y|%A %d %B %Y)"; 206 format = "(%d.%m.%Y|%A %d %B %Y)";
207 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format)); 207 syncPrefsGroup->addRadio(i18n("24.03.2004 "+format));
208 if ( QApplication::desktop()->width() < 480 ) 208 if ( QApplication::desktop()->width() < 480 )
209 format = "(%m.%d.%Y)"; 209 format = "(%m.%d.%Y)";
210 else 210 else
211 format = "(%m.%d.%Y|%A %B %d %Y)"; 211 format = "(%m.%d.%Y|%A %B %d %Y)";
212 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format)); 212 syncPrefsGroup->addRadio(i18n("03.24.2004 "+format));
213 if ( QApplication::desktop()->width() < 480 ) 213 if ( QApplication::desktop()->width() < 480 )
214 format = "(%Y-%m-%d)"; 214 format = "(%Y-%m-%d)";
215 else 215 else
216 format = "(%Y-%m-%d|%A %Y %B %d)"; 216 format = "(%Y-%m-%d|%A %Y %B %d)";
217 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format)); 217 syncPrefsGroup->addRadio(i18n("2004-03-24 "+format));
218 syncPrefsGroup->addRadio(i18n("User defined")); 218 syncPrefsGroup->addRadio(i18n("User defined"));
219 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 219 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
220 ++iii; 220 ++iii;
221 ++iii; 221 ++iii;
222 QLabel * lab; 222 QLabel * lab;
223 mUserDateFormatLong = new QLineEdit(topFrame); 223 mUserDateFormatLong = new QLineEdit(topFrame);
224 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame); 224 lab = new QLabel(mUserDateFormatLong, i18n("User long date:"), topFrame);
225 topLayout->addWidget(lab ,iii,0); 225 topLayout->addWidget(lab ,iii,0);
226 topLayout->addWidget(mUserDateFormatLong,iii,1); 226 topLayout->addWidget(mUserDateFormatLong,iii,1);
227 ++iii; 227 ++iii;
228 mUserDateFormatShort = new QLineEdit(topFrame); 228 mUserDateFormatShort = new QLineEdit(topFrame);
229 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame); 229 lab = new QLabel(mUserDateFormatShort, i18n("User short date:"), topFrame);
230 topLayout->addWidget(lab ,iii,0); 230 topLayout->addWidget(lab ,iii,0);
231 topLayout->addWidget(mUserDateFormatShort,iii,1); 231 topLayout->addWidget(mUserDateFormatShort,iii,1);
232 ++iii; 232 ++iii;
233 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame); 233 lab = new QLabel( i18n("Monday 19 April 2004: %A %d %B %Y"), topFrame);
234 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 234 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
235 ++iii; 235 ++iii;
236 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame); 236 lab = new QLabel( i18n("Mon 19.04.04: %a %d.%m.%y"), topFrame);
237 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 237 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
238 ++iii; 238 ++iii;
239 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame); 239 lab = new QLabel( i18n("Mon, 19.Apr.04: %a, %d.%b.%y"), topFrame);
240 topLayout->addMultiCellWidget(lab ,iii,iii,0,1); 240 topLayout->addMultiCellWidget(lab ,iii,iii,0,1);
241 ++iii; 241 ++iii;
242 242
243 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 243 connect( mUserDateFormatLong, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
244 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); 244 connect( mUserDateFormatShort, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) );
245 245
246 246
247 tabWidget->addTab( topFrame, i18n( "Date Format" ) ); 247 tabWidget->addTab( topFrame, i18n( "Date Format" ) );
248} 248}
249 249
250void KDEPIMConfigWidget::setupLocaleTab() 250void KDEPIMConfigWidget::setupLocaleTab()
251{ 251{
252 252
253 QWidget *topFrame = new QWidget( this ); 253 QWidget *topFrame = new QWidget( this );
254 QGridLayout *topLayout = new QGridLayout(topFrame,4,2); 254 QGridLayout *topLayout = new QGridLayout(topFrame,4,2);
255 255
256 topLayout->setSpacing(KDialog::spacingHint()); 256 topLayout->setSpacing(KDialog::spacingHint());
257 topLayout->setMargin(KDialog::marginHint()); 257 topLayout->setMargin(KDialog::marginHint());
258 int iii = 0; 258 int iii = 0;
259 KPrefsWidRadios *syncPrefsGroup = 259 KPrefsWidRadios *syncPrefsGroup =
260 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame); 260 addWidRadios(i18n("Language:(needs restart)"),&(KPimGlobalPrefs::instance()->mPreferredLanguage),topFrame);
261 syncPrefsGroup->addRadio(i18n("English")); 261 syncPrefsGroup->addRadio(i18n("English"));
262 syncPrefsGroup->addRadio(i18n("German")); 262 syncPrefsGroup->addRadio(i18n("German"));
263 syncPrefsGroup->addRadio(i18n("French")); 263 syncPrefsGroup->addRadio(i18n("French"));
264 syncPrefsGroup->addRadio(i18n("Italian")); 264 syncPrefsGroup->addRadio(i18n("Italian"));
265 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)")); 265 syncPrefsGroup->addRadio(i18n("User defined (usertranslation.txt)"));
266 if ( QApplication::desktop()->width() < 300 ) 266 if ( QApplication::desktop()->width() < 300 )
267 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical); 267 ;// syncPrefsGroup->groupBox()-> setOrientation (Qt::Vertical);
268 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1); 268 topLayout->addMultiCellWidget( (QWidget*)syncPrefsGroup->groupBox(),iii,iii,0,1);
269 ++iii; 269 ++iii;
270 270
271 syncPrefsGroup = 271 syncPrefsGroup =
272 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame); 272 addWidRadios(i18n("Time Format(nr):"),&(KPimGlobalPrefs::instance()->mPreferredTime),topFrame);
273 if ( QApplication::desktop()->width() > 300 ) 273 if ( QApplication::desktop()->width() > 300 )
274 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 274 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
275 syncPrefsGroup->addRadio(i18n("24:00")); 275 syncPrefsGroup->addRadio(i18n("24:00"));
276 syncPrefsGroup->addRadio(i18n("12:00am")); 276 syncPrefsGroup->addRadio(i18n("12:00am"));
277 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical); 277 syncPrefsGroup->groupBox()->setOrientation (Qt::Vertical);
278 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1); 278 topLayout->addMultiCellWidget( syncPrefsGroup->groupBox(),iii,iii,0,1);
279 ++iii; 279 ++iii;
280 280
281 KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"), 281 KPrefsWidBool *sb = addWidBool(i18n("Week starts on Sunday"),
282 &(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame); 282 &(KPimGlobalPrefs::instance()->mWeekStartsOnSunday),topFrame);
283 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); 283 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
284 ++iii; 284 ++iii;
285 285
286 286
287 tabWidget->addTab( topFrame, i18n( "Locale" ) ); 287 tabWidget->addTab( topFrame, i18n( "Locale" ) );
288 288
289} 289}
290 290
291 291
292void KDEPIMConfigWidget::setupTimeZoneTab() 292void KDEPIMConfigWidget::setupTimeZoneTab()
293{ 293{
294 QWidget *topFrame = new QWidget( this ); 294 QWidget *topFrame = new QWidget( this );
295 QGridLayout *topLayout = new QGridLayout( topFrame, 5, 2); 295 QGridLayout *topLayout = new QGridLayout( topFrame, 5, 2);
296 topLayout->setSpacing(KDialog::spacingHint()); 296 topLayout->setSpacing(KDialog::spacingHint());
297 topLayout->setMargin(KDialog::marginHint()); 297 topLayout->setMargin(KDialog::marginHint());
298 298
299 QHBox *timeZoneBox = new QHBox( topFrame ); 299 QHBox *timeZoneBox = new QHBox( topFrame );
300 topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 ); 300 topLayout->addMultiCellWidget( timeZoneBox, 0, 0, 0, 1 );
301 301
302 new QLabel( i18n("Timezone:"), timeZoneBox ); 302 new QLabel( i18n("Timezone:"), timeZoneBox );
303 mTimeZoneCombo = new QComboBox( timeZoneBox ); 303 mTimeZoneCombo = new QComboBox( timeZoneBox );
304 if ( QApplication::desktop()->width() < 300 ) { 304 if ( QApplication::desktop()->width() < 300 ) {
305 mTimeZoneCombo->setMaximumWidth(150); 305 mTimeZoneCombo->setMaximumWidth(150);
306 } 306 }
307 307
308 QStringList list; 308 QStringList list;
309 list = KGlobal::locale()->timeZoneList(); 309 list = KGlobal::locale()->timeZoneList();
310 mTimeZoneCombo->insertStringList(list); 310 mTimeZoneCombo->insertStringList(list);
311 311
312 // find the currently set time zone and select it 312 // find the currently set time zone and select it
313 QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId; 313 QString sCurrentlySet = KPimGlobalPrefs::instance()->mTimeZoneId;
314 int nCurrentlySet = 11; 314 int nCurrentlySet = 11;
315 for (int i = 0; i < mTimeZoneCombo->count(); i++) 315 for (int i = 0; i < mTimeZoneCombo->count(); i++)
316 { 316 {
317 if (mTimeZoneCombo->text(i) == sCurrentlySet) 317 if (mTimeZoneCombo->text(i) == sCurrentlySet)
318 { 318 {
319 nCurrentlySet = i; 319 nCurrentlySet = i;
320 break; 320 break;
321 } 321 }
322 } 322 }
323 mTimeZoneCombo->setCurrentItem(nCurrentlySet); 323 mTimeZoneCombo->setCurrentItem(nCurrentlySet);
324 int iii = 1; 324 int iii = 1;
325 KPrefsWidBool *sb = 325 KPrefsWidBool *sb =
326 addWidBool(i18n("Add 30 min (+00:30) to selected Timezone"),
327 &(KPimGlobalPrefs::instance()->mTimeZoneAdd30min),topFrame);
328 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
329 ++iii;
330 sb =
326 addWidBool(i18n("Timezone has daylight saving"), 331 addWidBool(i18n("Timezone has daylight saving"),
327 &(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame); 332 &(KPimGlobalPrefs::instance()->mUseDaylightsaving),topFrame);
328 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1); 333 topLayout->addMultiCellWidget((QWidget*)sb->checkBox(), iii,iii,0,1);
329 ++iii; 334 ++iii;
330 QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame ); 335 QLabel* lab = new QLabel( i18n("Actual start and end is the\nsunday before this date."), topFrame );
331 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 336 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
332 ++iii; 337 ++iii;
333 lab = new QLabel( i18n("The year in the date is ignored."), topFrame ); 338 lab = new QLabel( i18n("The year in the date is ignored."), topFrame );
334 topLayout->addMultiCellWidget(lab, iii,iii,0,1); 339 topLayout->addMultiCellWidget(lab, iii,iii,0,1);
335 ++iii; 340 ++iii;
336 lab = new QLabel( i18n("Daylight start:"), topFrame ); 341 lab = new QLabel( i18n("Daylight start:"), topFrame );
337 topLayout->addWidget(lab, iii,0); 342 topLayout->addWidget(lab, iii,0);
338 mStartDateSavingEdit = new KDateEdit(topFrame); 343 mStartDateSavingEdit = new KDateEdit(topFrame);
339 topLayout->addWidget(mStartDateSavingEdit, iii,1); 344 topLayout->addWidget(mStartDateSavingEdit, iii,1);
340 ++iii; 345 ++iii;
341 346
342 lab = new QLabel( i18n("Daylight end:"), topFrame ); 347 lab = new QLabel( i18n("Daylight end:"), topFrame );
343 topLayout->addWidget(lab, iii,0); 348 topLayout->addWidget(lab, iii,0);
344 mEndDateSavingEdit = new KDateEdit(topFrame); 349 mEndDateSavingEdit = new KDateEdit(topFrame);
345 topLayout->addWidget(mEndDateSavingEdit, iii,1); 350 topLayout->addWidget(mEndDateSavingEdit, iii,1);
346 ++iii; 351 ++iii;
347 QDate current ( 2001, 1,1); 352 QDate current ( 2001, 1,1);
348 mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1)); 353 mStartDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingStart-1));
349 mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1)); 354 mEndDateSavingEdit->setDate(current.addDays(KPimGlobalPrefs::instance()->mDaylightsavingEnd-1));
350 355
351 connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); 356 connect( mStartDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
352 connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) ); 357 connect( mEndDateSavingEdit, SIGNAL( dateChanged(QDate)), this, SLOT( modified()) );
353 connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) ); 358 connect( mTimeZoneCombo, SIGNAL( activated( int ) ), this, SLOT (modified() ) );
354 359
355 360
356 361
357 tabWidget->addTab( topFrame, i18n( "Time Zone" ) ); 362 tabWidget->addTab( topFrame, i18n( "Time Zone" ) );
358 363
359} 364}
360 365
361void KDEPIMConfigWidget::externalapp_changed( int newApp ) 366void KDEPIMConfigWidget::externalapp_changed( int newApp )
362{ 367{
363 // first store the current data 368 // first store the current data
364 saveEditFieldSettings(); 369 saveEditFieldSettings();
365 370
366 // set mCurrentApp 371 // set mCurrentApp
367 mCurrentApp = (ExternalAppHandler::Types)newApp; 372 mCurrentApp = (ExternalAppHandler::Types)newApp;
368 373
369 // set mCurrentClient 374 // set mCurrentClient
370 switch(mCurrentApp) 375 switch(mCurrentApp)
371 { 376 {
372 case(ExternalAppHandler::EMAIL): 377 case(ExternalAppHandler::EMAIL):
373 mCurrentClient = mEmailClient; 378 mCurrentClient = mEmailClient;
374 break; 379 break;
375 case(ExternalAppHandler::PHONE): 380 case(ExternalAppHandler::PHONE):
376 mCurrentClient = mPhoneClient; 381 mCurrentClient = mPhoneClient;
377 break; 382 break;
378 case(ExternalAppHandler::SMS): 383 case(ExternalAppHandler::SMS):
379 mCurrentClient = mSMSClient; 384 mCurrentClient = mSMSClient;
380 break; 385 break;
381 case(ExternalAppHandler::FAX): 386 case(ExternalAppHandler::FAX):
382 mCurrentClient = mFaxClient; 387 mCurrentClient = mFaxClient;
383 break; 388 break;
384 case(ExternalAppHandler::PAGER): 389 case(ExternalAppHandler::PAGER):
385 mCurrentClient = mPagerClient; 390 mCurrentClient = mPagerClient;
386 break; 391 break;
387 case(ExternalAppHandler::SIP): 392 case(ExternalAppHandler::SIP):
388 mCurrentClient = mSipClient; 393 mCurrentClient = mSipClient;
389 break; 394 break;
390 default: 395 default:
391 return; 396 return;
392 } 397 }
393 398
394 // and at last update the widgets 399 // and at last update the widgets
395 updateClientWidgets(); 400 updateClientWidgets();
396} 401}
397 402
398 403
399 404
400void KDEPIMConfigWidget::client_changed( int newClient ) 405void KDEPIMConfigWidget::client_changed( int newClient )
401{ 406{
402 if (newClient == mCurrentClient) 407 if (newClient == mCurrentClient)
403 return; 408 return;
404 409
405 // first store the current data 410 // first store the current data
406 saveEditFieldSettings(); 411 saveEditFieldSettings();
407 412
408 413
409 //then reset the clientvariable 414 //then reset the clientvariable
410 mCurrentClient = newClient; 415 mCurrentClient = newClient;
411 416
412 // and at last update the widgets 417 // and at last update the widgets
413 updateClientWidgets(); 418 updateClientWidgets();
414 419
415 KPrefsWidget::modified(); 420 KPrefsWidget::modified();
416} 421}
417 422
418void KDEPIMConfigWidget::saveEditFieldSettings() 423void KDEPIMConfigWidget::saveEditFieldSettings()
419{ 424{
420 425
421 switch(mCurrentApp) 426 switch(mCurrentApp)
422 { 427 {
423 case(ExternalAppHandler::EMAIL): 428 case(ExternalAppHandler::EMAIL):
424 mEmailClient = mClient->currentItem(); 429 mEmailClient = mClient->currentItem();
425 break; 430 break;
426 case(ExternalAppHandler::PHONE): 431 case(ExternalAppHandler::PHONE):
427 mPhoneClient= mClient->currentItem(); 432 mPhoneClient= mClient->currentItem();
428 break; 433 break;
429 case(ExternalAppHandler::SMS): 434 case(ExternalAppHandler::SMS):
430 mSMSClient = mClient->currentItem(); 435 mSMSClient = mClient->currentItem();
431 break; 436 break;
432 case(ExternalAppHandler::FAX): 437 case(ExternalAppHandler::FAX):
433 mFaxClient = mClient->currentItem(); 438 mFaxClient = mClient->currentItem();
434 break; 439 break;
435 case(ExternalAppHandler::PAGER): 440 case(ExternalAppHandler::PAGER):
436 mPagerClient = mClient->currentItem(); 441 mPagerClient = mClient->currentItem();
437 break; 442 break;
438 case(ExternalAppHandler::SIP): 443 case(ExternalAppHandler::SIP):
439 mSipClient = mClient->currentItem(); 444 mSipClient = mClient->currentItem();
440 break; 445 break;
441 default: 446 default:
442 return; 447 return;
443 } 448 }
444 449
445 //store the current data back to the apropriate membervariables if we had set it to "other" 450 //store the current data back to the apropriate membervariables if we had set it to "other"
446 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) 451 if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC))
447 { 452 {
448 mEmailOtherChannel = mChannel->text(); 453 mEmailOtherChannel = mChannel->text();
449 mEmailOtherMessage = mMessage->text(); 454 mEmailOtherMessage = mMessage->text();
450 mEmailOtherMessageParameters = mParameters->text(); 455 mEmailOtherMessageParameters = mParameters->text();
451 mEmailOtherMessage2 = mMessage2->text(); 456 mEmailOtherMessage2 = mMessage2->text();
452 mEmailOtherMessageParameters2 = mParameters2->text(); 457 mEmailOtherMessageParameters2 = mParameters2->text();
453 } 458 }
diff --git a/libkdepim/kpimglobalprefs.cpp b/libkdepim/kpimglobalprefs.cpp
index 5081b26..04e2072 100644
--- a/libkdepim/kpimglobalprefs.cpp
+++ b/libkdepim/kpimglobalprefs.cpp
@@ -1,138 +1,139 @@
1/* 1/*
2 This file is part of libkdepim. 2 This file is part of libkdepim.
3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31#include <kglobal.h> 31#include <kglobal.h>
32#include <kconfig.h> 32#include <kconfig.h>
33#include <klocale.h> 33#include <klocale.h>
34#include <kdebug.h> 34#include <kdebug.h>
35#include <kstaticdeleter.h> 35#include <kstaticdeleter.h>
36 36
37#include <qregexp.h> 37#include <qregexp.h>
38#include "kpimglobalprefs.h" 38#include "kpimglobalprefs.h"
39 39
40KPimGlobalPrefs *KPimGlobalPrefs::sInstance = 0; 40KPimGlobalPrefs *KPimGlobalPrefs::sInstance = 0;
41static KStaticDeleter<KPimGlobalPrefs> staticDeleter; 41static KStaticDeleter<KPimGlobalPrefs> staticDeleter;
42 42
43 43
44KPimGlobalPrefs::KPimGlobalPrefs( const QString &name ) 44KPimGlobalPrefs::KPimGlobalPrefs( const QString &name )
45 : KPrefs("microkdeglobalrc") 45 : KPrefs("microkdeglobalrc")
46{ 46{
47 47
48 KPrefs::setCurrentGroup("Locale"); 48 KPrefs::setCurrentGroup("Locale");
49 addItemInt("PreferredLanguage",&mPreferredLanguage,0); 49 addItemInt("PreferredLanguage",&mPreferredLanguage,0);
50 addItemInt("PreferredTime",&mPreferredTime,0); 50 addItemInt("PreferredTime",&mPreferredTime,0);
51 addItemInt("PreferredDate",&mPreferredDate,0); 51 addItemInt("PreferredDate",&mPreferredDate,0);
52 addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false); 52 addItemBool("WeekStartsOnSunday",&mWeekStartsOnSunday,false);
53 //addItemBool("QuickSavingWOUnicode",&mUseQuicksave,false); 53 //addItemBool("QuickSavingWOUnicode",&mUseQuicksave,false);
54 // addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 54 // addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
55 addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y"); 55 addItemString("UserDateFormatLong", &mUserDateFormatLong, "%A %d %b %y");
56 addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y"); 56 addItemString("UserDateFormatShort", &mUserDateFormatShort, "%aK %d.%m.%y");
57 57
58 KPrefs::setCurrentGroup("Time & Date"); 58 KPrefs::setCurrentGroup("Time & Date");
59 59
60 addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") ); 60 addItemString("TimeZoneName",&mTimeZoneId,i18n ("+01:00 Europe/Oslo(CET)") );
61 addItemBool("UseDaylightsaving",&mUseDaylightsaving,true); 61 addItemBool("UseDaylightsaving",&mUseDaylightsaving,true);
62 addItemBool("TimeZoneAdd30min",&mTimeZoneAdd30min,false);
62 addItemInt("DaylightsavingStart",&mDaylightsavingStart,90); 63 addItemInt("DaylightsavingStart",&mDaylightsavingStart,90);
63 addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304); 64 addItemInt("DaylightsavingEnd",&mDaylightsavingEnd,304);
64 65
65 KPrefs::setCurrentGroup( "ExternalApplications" ); 66 KPrefs::setCurrentGroup( "ExternalApplications" );
66 67
67 addItemInt( "EmailChannelType", &mEmailClient, OMPI_EMC ); 68 addItemInt( "EmailChannelType", &mEmailClient, OMPI_EMC );
68 addItemString( "EmailChannel", &mEmailOtherChannel, "" ); 69 addItemString( "EmailChannel", &mEmailOtherChannel, "" );
69 addItemString( "EmailChannelMessage", &mEmailOtherMessage, "" ); 70 addItemString( "EmailChannelMessage", &mEmailOtherMessage, "" );
70 addItemString( "EmailChannelParameters", &mEmailOtherMessageParameters, "" ); 71 addItemString( "EmailChannelParameters", &mEmailOtherMessageParameters, "" );
71 addItemString( "EmailChannelMessage2", &mEmailOtherMessage2, "" ); 72 addItemString( "EmailChannelMessage2", &mEmailOtherMessage2, "" );
72 addItemString( "EmailChannelParameters2", &mEmailOtherMessageParameters2, "" ); 73 addItemString( "EmailChannelParameters2", &mEmailOtherMessageParameters2, "" );
73 74
74 addItemInt( "PhoneChannelType", &mPhoneClient, KPPI_PHC ); 75 addItemInt( "PhoneChannelType", &mPhoneClient, KPPI_PHC );
75 addItemString( "PhoneChannel", &mPhoneOtherChannel, "" ); 76 addItemString( "PhoneChannel", &mPhoneOtherChannel, "" );
76 addItemString( "PhoneChannelMessage", &mPhoneOtherMessage, "" ); 77 addItemString( "PhoneChannelMessage", &mPhoneOtherMessage, "" );
77 addItemString( "PhoneChannelParameters", &mPhoneOtherMessageParameters, "" ); 78 addItemString( "PhoneChannelParameters", &mPhoneOtherMessageParameters, "" );
78 79
79 addItemInt( "FaxChannelType", &mFaxClient, NONE_FAC ); 80 addItemInt( "FaxChannelType", &mFaxClient, NONE_FAC );
80 addItemString( "FaxChannel", &mFaxOtherChannel, "" ); 81 addItemString( "FaxChannel", &mFaxOtherChannel, "" );
81 addItemString( "FaxChannelMessage", &mFaxOtherMessage, "" ); 82 addItemString( "FaxChannelMessage", &mFaxOtherMessage, "" );
82 addItemString( "FaxChannelParameters", &mFaxOtherMessageParameters, "" ); 83 addItemString( "FaxChannelParameters", &mFaxOtherMessageParameters, "" );
83 84
84 addItemInt( "SMSChannelType", &mSMSClient, NONE_SMC ); 85 addItemInt( "SMSChannelType", &mSMSClient, NONE_SMC );
85 addItemString( "SMSChannel", &mSMSOtherChannel, "" ); 86 addItemString( "SMSChannel", &mSMSOtherChannel, "" );
86 addItemString( "SMSChannelMessage", &mSMSOtherMessage, "" ); 87 addItemString( "SMSChannelMessage", &mSMSOtherMessage, "" );
87 addItemString( "SMSChannelParameters", &mSMSOtherMessageParameters, "" ); 88 addItemString( "SMSChannelParameters", &mSMSOtherMessageParameters, "" );
88 89
89 addItemInt( "PagerChannelType", &mPagerClient, NONE_PAC ); 90 addItemInt( "PagerChannelType", &mPagerClient, NONE_PAC );
90 addItemString( "PagerChannel", &mPagerOtherChannel, "" ); 91 addItemString( "PagerChannel", &mPagerOtherChannel, "" );
91 addItemString( "PagerChannelMessage", &mPagerOtherMessage, "" ); 92 addItemString( "PagerChannelMessage", &mPagerOtherMessage, "" );
92 addItemString( "PagerChannelParameters", &mPagerOtherMessageParameters, "" ); 93 addItemString( "PagerChannelParameters", &mPagerOtherMessageParameters, "" );
93 94
94 addItemInt( "SIPChannelType", &mSipClient, NONE_SIC ); 95 addItemInt( "SIPChannelType", &mSipClient, NONE_SIC );
95 addItemString( "SIPChannel", &mSipOtherChannel, "" ); 96 addItemString( "SIPChannel", &mSipOtherChannel, "" );
96 addItemString( "SIPChannelMessage", &mSipOtherMessage, "" ); 97 addItemString( "SIPChannelMessage", &mSipOtherMessage, "" );
97 addItemString( "SIPChannelParameters", &mSipOtherMessageParameters, "" ); 98 addItemString( "SIPChannelParameters", &mSipOtherMessageParameters, "" );
98 99
99 KPrefs::setCurrentGroup( "PhoneAccess" ); 100 KPrefs::setCurrentGroup( "PhoneAccess" );
100 addItemString("Ex2PhoneDevice",&mEx2PhoneDevice,"/dev/ircomm"); 101 addItemString("Ex2PhoneDevice",&mEx2PhoneDevice,"/dev/ircomm");
101 addItemString("Ex2PhoneConnection",&mEx2PhoneConnection,"irda"); 102 addItemString("Ex2PhoneConnection",&mEx2PhoneConnection,"irda");
102 addItemString("Ex2PhoneModel",&mEx2PhoneModel,"6310i"); 103 addItemString("Ex2PhoneModel",&mEx2PhoneModel,"6310i");
103 104
104} 105}
105 106
106 107
107void KPimGlobalPrefs::setGlobalConfig() 108void KPimGlobalPrefs::setGlobalConfig()
108{ 109{
109 110
110 KGlobal::locale()->setHore24Format( !mPreferredTime ); 111 KGlobal::locale()->setHore24Format( !mPreferredTime );
111 KGlobal::locale()->setWeekStartMonday( !mWeekStartsOnSunday ); 112 KGlobal::locale()->setWeekStartMonday( !mWeekStartsOnSunday );
112 KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)mPreferredDate ); 113 KGlobal::locale()->setIntDateFormat( (KLocale::IntDateFormat)mPreferredDate );
113 KGlobal::locale()->setLanguage( mPreferredLanguage ); 114 KGlobal::locale()->setLanguage( mPreferredLanguage );
114 QString dummy = mUserDateFormatLong; 115 QString dummy = mUserDateFormatLong;
115 KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") )); 116 KGlobal::locale()->setDateFormat(dummy.replace( QRegExp("K"), QString(",") ));
116 dummy = mUserDateFormatShort; 117 dummy = mUserDateFormatShort;
117 KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") )); 118 KGlobal::locale()->setDateFormatShort(dummy.replace( QRegExp("K"), QString(",") ));
118 KGlobal::locale()->setDaylightSaving( mUseDaylightsaving, 119 KGlobal::locale()->setDaylightSaving( mUseDaylightsaving,
119 mDaylightsavingStart, 120 mDaylightsavingStart,
120 mDaylightsavingEnd ); 121 mDaylightsavingEnd );
121 KGlobal::locale()->setTimezone( mTimeZoneId ); 122 KGlobal::locale()->setTimezone( mTimeZoneId, mTimeZoneAdd30min );
122 123
123} 124}
124KPimGlobalPrefs::~KPimGlobalPrefs() 125KPimGlobalPrefs::~KPimGlobalPrefs()
125{ 126{
126 //qDebug("KPimGlobalPrefs::~KPimGlobalPrefs() "); 127 //qDebug("KPimGlobalPrefs::~KPimGlobalPrefs() ");
127 writeConfig(); 128 writeConfig();
128} 129}
129 130
130KPimGlobalPrefs *KPimGlobalPrefs::instance() 131KPimGlobalPrefs *KPimGlobalPrefs::instance()
131{ 132{
132 if ( !sInstance ) { 133 if ( !sInstance ) {
133 sInstance = staticDeleter.setObject( new KPimGlobalPrefs() ); 134 sInstance = staticDeleter.setObject( new KPimGlobalPrefs() );
134 sInstance->readConfig(); 135 sInstance->readConfig();
135 } 136 }
136 137
137 return sInstance; 138 return sInstance;
138} 139}
diff --git a/libkdepim/kpimglobalprefs.h b/libkdepim/kpimglobalprefs.h
index f6b6628..7c55099 100644
--- a/libkdepim/kpimglobalprefs.h
+++ b/libkdepim/kpimglobalprefs.h
@@ -1,138 +1,139 @@
1/* 1/*
2 This file is part of libkdepim. 2 This file is part of libkdepim.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31#ifndef KPIMGLOBALPREFS_H 31#ifndef KPIMGLOBALPREFS_H
32#define KPIMGLOBALPREFS_H 32#define KPIMGLOBALPREFS_H
33 33
34#include "kprefs.h" 34#include "kprefs.h"
35 35
36class KPimGlobalPrefs : public KPrefs 36class KPimGlobalPrefs : public KPrefs
37{ 37{
38 public: 38 public:
39 39
40 void setGlobalConfig(); 40 void setGlobalConfig();
41 static KPimGlobalPrefs *instance(); 41 static KPimGlobalPrefs *instance();
42 42
43 43
44 virtual ~KPimGlobalPrefs(); 44 virtual ~KPimGlobalPrefs();
45 45
46 46
47 enum EMailClients { 47 enum EMailClients {
48 NONE_EMC = 0, 48 NONE_EMC = 0,
49 OTHER_EMC = 1, 49 OTHER_EMC = 1,
50 OMPI_EMC = 2, 50 OMPI_EMC = 2,
51 QTOPIA_EMC = 3, 51 QTOPIA_EMC = 3,
52 OPIE_EMC = 4 52 OPIE_EMC = 4
53 }; 53 };
54 54
55 enum PhoneClients { 55 enum PhoneClients {
56 NONE_PHC = 0, 56 NONE_PHC = 0,
57 OTHER_PHC = 1, 57 OTHER_PHC = 1,
58 KPPI_PHC = 2 58 KPPI_PHC = 2
59 }; 59 };
60 60
61 enum FaxClients { 61 enum FaxClients {
62 NONE_FAC = 0, 62 NONE_FAC = 0,
63 OTHER_FAC = 1 63 OTHER_FAC = 1
64 }; 64 };
65 65
66 enum SMSClients { 66 enum SMSClients {
67 NONE_SMC = 0, 67 NONE_SMC = 0,
68 OTHER_SMC = 1 68 OTHER_SMC = 1
69 }; 69 };
70 70
71 enum PagerClients { 71 enum PagerClients {
72 NONE_PAC = 0, 72 NONE_PAC = 0,
73 OTHER_PAC = 1 73 OTHER_PAC = 1
74 }; 74 };
75 75
76 enum SIPClients { 76 enum SIPClients {
77 NONE_SIC = 0, 77 NONE_SIC = 0,
78 OTHER_SIC = 1 78 OTHER_SIC = 1
79 }; 79 };
80 80
81 private: 81 private:
82 KPimGlobalPrefs( const QString &name = QString::null ); 82 KPimGlobalPrefs( const QString &name = QString::null );
83 83
84 static KPimGlobalPrefs *sInstance; 84 static KPimGlobalPrefs *sInstance;
85 85
86 86
87 public: 87 public:
88 //US I copied the following "locale" settings from KOPrefs 88 //US I copied the following "locale" settings from KOPrefs
89 int mPreferredDate; 89 int mPreferredDate;
90 QString mUserDateFormatLong; 90 QString mUserDateFormatLong;
91 QString mUserDateFormatShort; 91 QString mUserDateFormatShort;
92 int mPreferredLanguage; 92 int mPreferredLanguage;
93 int mPreferredTime; 93 int mPreferredTime;
94 bool mWeekStartsOnSunday; 94 bool mWeekStartsOnSunday;
95 QString mTimeZoneId; 95 QString mTimeZoneId;
96 bool mUseDaylightsaving; 96 bool mUseDaylightsaving;
97 int mDaylightsavingStart; 97 int mDaylightsavingStart;
98 int mDaylightsavingEnd; 98 int mDaylightsavingEnd;
99 bool mTimeZoneAdd30min;
99 100
100 int mEmailClient; 101 int mEmailClient;
101 QString mEmailOtherChannel; 102 QString mEmailOtherChannel;
102 QString mEmailOtherMessage; 103 QString mEmailOtherMessage;
103 QString mEmailOtherMessageParameters; 104 QString mEmailOtherMessageParameters;
104 QString mEmailOtherMessage2; 105 QString mEmailOtherMessage2;
105 QString mEmailOtherMessageParameters2; 106 QString mEmailOtherMessageParameters2;
106 107
107 int mPhoneClient; 108 int mPhoneClient;
108 QString mPhoneOtherChannel; 109 QString mPhoneOtherChannel;
109 QString mPhoneOtherMessage; 110 QString mPhoneOtherMessage;
110 QString mPhoneOtherMessageParameters; 111 QString mPhoneOtherMessageParameters;
111 112
112 int mFaxClient; 113 int mFaxClient;
113 QString mFaxOtherChannel; 114 QString mFaxOtherChannel;
114 QString mFaxOtherMessage; 115 QString mFaxOtherMessage;
115 QString mFaxOtherMessageParameters; 116 QString mFaxOtherMessageParameters;
116 117
117 int mSMSClient; 118 int mSMSClient;
118 QString mSMSOtherChannel; 119 QString mSMSOtherChannel;
119 QString mSMSOtherMessage; 120 QString mSMSOtherMessage;
120 QString mSMSOtherMessageParameters; 121 QString mSMSOtherMessageParameters;
121 122
122 int mPagerClient; 123 int mPagerClient;
123 QString mPagerOtherChannel; 124 QString mPagerOtherChannel;
124 QString mPagerOtherMessage; 125 QString mPagerOtherMessage;
125 QString mPagerOtherMessageParameters; 126 QString mPagerOtherMessageParameters;
126 127
127 int mSipClient; 128 int mSipClient;
128 QString mSipOtherChannel; 129 QString mSipOtherChannel;
129 QString mSipOtherMessage; 130 QString mSipOtherMessage;
130 QString mSipOtherMessageParameters; 131 QString mSipOtherMessageParameters;
131 132
132 QString mEx2PhoneDevice; 133 QString mEx2PhoneDevice;
133 QString mEx2PhoneConnection; 134 QString mEx2PhoneConnection;
134 QString mEx2PhoneModel; 135 QString mEx2PhoneModel;
135 136
136}; 137};
137 138
138#endif 139#endif
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp
index 27acfec..673d845 100644
--- a/microkde/kdecore/klocale.cpp
+++ b/microkde/kdecore/klocale.cpp
@@ -694,259 +694,261 @@ QString KLocale::monthName(int i,bool shortName) const
694 if ( shortName ) 694 if ( shortName )
695 switch ( i ) 695 switch ( i )
696 { 696 {
697 case 1: return i18n("January", "Jan"); 697 case 1: return i18n("January", "Jan");
698 case 2: return i18n("February", "Feb"); 698 case 2: return i18n("February", "Feb");
699 case 3: return i18n("March", "Mar"); 699 case 3: return i18n("March", "Mar");
700 case 4: return i18n("April", "Apr"); 700 case 4: return i18n("April", "Apr");
701 case 5: return i18n("May short", "May"); 701 case 5: return i18n("May short", "May");
702 case 6: return i18n("June", "Jun"); 702 case 6: return i18n("June", "Jun");
703 case 7: return i18n("July", "Jul"); 703 case 7: return i18n("July", "Jul");
704 case 8: return i18n("August", "Aug"); 704 case 8: return i18n("August", "Aug");
705 case 9: return i18n("September", "Sep"); 705 case 9: return i18n("September", "Sep");
706 case 10: return i18n("October", "Oct"); 706 case 10: return i18n("October", "Oct");
707 case 11: return i18n("November", "Nov"); 707 case 11: return i18n("November", "Nov");
708 case 12: return i18n("December", "Dec"); 708 case 12: return i18n("December", "Dec");
709 } 709 }
710 else 710 else
711 switch (i) 711 switch (i)
712 { 712 {
713 case 1: return i18n("January"); 713 case 1: return i18n("January");
714 case 2: return i18n("February"); 714 case 2: return i18n("February");
715 case 3: return i18n("March"); 715 case 3: return i18n("March");
716 case 4: return i18n("April"); 716 case 4: return i18n("April");
717 case 5: return i18n("May long", "May"); 717 case 5: return i18n("May long", "May");
718 case 6: return i18n("June"); 718 case 6: return i18n("June");
719 case 7: return i18n("July"); 719 case 7: return i18n("July");
720 case 8: return i18n("August"); 720 case 8: return i18n("August");
721 case 9: return i18n("September"); 721 case 9: return i18n("September");
722 case 10: return i18n("October"); 722 case 10: return i18n("October");
723 case 11: return i18n("November"); 723 case 11: return i18n("November");
724 case 12: return i18n("December"); 724 case 12: return i18n("December");
725 } 725 }
726 726
727 return QString::null; 727 return QString::null;
728} 728}
729 729
730QString KLocale::country() const 730QString KLocale::country() const
731{ 731{
732 return QString::null; 732 return QString::null;
733} 733}
734 734
735QString KLocale::dateFormat(IntDateFormat intIntDateFormat) const 735QString KLocale::dateFormat(IntDateFormat intIntDateFormat) const
736{ 736{
737 const IntDateFormat dformat = (intIntDateFormat == Undefined)?mIntDateFormat:intIntDateFormat; 737 const IntDateFormat dformat = (intIntDateFormat == Undefined)?mIntDateFormat:intIntDateFormat;
738 738
739 if ( dformat == ISODate ) 739 if ( dformat == ISODate )
740 return "%Y-%m-%d"; 740 return "%Y-%m-%d";
741 741
742 if ( QApplication::desktop()->width() < 480 ) { 742 if ( QApplication::desktop()->width() < 480 ) {
743 if ( dformat == Default ) 743 if ( dformat == Default )
744 return "%a %d %b %Y"; 744 return "%a %d %b %Y";
745 else if ( dformat == Format1 ) 745 else if ( dformat == Format1 )
746 return "%a %b %d %Y"; 746 return "%a %b %d %Y";
747 } else { 747 } else {
748 if ( dformat == Default ) 748 if ( dformat == Default )
749 return "%A %d %B %Y"; 749 return "%A %d %B %Y";
750 else if ( dformat == Format1 ) 750 else if ( dformat == Format1 )
751 return "%A %B %d %Y"; 751 return "%A %B %d %Y";
752 752
753 } 753 }
754 return mDateFormat ; 754 return mDateFormat ;
755} 755}
756 756
757QString KLocale::dateFormatShort(IntDateFormat intIntDateFormat) const 757QString KLocale::dateFormatShort(IntDateFormat intIntDateFormat) const
758{ 758{
759 const IntDateFormat dformat = (intIntDateFormat == Undefined)?mIntDateFormat:intIntDateFormat; 759 const IntDateFormat dformat = (intIntDateFormat == Undefined)?mIntDateFormat:intIntDateFormat;
760 760
761 if ( dformat == Default ) 761 if ( dformat == Default )
762 return "%d.%m.%Y"; 762 return "%d.%m.%Y";
763 else if ( dformat == Format1 ) 763 else if ( dformat == Format1 )
764 return "%m.%d.%Y"; 764 return "%m.%d.%Y";
765 else if ( dformat == ISODate ) // = Qt::ISODate 765 else if ( dformat == ISODate ) // = Qt::ISODate
766 return "%Y-%m-%d"; 766 return "%Y-%m-%d";
767 return mDateFormatShort ; 767 return mDateFormatShort ;
768 768
769} 769}
770 770
771 771
772QString KLocale::timeFormat(IntDateFormat intIntTimeFormat) const 772QString KLocale::timeFormat(IntDateFormat intIntTimeFormat) const
773{ 773{
774 const IntDateFormat tformat = (intIntTimeFormat == Undefined)?mIntTimeFormat:intIntTimeFormat; 774 const IntDateFormat tformat = (intIntTimeFormat == Undefined)?mIntTimeFormat:intIntTimeFormat;
775 775
776 if ( tformat == Default ) 776 if ( tformat == Default )
777 if ( mHourF24Format) 777 if ( mHourF24Format)
778 return "%H:%M:%S"; 778 return "%H:%M:%S";
779 else 779 else
780 return "%I:%M:%S%p"; 780 return "%I:%M:%S%p";
781 781
782 else if ( tformat == Format1 ) 782 else if ( tformat == Format1 )
783 if ( mHourF24Format) 783 if ( mHourF24Format)
784 return "%H:%M:%S"; 784 return "%H:%M:%S";
785 else 785 else
786 return "%I:%M:%S%p"; 786 return "%I:%M:%S%p";
787 787
788 else if ( tformat == ISODate ) // = Qt::ISODate 788 else if ( tformat == ISODate ) // = Qt::ISODate
789 if ( mHourF24Format) 789 if ( mHourF24Format)
790 return "%H:%M:%S"; 790 return "%H:%M:%S";
791 else 791 else
792 return "%I:%M:%S%p"; 792 return "%I:%M:%S%p";
793 793
794} 794}
795 795
796void KLocale::insertCatalogue ( const QString & ) 796void KLocale::insertCatalogue ( const QString & )
797{ 797{
798} 798}
799 799
800KCalendarSystem *KLocale::calendar() 800KCalendarSystem *KLocale::calendar()
801{ 801{
802 if ( !mCalendarSystem ) { 802 if ( !mCalendarSystem ) {
803 mCalendarSystem = new KCalendarSystemGregorian; 803 mCalendarSystem = new KCalendarSystemGregorian;
804 } 804 }
805 805
806 return mCalendarSystem; 806 return mCalendarSystem;
807} 807}
808 808
809int KLocale::timezoneOffset( QString timeZone ) 809int KLocale::timezoneOffset( QString timeZone )
810{ 810{
811 int ret = 1001; 811 int ret = 1001;
812 int index = mTimeZoneList.findIndex( timeZone ); 812 int index = mTimeZoneList.findIndex( timeZone );
813 if ( index < 24 ) 813 if ( index < 24 )
814 ret = ( index-11 ) * 60 ; 814 ret = ( index-11 ) * 60 ;
815 return ret; 815 return ret;
816} 816}
817 817
818QStringList KLocale::timeZoneList() const 818QStringList KLocale::timeZoneList() const
819{ 819{
820 return mTimeZoneList; 820 return mTimeZoneList;
821} 821}
822void KLocale::setTimezone( const QString &timeZone ) 822void KLocale::setTimezone( const QString &timeZone, bool oddTZ )
823{ 823{
824 mTimeZoneOffset = timezoneOffset( timeZone ); 824 mTimeZoneOffset = timezoneOffset( timeZone );
825 if ( oddTZ )
826 mTimeZoneOffset += 30;
825} 827}
826 828
827void KLocale::setDaylightSaving( bool b, int start , int end ) 829void KLocale::setDaylightSaving( bool b, int start , int end )
828{ 830{
829 daylightEnabled = b; 831 daylightEnabled = b;
830 daylightStart = start; 832 daylightStart = start;
831 daylightEnd = end; 833 daylightEnd = end;
832 mSouthDaylight = (end < start); 834 mSouthDaylight = (end < start);
833 // qDebug("klocale daylight %d %d %d ", b, start , end ); 835 // qDebug("klocale daylight %d %d %d ", b, start , end );
834} 836}
835 837
836int KLocale::localTimeOffset( const QDateTime &dt ) 838int KLocale::localTimeOffset( const QDateTime &dt )
837{ 839{
838 bool addDaylight = false; 840 bool addDaylight = false;
839 if ( daylightEnabled ) { 841 if ( daylightEnabled ) {
840 int d_end, d_start; 842 int d_end, d_start;
841 int dayofyear = dt.date().dayOfYear(); 843 int dayofyear = dt.date().dayOfYear();
842 int year = dt.date().year(); 844 int year = dt.date().year();
843 int add = 0; 845 int add = 0;
844 if ( QDate::leapYear(year) ) 846 if ( QDate::leapYear(year) )
845 add = 1; 847 add = 1;
846 QDate date ( year,1,1 ); 848 QDate date ( year,1,1 );
847 if ( daylightEnd > 59 ) 849 if ( daylightEnd > 59 )
848 d_end = daylightEnd +add; 850 d_end = daylightEnd +add;
849 else 851 else
850 d_end = daylightEnd; 852 d_end = daylightEnd;
851 if ( daylightStart > 59 ) 853 if ( daylightStart > 59 )
852 d_start = daylightStart +add; 854 d_start = daylightStart +add;
853 else 855 else
854 d_start = daylightStart; 856 d_start = daylightStart;
855 QDate s_date = date.addDays( d_start -1 ); 857 QDate s_date = date.addDays( d_start -1 );
856 QDate e_date = date.addDays( d_end -1 ); 858 QDate e_date = date.addDays( d_end -1 );
857 int dof = s_date.dayOfWeek(); 859 int dof = s_date.dayOfWeek();
858 if ( dof < 7 ) 860 if ( dof < 7 )
859 s_date = s_date.addDays( -dof ); 861 s_date = s_date.addDays( -dof );
860 dof = e_date.dayOfWeek(); 862 dof = e_date.dayOfWeek();
861 if ( dof < 7 ) 863 if ( dof < 7 )
862 e_date = e_date.addDays( -dof ); 864 e_date = e_date.addDays( -dof );
863 QTime startTime ( 3,0,0 ); 865 QTime startTime ( 3,0,0 );
864 QDateTime startDt( s_date, startTime ); 866 QDateTime startDt( s_date, startTime );
865 QDateTime endDt( e_date, startTime ); 867 QDateTime endDt( e_date, startTime );
866 //qDebug("dayligt saving start %s end %s ",startDt.toString().latin1(),endDt.toString().latin1( )); 868 //qDebug("dayligt saving start %s end %s ",startDt.toString().latin1(),endDt.toString().latin1( ));
867 if ( mSouthDaylight ) { 869 if ( mSouthDaylight ) {
868 if ( ! ( endDt < dt && dt < startDt) ) 870 if ( ! ( endDt < dt && dt < startDt) )
869 addDaylight = true; 871 addDaylight = true;
870 } else { 872 } else {
871 if ( startDt < dt && dt < endDt ) 873 if ( startDt < dt && dt < endDt )
872 addDaylight = true; 874 addDaylight = true;
873 875
874 876
875 } 877 }
876 } 878 }
877 int addMin = 0; 879 int addMin = 0;
878 if ( addDaylight ) 880 if ( addDaylight )
879 addMin = 60; 881 addMin = 60;
880 return mTimeZoneOffset + addMin; 882 return mTimeZoneOffset + addMin;
881} 883}
882// ****************************************************************** 884// ******************************************************************
883// added LR 885// added LR
884QString KLocale::formatNumber(double num, int precision) const 886QString KLocale::formatNumber(double num, int precision) const
885{ 887{
886 bool neg = num < 0; 888 bool neg = num < 0;
887 if (precision == -1) precision = 2; 889 if (precision == -1) precision = 2;
888 QString res = QString::number(neg?-num:num, 'f', precision); 890 QString res = QString::number(neg?-num:num, 'f', precision);
889 int pos = res.find('.'); 891 int pos = res.find('.');
890 if (pos == -1) pos = res.length(); 892 if (pos == -1) pos = res.length();
891 else res.replace(pos, 1, decimalSymbol()); 893 else res.replace(pos, 1, decimalSymbol());
892 894
893 while (0 < (pos -= 3)) 895 while (0 < (pos -= 3))
894 res.insert(pos, thousandsSeparator()); // thousand sep 896 res.insert(pos, thousandsSeparator()); // thousand sep
895 897
896 // How can we know where we should put the sign? 898 // How can we know where we should put the sign?
897 res.prepend(neg?negativeSign():positiveSign()); 899 res.prepend(neg?negativeSign():positiveSign());
898 900
899 return res; 901 return res;
900} 902}
901QString KLocale::formatNumber(const QString &numStr) const 903QString KLocale::formatNumber(const QString &numStr) const
902{ 904{
903 return formatNumber(numStr.toDouble()); 905 return formatNumber(numStr.toDouble());
904} 906}
905double KLocale::readNumber(const QString &_str, bool * ok) const 907double KLocale::readNumber(const QString &_str, bool * ok) const
906{ 908{
907 QString str = _str.stripWhiteSpace(); 909 QString str = _str.stripWhiteSpace();
908 bool neg = str.find(negativeSign()) == 0; 910 bool neg = str.find(negativeSign()) == 0;
909 if (neg) 911 if (neg)
910 str.remove( 0, negativeSign().length() ); 912 str.remove( 0, negativeSign().length() );
911 913
912 /* will hold the scientific notation portion of the number. 914 /* will hold the scientific notation portion of the number.
913 Example, with 2.34E+23, exponentialPart == "E+23" 915 Example, with 2.34E+23, exponentialPart == "E+23"
914 */ 916 */
915 QString exponentialPart; 917 QString exponentialPart;
916 int EPos; 918 int EPos;
917 919
918 EPos = str.find('E', 0, false); 920 EPos = str.find('E', 0, false);
919 921
920 if (EPos != -1) 922 if (EPos != -1)
921 { 923 {
922 exponentialPart = str.mid(EPos); 924 exponentialPart = str.mid(EPos);
923 str = str.left(EPos); 925 str = str.left(EPos);
924 } 926 }
925 927
926 int pos = str.find(decimalSymbol()); 928 int pos = str.find(decimalSymbol());
927 QString major; 929 QString major;
928 QString minor; 930 QString minor;
929 if ( pos == -1 ) 931 if ( pos == -1 )
930 major = str; 932 major = str;
931 else 933 else
932 { 934 {
933 major = str.left(pos); 935 major = str.left(pos);
934 minor = str.mid(pos + decimalSymbol().length()); 936 minor = str.mid(pos + decimalSymbol().length());
935 } 937 }
936 938
937 // Remove thousand separators 939 // Remove thousand separators
938 int thlen = thousandsSeparator().length(); 940 int thlen = thousandsSeparator().length();
939 int lastpos = 0; 941 int lastpos = 0;
940 while ( ( pos = major.find( thousandsSeparator() ) ) > 0 ) 942 while ( ( pos = major.find( thousandsSeparator() ) ) > 0 )
941 { 943 {
942 // e.g. 12,,345,,678,,922 Acceptable positions (from the end) are 5, 10, 15... i.e. (3+thlen)*N 944 // e.g. 12,,345,,678,,922 Acceptable positions (from the end) are 5, 10, 15... i.e. (3+thlen)*N
943 int fromEnd = major.length() - pos; 945 int fromEnd = major.length() - pos;
944 if ( fromEnd % (3+thlen) != 0 // Needs to be a multiple, otherwise it's an error 946 if ( fromEnd % (3+thlen) != 0 // Needs to be a multiple, otherwise it's an error
945 || pos - lastpos > 3 // More than 3 digits between two separators -> error 947 || pos - lastpos > 3 // More than 3 digits between two separators -> error
946 || pos == 0 // Can't start with a separator 948 || pos == 0 // Can't start with a separator
947 || (lastpos>0 && pos-lastpos!=3)) // Must have exactly 3 digits between two separators 949 || (lastpos>0 && pos-lastpos!=3)) // Must have exactly 3 digits between two separators
948 { 950 {
949 if (ok) *ok = false; 951 if (ok) *ok = false;
950 return 0.0; 952 return 0.0;
951 } 953 }
952 954
diff --git a/microkde/kdecore/klocale.h b/microkde/kdecore/klocale.h
index 5783530..be9442c 100644
--- a/microkde/kdecore/klocale.h
+++ b/microkde/kdecore/klocale.h
@@ -1,118 +1,118 @@
1#ifndef MINIKDE_KLOCALE_H 1#ifndef MINIKDE_KLOCALE_H
2#define MINIKDE_KLOCALE_H 2#define MINIKDE_KLOCALE_H
3 3
4#include <qstring.h> 4#include <qstring.h>
5#include <qstringlist.h> 5#include <qstringlist.h>
6#include <qdatetime.h> 6#include <qdatetime.h>
7#include <qdict.h> 7#include <qdict.h>
8 8
9#ifndef I18N_NOOP 9#ifndef I18N_NOOP
10#define I18N_NOOP(x) (x) 10#define I18N_NOOP(x) (x)
11#endif 11#endif
12 12
13class KCalendarSystem; 13class KCalendarSystem;
14void setLocaleDict( QDict<QString> * dict ); 14void setLocaleDict( QDict<QString> * dict );
15QString i18n(const char *text); 15QString i18n(const char *text);
16QString i18n(const char *hint, const char *text); 16QString i18n(const char *hint, const char *text);
17QString i18n(const char *text1, const char *textn, int num); 17QString i18n(const char *text1, const char *textn, int num);
18 18
19// Qt3's uic generates i18n( "msg", "comment" ) calls which conflict 19// Qt3's uic generates i18n( "msg", "comment" ) calls which conflict
20// with our i18n method. we use uic -tr tr2i18n to redirect 20// with our i18n method. we use uic -tr tr2i18n to redirect
21// to the right i18n() function 21// to the right i18n() function
22inline QString tr2i18n(const char* message, const char* =0) { 22inline QString tr2i18n(const char* message, const char* =0) {
23 return i18n( message); 23 return i18n( message);
24} 24}
25 25
26class KLocale 26class KLocale
27{ 27{
28 public: 28 public:
29 KLocale(); 29 KLocale();
30 30
31 QString formatNumber(double num, int precision = -1) const; 31 QString formatNumber(double num, int precision = -1) const;
32 QString formatNumber(const QString &numStr) const; 32 QString formatNumber(const QString &numStr) const;
33 double readNumber(const QString &numStr, bool * ok = 0) const; 33 double readNumber(const QString &numStr, bool * ok = 0) const;
34 34
35 QString decimalSymbol() const; 35 QString decimalSymbol() const;
36 QString thousandsSeparator() const; 36 QString thousandsSeparator() const;
37 QString positiveSign() const; 37 QString positiveSign() const;
38 QString negativeSign() const; 38 QString negativeSign() const;
39 39
40 40
41 QString translate( const char *index ) const; 41 QString translate( const char *index ) const;
42 QString translate( const char *index, const char *fallback) const; 42 QString translate( const char *index, const char *fallback) const;
43 43
44 enum IntDateFormat { Undefined=-1, Default=0, Format1=1, ISODate=2, Userdefined=3 }; 44 enum IntDateFormat { Undefined=-1, Default=0, Format1=1, ISODate=2, Userdefined=3 };
45 45
46 QString formatDate(const QDate &pDate, bool shortFormat = false, IntDateFormat intIntDateFormat = Undefined) const; 46 QString formatDate(const QDate &pDate, bool shortFormat = false, IntDateFormat intIntDateFormat = Undefined) const;
47 QString formatTime(const QTime &pTime, bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const; 47 QString formatTime(const QTime &pTime, bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const;
48 QString formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat = Undefined) const; 48 QString formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat = Undefined) const;
49 QString formatDateTime(const QDateTime &pDateTime, 49 QString formatDateTime(const QDateTime &pDateTime,
50 bool shortFormat, 50 bool shortFormat,
51 bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const; 51 bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const;
52 52
53 QDate readDate(const QString &str, bool* ok = 0) const; 53 QDate readDate(const QString &str, bool* ok = 0) const;
54 QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const; 54 QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const;
55 QTime readTime(const QString &str, bool* ok = 0) const; 55 QTime readTime(const QString &str, bool* ok = 0) const;
56 QDate readDate(const QString &intstr, IntDateFormat intIntDateFormat, bool* ok) const; 56 QDate readDate(const QString &intstr, IntDateFormat intIntDateFormat, bool* ok) const;
57 57
58 QDateTime readDateTime(const QString &intstr, IntDateFormat intIntDateFormat, bool* ok) const; 58 QDateTime readDateTime(const QString &intstr, IntDateFormat intIntDateFormat, bool* ok) const;
59 59
60 bool use12Clock() const; 60 bool use12Clock() const;
61 bool weekStartsMonday() const; 61 bool weekStartsMonday() const;
62 int weekStartDay() const; 62 int weekStartDay() const;
63 63
64 QString weekDayName(int,bool=false) const; 64 QString weekDayName(int,bool=false) const;
65 QString monthName(int,bool=false) const; 65 QString monthName(int,bool=false) const;
66 66
67 QString country() const; 67 QString country() const;
68 68
69 QString dateFormat(IntDateFormat intIntDateFormat = Undefined) const; 69 QString dateFormat(IntDateFormat intIntDateFormat = Undefined) const;
70 QString dateFormatShort(IntDateFormat intIntDateFormat = Undefined) const; 70 QString dateFormatShort(IntDateFormat intIntDateFormat = Undefined) const;
71 QString timeFormat(IntDateFormat intIntDateFormat = Undefined) const; 71 QString timeFormat(IntDateFormat intIntDateFormat = Undefined) const;
72 72
73 void insertCatalogue ( const QString & ); 73 void insertCatalogue ( const QString & );
74 74
75 KCalendarSystem *calendar(); 75 KCalendarSystem *calendar();
76 void setHore24Format ( bool ); 76 void setHore24Format ( bool );
77 void setWeekStartMonday( bool ); 77 void setWeekStartMonday( bool );
78 void setIntDateFormat( IntDateFormat ); 78 void setIntDateFormat( IntDateFormat );
79 void setIntTimeFormat( IntDateFormat ); 79 void setIntTimeFormat( IntDateFormat );
80 IntDateFormat getIntDateFormat( ); 80 IntDateFormat getIntDateFormat( );
81 IntDateFormat getIntTimeFormat( ); 81 IntDateFormat getIntTimeFormat( );
82 void setLanguage( int ); 82 void setLanguage( int );
83 void setDateFormat( QString ); 83 void setDateFormat( QString );
84 void setDateFormatShort( QString ); 84 void setDateFormatShort( QString );
85 85
86 QString m_decimalSymbol; 86 QString m_decimalSymbol;
87 QString m_thousandsSeparator; 87 QString m_thousandsSeparator;
88 QString m_currencySymbol; 88 QString m_currencySymbol;
89 QString m_monetaryDecimalSymbol; 89 QString m_monetaryDecimalSymbol;
90 QString m_monetaryThousandsSeparator; 90 QString m_monetaryThousandsSeparator;
91 QString m_positiveSign; 91 QString m_positiveSign;
92 QString m_negativeSign; 92 QString m_negativeSign;
93 93
94 int timezoneOffset( QString ); 94 int timezoneOffset( QString );
95 QStringList timeZoneList() const; 95 QStringList timeZoneList() const;
96 void setDaylightSaving( bool, int , int ); 96 void setDaylightSaving( bool, int , int );
97 int localTimeOffset(const QDateTime &); 97 int localTimeOffset(const QDateTime &);
98 void setTimezone( const QString &timeZone ); 98 void setTimezone( const QString &timeZone , bool oddTZ);
99 private: 99 private:
100 QTime readTime(const QString &str, bool seconds, bool *ok) const; 100 QTime readTime(const QString &str, bool seconds, bool *ok) const;
101 QDate readDate(const QString &str, bool shortFormat, bool *ok) const; 101 QDate readDate(const QString &str, bool shortFormat, bool *ok) const;
102 KCalendarSystem *mCalendarSystem; 102 KCalendarSystem *mCalendarSystem;
103 bool mWeekStartsMonday; 103 bool mWeekStartsMonday;
104 bool mHourF24Format; 104 bool mHourF24Format;
105 IntDateFormat mIntDateFormat; 105 IntDateFormat mIntDateFormat;
106 IntDateFormat mIntTimeFormat; 106 IntDateFormat mIntTimeFormat;
107 int mLanguage; 107 int mLanguage;
108 QString mDateFormat; 108 QString mDateFormat;
109 QString mDateFormatShort; 109 QString mDateFormatShort;
110 QStringList mTimeZoneList; 110 QStringList mTimeZoneList;
111 bool daylightEnabled; 111 bool daylightEnabled;
112 int mDaylightTZoffset; 112 int mDaylightTZoffset;
113 int mNondaylightTZoffset; 113 int mNondaylightTZoffset;
114 bool mSouthDaylight; 114 bool mSouthDaylight;
115 int daylightStart, daylightEnd, mTimeZoneOffset; 115 int daylightStart, daylightEnd, mTimeZoneOffset;
116}; 116};
117 117
118#endif 118#endif