summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/klocale.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp
index 8b4513e..27acfec 100644
--- a/microkde/kdecore/klocale.cpp
+++ b/microkde/kdecore/klocale.cpp
@@ -326,34 +326,38 @@ QString KLocale::formatDate(const QDate &pDate, bool shortFormat, IntDateFormat
326} 326}
327 327
328QString KLocale::formatDateTime(const QDateTime &pDateTime, 328QString KLocale::formatDateTime(const QDateTime &pDateTime,
329 bool shortFormat, 329 bool shortFormat,
330 bool includeSeconds, 330 bool includeSeconds,
331 IntDateFormat intIntDateFormat) const 331 IntDateFormat intIntDateFormat) const
332{ 332{
333 QString format("%1 %2"); 333 QString format("%1 %2");
334 334
335 if ( intIntDateFormat == Default ) 335 if ( intIntDateFormat == Default )
336 format = "%1 %2"; 336 format = "%1 %2";
337 else if ( intIntDateFormat == Format1 ) 337 else if ( intIntDateFormat == Format1 )
338 format = "%1 %2"; 338 format = "%1 %2";
339 else if ( intIntDateFormat == ISODate ) 339 else if ( intIntDateFormat == ISODate )
340 format = "%1T%2"; 340 format = "%1T%2";
341 341
342 return format.arg(formatDate( pDateTime.date(), shortFormat, intIntDateFormat )) 342 QString res = format.arg(formatDate( pDateTime.date(), shortFormat, intIntDateFormat ))
343 .arg(formatTime( pDateTime.time(), includeSeconds , intIntDateFormat )); 343 .arg(formatTime( pDateTime.time(), includeSeconds , intIntDateFormat ));
344
345 //qDebug("KLocale::formatDateTime transformed %s, into %s", pDateTime.toString().latin1(), res.latin1() );
346
347 return res;
344} 348}
345 349
346QString KLocale::formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat) const 350QString KLocale::formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat) const
347{ 351{
348 return formatDateTime(pDateTime, true, true, intIntDateFormat); 352 return formatDateTime(pDateTime, true, true, intIntDateFormat);
349} 353}
350 354
351QDate KLocale::readDate(const QString &intstr, bool* ok) const 355QDate KLocale::readDate(const QString &intstr, bool* ok) const
352{ 356{
353 QDate date; 357 QDate date;
354 date = readDate(intstr, true, ok); 358 date = readDate(intstr, true, ok);
355 if (date.isValid()) return date; 359 if (date.isValid()) return date;
356 return readDate(intstr, false, ok); 360 return readDate(intstr, false, ok);
357} 361}
358 362
359QDate KLocale::readDate(const QString &intstr, bool shortFormat, bool* ok) const 363QDate KLocale::readDate(const QString &intstr, bool shortFormat, bool* ok) const
@@ -588,44 +592,50 @@ QDateTime KLocale::readDateTime(const QString &intstr,
588 if ( intIntDateFormat != ISODate ) 592 if ( intIntDateFormat != ISODate )
589 { 593 {
590 qDebug("KLocale::readDateTime, only ISODate is supported."); 594 qDebug("KLocale::readDateTime, only ISODate is supported.");
591 return QDateTime(); 595 return QDateTime();
592 } 596 }
593 597
594 int pos = intstr.find("T"); 598 int pos = intstr.find("T");
595 QString date = intstr.left(pos); 599 QString date = intstr.left(pos);
596 QString time = intstr.mid(pos+1); 600 QString time = intstr.mid(pos+1);
597 601
598 QString dformat = dateFormat(intIntDateFormat); 602 QString dformat = dateFormat(intIntDateFormat);
599 QString tformat = timeFormat(intIntDateFormat); 603 QString tformat = timeFormat(intIntDateFormat);
600 604
601 QDate m_date = readDate(date, dformat, &ok1); 605 QDate m_date = readDate(date, dformat, &ok1);
602 QTime m_time = readTime(time, tformat, &ok2); 606 QTime m_time = readTime(time, tformat, &ok2);
603 607
608 QDateTime m_dt;
609
604 if (ok) 610 if (ok)
605 { 611 {
606 if ((ok1 == false) || (ok2 == false)) 612 if ((ok1 == false) || (ok2 == false))
607 *ok = false; 613 *ok = false;
608 else 614 else
609 *ok = true; 615 *ok = true;
610 } 616 }
611 QDateTime m_dt;
612 m_dt.setDate(m_date);
613 m_dt.setTime(m_time);
614 617
615 qDebug("KLocale::readDateTime() transformed %s into %s (%s), %s (%s) : err1=%i, err2=%i", intstr.latin1(), date.latin1(), dformat.latin1(), time.latin1(), tformat.latin1(), ok1, ok2); 618 //only set values if both operations returned true.
619 if ((ok1 == true) && (ok2 == true))
620 {
621 m_dt.setDate(m_date);
622 m_dt.setTime(m_time);
623 }
624
625 //qDebug("KLocale::readDateTime() transformed %s into %s (%s), %s (%s) : err1=%i, err2=%i", intstr.latin1(), date.latin1(), dformat.latin1(), time.latin1(), tformat.latin1(), ok1, ok2);
616 return m_dt; 626 return m_dt;
617} 627}
618 628
619QDate KLocale::readDate(const QString &intstr, 629QDate KLocale::readDate(const QString &intstr,
620 IntDateFormat intIntDateFormat, 630 IntDateFormat intIntDateFormat,
621 bool* ok) const 631 bool* ok) const
622{ 632{
623 bool ok1; 633 bool ok1;
624 634
625 QString dformat = dateFormat(intIntDateFormat); 635 QString dformat = dateFormat(intIntDateFormat);
626 636
627 QDate m_date = readDate(intstr, dformat, &ok1); 637 QDate m_date = readDate(intstr, dformat, &ok1);
628 638
629 if (ok) 639 if (ok)
630 *ok = ok1; 640 *ok = ok1;
631 641