summaryrefslogtreecommitdiffabout
path: root/microkde/kdecore/klocale.cpp
Side-by-side diff
Diffstat (limited to 'microkde/kdecore/klocale.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/klocale.cpp51
1 files changed, 41 insertions, 10 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 & )