summaryrefslogtreecommitdiffabout
path: root/microkde
authorzautrix <zautrix>2004-10-22 22:10:16 (UTC)
committer zautrix <zautrix>2004-10-22 22:10:16 (UTC)
commitb8da6435b8e5941eb1824873e68d8a6a728fae5e (patch) (side-by-side diff)
treebc5ed11961e89bcd606f6fbca32185dbf8afab7a /microkde
parenta5274f27dc71e1a0ffae73f32f84f4dd013b4b76 (diff)
downloadkdepimpi-b8da6435b8e5941eb1824873e68d8a6a728fae5e.zip
kdepimpi-b8da6435b8e5941eb1824873e68d8a6a728fae5e.tar.gz
kdepimpi-b8da6435b8e5941eb1824873e68d8a6a728fae5e.tar.bz2
fixed an ugly timezone bug
Diffstat (limited to 'microkde') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kdecore/klocale.cpp50
1 files changed, 25 insertions, 25 deletions
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp
index 21e6937..d3b04dc 100644
--- a/microkde/kdecore/klocale.cpp
+++ b/microkde/kdecore/klocale.cpp
@@ -38,217 +38,217 @@ void dumpMissing()
QTextStream ts( &file );
ts.setCodec( QTextCodec::codecForName("utf8") );
int i;
for ( i = 0; i< missingTrans.count(); ++i ) {
QString text = missingTrans[i].replace( QRegExp("\n"),"\\n" );
ts << "{ \""<<text<< "\",\""<< text <<"\" },\n";
}
file.close();
}
QString i18n(const char *text)
{
if ( ! mLocaleDict ) {
addMissing( text );
return QString( text );
}
else {
QString* ret = mLocaleDict->find(QString(text)) ;
if ( ret == 0 ) {
addMissing( text );
return QString( text );
}
else {
if ( (*ret).isEmpty() ) {
addMissing( text );
return QString( text );
}
else
return (*ret);
}
}
}
QString i18n(const char *,const char *text)
{
return i18n( text );
}
QString i18n(const char *text1, const char *textn, int num)
{
if ( num == 1 ) return i18n( text1 );
else {
QString text = i18n( textn );
int pos = text.find( "%n" );
if ( pos >= 0 ) text.replace( pos, 2, QString::number( num ) );
return text;
}
}
inline void put_it_in( QChar *buffer, uint& index, const QString &s )
{
for ( uint l = 0; l < s.length(); l++ )
buffer[index++] = s.at( l );
}
inline void put_it_in( QChar *buffer, uint& index, int number )
{
buffer[index++] = number / 10 + '0';
buffer[index++] = number % 10 + '0';
}
static int readInt(const QString &str, uint &pos)
{
if (!str.at(pos).isDigit()) return -1;
int result = 0;
for (; str.length() > pos && str.at(pos).isDigit(); pos++)
{
result *= 10;
result += str.at(pos).digitValue();
}
return result;
}
KLocale::KLocale() : mCalendarSystem( 0 )
{
m_decimalSymbol = ".";
m_positiveSign = "";
m_negativeSign = "-";
m_thousandsSeparator = ",";
mWeekStartsMonday = true;
mHourF24Format = true;
mIntDateFormat = Default;
mIntTimeFormat = Default;
mLanguage = 0;
mDateFormat = "%a %Y %b %d";
mDateFormatShort = "%Y-%m-%d";
- mTimeZoneList << i18n ("-11:00 US/Samoa")
- << i18n ("-10:00 US/Hawaii")
- << i18n ("-09:00 US/Alaska")
- << i18n ("-08:00 US/Pacific")
- << i18n ("-07:00 US/Mountain")
- << i18n ("-06:00 US/Central")
- << i18n ("-05:00 US/Eastern")
- << i18n ("-04:00 Brazil/West")
- << i18n ("-03:00 Brazil/East")
- << i18n ("-02:00 Brazil/DeNoronha")
- << i18n ("-01:00 Atlantic/Azores")
- << i18n (" 00:00 Europe/London(UTC)")
- << i18n ("+01:00 Europe/Oslo(CET)")
- << i18n ("+02:00 Europe/Helsinki")
- << i18n ("+03:00 Europe/Moscow")
- << i18n ("+04:00 Indian/Mauritius")
- << i18n ("+05:00 Indian/Maldives")
- << i18n ("+06:00 Indian/Chagos")
- << i18n ("+07:00 Asia/Bangkok")
- << i18n ("+08:00 Asia/Hongkong")
- << i18n ("+09:00 Asia/Tokyo")
- << i18n ("+10:00 Asia/Vladivostok")
- << i18n ("+11:00 Asia/Magadan")
- << i18n ("+12:00 Asia/Kamchatka")
- // << i18n (" xx:xx User defined offset")
+ mTimeZoneList << ("-11:00 US/Samoa")
+ << ("-10:00 US/Hawaii")
+ << ("-09:00 US/Alaska")
+ << ("-08:00 US/Pacific")
+ << ("-07:00 US/Mountain")
+ << ("-06:00 US/Central")
+ << ("-05:00 US/Eastern")
+ << ("-04:00 Brazil/West")
+ << ("-03:00 Brazil/East")
+ << ("-02:00 Brazil/DeNoronha")
+ << ("-01:00 Atlantic/Azores")
+ << (" 00:00 Europe/London(UTC)")
+ << ("+01:00 Europe/Oslo(CET)")
+ << ("+02:00 Europe/Helsinki")
+ << ("+03:00 Europe/Moscow")
+ << ("+04:00 Indian/Mauritius")
+ << ("+05:00 Indian/Maldives")
+ << ("+06:00 Indian/Chagos")
+ << ("+07:00 Asia/Bangkok")
+ << ("+08:00 Asia/Hongkong")
+ << ("+09:00 Asia/Tokyo")
+ << ("+10:00 Asia/Vladivostok")
+ << ("+11:00 Asia/Magadan")
+ << ("+12:00 Asia/Kamchatka")
+ // << (" xx:xx User defined offset")
<< i18n (" Local Time");
mSouthDaylight = false;
mTimeZoneOffset = 0;
daylightEnabled = false;
}
void KLocale::setDateFormat( QString s )
{
mDateFormat = s;
}
void KLocale::setDateFormatShort( QString s )
{
mDateFormatShort = s;
}
void KLocale::setHore24Format ( bool b )
{
mHourF24Format = b;
}
void KLocale::setWeekStartMonday( bool b )
{
mWeekStartsMonday = b;
}
KLocale::IntDateFormat KLocale::getIntDateFormat( )
{
return mIntDateFormat;
}
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;
}
int KLocale::language( )
{
return mLanguage;
}
QString KLocale::translate( const char *index ) const
{
return i18n( index );
}
QString KLocale::translate( const char *, const char *fallback) const
{
return i18n( fallback );
}
QString KLocale::formatTime(const QTime &pTime, bool includeSecs, IntDateFormat intIntDateFormat) const
{
const QString rst = timeFormat(intIntDateFormat);
// only "pm/am" here can grow, the rest shrinks, but
// I'm rather safe than sorry
QChar *buffer = new QChar[rst.length() * 3 / 2 + 30];
uint index = 0;
bool escape = false;
int number = 0;
for ( uint format_index = 0; format_index < rst.length(); format_index++ )
{
if ( !escape )
{
if ( rst.at( format_index ).unicode() == '%' )
escape = true;
else
buffer[index++] = rst.at( format_index );
}
else
{
switch ( rst.at( format_index ).unicode() )
{
case '%':
buffer[index++] = '%';
break;
case 'H':
put_it_in( buffer, index, pTime.hour() );
break;
case 'I':
put_it_in( buffer, index, ( pTime.hour() + 11) % 12 + 1 );
break;