-rw-r--r-- | kaddressbook/views/contactlistview.cpp | 28 | ||||
-rw-r--r-- | microkde/kdecore/klocale.cpp | 4 | ||||
-rw-r--r-- | microkde/kdecore/klocale.h | 1 |
3 files changed, 32 insertions, 1 deletions
diff --git a/kaddressbook/views/contactlistview.cpp b/kaddressbook/views/contactlistview.cpp index 4cc22ea..c74f8cf 100644 --- a/kaddressbook/views/contactlistview.cpp +++ b/kaddressbook/views/contactlistview.cpp | |||
@@ -167,9 +167,35 @@ ContactListViewItem::ContactListViewItem(const KABC::Addressee &a, | |||
167 | } | 167 | } |
168 | 168 | ||
169 | QString ContactListViewItem::key(int column, bool ascending) const | 169 | QString ContactListViewItem::key(int column, bool ascending) const |
170 | { | 170 | { |
171 | return QListViewItem::key(column, ascending).lower(); | 171 | int lan = KGlobal::locale()->language(); |
172 | //qDebug("language %d ", lan); | ||
173 | if ( lan == 1 ) { //GERMAN | ||
174 | QString ret = QListViewItem::key(column, ascending).utf8(); | ||
175 | int start = -1; | ||
176 | while ( (start = ret.find( 'ä', start+1)) > 0 ) { | ||
177 | ret.at(start-1) = 'a'; | ||
178 | } | ||
179 | start = -1; | ||
180 | while ( (start = ret.find( 'ö', start+1)) > 0 ) { | ||
181 | ret.at(start-1) = 'o'; | ||
182 | } | ||
183 | start = -1; | ||
184 | while ( (start = ret.find( 'ü', start+1)) > 0 ) { | ||
185 | ret.at(start-1) = 'o'; | ||
186 | } | ||
187 | start = -1; | ||
188 | while ( (start = ret.find( 'ß', start+1)) > 0 ) { | ||
189 | ret.at(start-1) = 's'; | ||
190 | } | ||
191 | //qDebug("conv string %s ", ret.latin1()); | ||
192 | |||
193 | return ret; | ||
194 | |||
195 | } | ||
196 | else | ||
197 | return QListViewItem::key(column, ascending).lower(); | ||
172 | } | 198 | } |
173 | 199 | ||
174 | void ContactListViewItem::paintCell(QPainter * p, | 200 | void ContactListViewItem::paintCell(QPainter * p, |
175 | const QColorGroup & cg, | 201 | const QColorGroup & cg, |
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp index 673d845..3674f28 100644 --- a/microkde/kdecore/klocale.cpp +++ b/microkde/kdecore/klocale.cpp | |||
@@ -163,8 +163,12 @@ void KLocale::setIntTimeFormat( KLocale::IntDateFormat i ) | |||
163 | void KLocale::setLanguage( int i ) | 163 | void KLocale::setLanguage( int i ) |
164 | { | 164 | { |
165 | mLanguage = i; | 165 | mLanguage = i; |
166 | } | 166 | } |
167 | int KLocale::language( ) | ||
168 | { | ||
169 | return mLanguage; | ||
170 | } | ||
167 | QString KLocale::translate( const char *index ) const | 171 | QString KLocale::translate( const char *index ) const |
168 | { | 172 | { |
169 | return i18n( index ); | 173 | return i18n( index ); |
170 | } | 174 | } |
diff --git a/microkde/kdecore/klocale.h b/microkde/kdecore/klocale.h index be9442c..14660d6 100644 --- a/microkde/kdecore/klocale.h +++ b/microkde/kdecore/klocale.h | |||
@@ -79,8 +79,9 @@ class KLocale | |||
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 | int language(); | ||
83 | void setDateFormat( QString ); | 84 | void setDateFormat( QString ); |
84 | void setDateFormatShort( QString ); | 85 | void setDateFormatShort( QString ); |
85 | 86 | ||
86 | QString m_decimalSymbol; | 87 | QString m_decimalSymbol; |