-rw-r--r-- | microkde/kdecore/klocale.cpp | 51 | ||||
-rw-r--r-- | microkde/kdecore/klocale.h | 11 |
2 files changed, 48 insertions, 14 deletions
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp index 9d7e60b..4960b9a 100644 --- a/microkde/kdecore/klocale.cpp +++ b/microkde/kdecore/klocale.cpp @@ -87,6 +87,7 @@ KLocale::KLocale() : mCalendarSystem( 0 ) mWeekStartsMonday = true; mHourF24Format = true; mIntDateFormat = Default; + mIntTimeFormat = Default; mLanguage = 0; mDateFormat = "%a %Y %b %d"; mDateFormatShort = "%Y-%m-%d"; @@ -139,6 +140,7 @@ void KLocale::setWeekStartMonday( bool b ) { mWeekStartsMonday = b; } + KLocale::IntDateFormat KLocale::getIntDateFormat( ) { return mIntDateFormat; @@ -148,6 +150,16 @@ void KLocale::setIntDateFormat( KLocale::IntDateFormat i ) { mIntDateFormat = i; } +KLocale::IntDateFormat KLocale::getIntTimeFormat( ) +{ + return mIntTimeFormat; + +} +void KLocale::setIntTimeFormat( KLocale::IntDateFormat i ) +{ + mIntTimeFormat = i; +} + void KLocale::setLanguage( int i ) { mLanguage = i; @@ -162,9 +174,9 @@ QString KLocale::translate( const char *, const char *fallback) const return i18n( fallback ); } -QString KLocale::formatTime(const QTime &pTime, bool includeSecs) const +QString KLocale::formatTime(const QTime &pTime, bool includeSecs, IntDateFormat intIntDateFormat) const { - const QString rst = timeFormat(); + const QString rst = timeFormat(intIntDateFormat); // only "pm/am" here can grow, the rest shrinks, but // I'm rather safe than sorry @@ -315,16 +327,17 @@ QString KLocale::formatDate(const QDate &pDate, bool shortFormat, IntDateFormat QString KLocale::formatDateTime(const QDateTime &pDateTime, bool shortFormat, - bool includeSeconds) const + bool includeSeconds, + IntDateFormat intIntDateFormat) const { return QString( "%1 %2") - .arg( formatDate( pDateTime.date(), shortFormat ) ) - .arg( formatTime( pDateTime.time(), includeSeconds ) ); + .arg( formatDate( pDateTime.date(), shortFormat, intIntDateFormat ) ) + .arg( formatTime( pDateTime.time(), includeSeconds , intIntDateFormat ) ); } -QString KLocale::formatDateTime(const QDateTime &pDateTime) const +QString KLocale::formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat) const { - return formatDateTime(pDateTime, true); + return formatDateTime(pDateTime, true, intIntDateFormat); } QDate KLocale::readDate(const QString &intstr, bool* ok) const @@ -456,6 +469,7 @@ QTime KLocale::readTime(const QString &intstr, bool seconds, bool *ok) const Format.replace(QRegExp(QString::fromLatin1(".%S")), QString::null); int hour = -1, minute = -1, second = seconds ? -1 : 0; // don't require seconds + bool g_12h = false; bool pm = false; uint strpos = 0; @@ -682,11 +696,28 @@ QString KLocale::dateFormatShort(IntDateFormat intIntDateFormat) const } -QString KLocale::timeFormat() const +QString KLocale::timeFormat(IntDateFormat intIntTimeFormat) const { - if ( mHourF24Format) + const IntDateFormat tformat = (intIntTimeFormat == Undefined)?mIntTimeFormat:intIntTimeFormat; + + if ( tformat == Default ) + if ( mHourF24Format) + return "%H:%M:%S"; + else + return "%I:%M:%S%p"; + + else if ( tformat == Format1 ) + if ( mHourF24Format) + return "%H:%M:%S"; + else + return "%I:%M:%S%p"; + + else if ( tformat == ISODate ) // = Qt::ISODate + if ( mHourF24Format) return "%H:%M:%S"; - return "%I:%M:%S%p"; + else + return "%I:%M:%S%p"; + } void KLocale::insertCatalogue ( const QString & ) diff --git a/microkde/kdecore/klocale.h b/microkde/kdecore/klocale.h index f6c0253..153b12a 100644 --- a/microkde/kdecore/klocale.h +++ b/microkde/kdecore/klocale.h @@ -44,11 +44,11 @@ class KLocale enum IntDateFormat { Undefined=-1, Default=0, Format1=1, ISODate=2, Userdefined=3 }; QString formatDate(const QDate &pDate, bool shortFormat = false, IntDateFormat intIntDateFormat = Undefined) const; - QString formatTime(const QTime &pTime, bool includeSecs = false) const; - QString formatDateTime(const QDateTime &pDateTime) const; + QString formatTime(const QTime &pTime, bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const; + QString formatDateTime(const QDateTime &pDateTime, IntDateFormat intIntDateFormat = Undefined) const; QString formatDateTime(const QDateTime &pDateTime, bool shortFormat, - bool includeSecs = false) const; + bool includeSecs = false, IntDateFormat intIntDateFormat = Undefined) const; QDate readDate(const QString &str, bool* ok = 0) const; QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const; @@ -65,7 +65,7 @@ class KLocale QString dateFormat(IntDateFormat intIntDateFormat = Undefined) const; QString dateFormatShort(IntDateFormat intIntDateFormat = Undefined) const; - QString timeFormat() const; + QString timeFormat(IntDateFormat intIntDateFormat = Undefined) const; void insertCatalogue ( const QString & ); @@ -73,7 +73,9 @@ class KLocale void setHore24Format ( bool ); void setWeekStartMonday( bool ); void setIntDateFormat( IntDateFormat ); + void setIntTimeFormat( IntDateFormat ); IntDateFormat getIntDateFormat( ); + IntDateFormat getIntTimeFormat( ); void setLanguage( int ); void setDateFormat( QString ); void setDateFormatShort( QString ); @@ -98,6 +100,7 @@ class KLocale bool mWeekStartsMonday; bool mHourF24Format; IntDateFormat mIntDateFormat; + IntDateFormat mIntTimeFormat; int mLanguage; QString mDateFormat; QString mDateFormatShort; |