37 LogsPredictiveTranslator* LogsPredictiveTranslator::instance() |
37 LogsPredictiveTranslator* LogsPredictiveTranslator::instance() |
38 { |
38 { |
39 LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::\ |
39 LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::\ |
40 instance()" ) |
40 instance()" ) |
41 if ( !mInstance ) { |
41 if ( !mInstance ) { |
42 HbInputLanguage lang = |
42 HbInputLanguage lang = currentLanguage(); |
43 HbInputSettingProxy::instance()->globalInputLanguage(); |
43 LOGS_QDEBUG_2( "logs [FINDER] Current lang is %d",lang.language() ) |
44 LOGS_QDEBUG_2( "logs [FINDER] Input lang is %d", |
|
45 lang.language() ) |
|
46 switch( lang.language() ) { |
44 switch( lang.language() ) { |
47 case QLocale::Thai: |
45 case QLocale::Thai: |
48 mInstance = new LogsPredictiveThai12KeyTranslator( lang ); |
46 mInstance = new LogsPredictiveThai12KeyTranslator( lang ); |
49 break; |
47 break; |
50 default: |
48 default: |
141 nameTranslator() - use current" ) |
139 nameTranslator() - use current" ) |
142 nameTranslator = mNameTranslator; |
140 nameTranslator = mNameTranslator; |
143 } else { |
141 } else { |
144 delete mNameTranslator; |
142 delete mNameTranslator; |
145 mNameTranslator = new LogsPredictiveLatin12KeyTranslator(); |
143 mNameTranslator = new LogsPredictiveLatin12KeyTranslator(); |
146 if( mNameTranslator->mKeyMap && |
144 if( mNameTranslator->keyMap() && |
147 mNameTranslator->encodes( name ) ) { |
145 mNameTranslator->encodes( name ) ) { |
148 nameTranslator = mNameTranslator; |
146 nameTranslator = mNameTranslator; |
149 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ |
147 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ |
150 nameTranslator() - use latin" ) |
148 nameTranslator() - use latin" ) |
151 return *nameTranslator; |
149 return *nameTranslator; |
152 } |
150 } |
153 delete mNameTranslator; |
151 delete mNameTranslator; |
154 mNameTranslator = new LogsPredictiveThai12KeyTranslator(); |
152 mNameTranslator = new LogsPredictiveThai12KeyTranslator(); |
155 if( mNameTranslator->mKeyMap && |
153 if( mNameTranslator->keyMap() && |
156 mNameTranslator->encodes( name ) ) { |
154 mNameTranslator->encodes( name ) ) { |
157 nameTranslator = mNameTranslator; |
155 nameTranslator = mNameTranslator; |
158 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ |
156 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::\ |
159 nameTranslator() - use thai" ) |
157 nameTranslator() - use thai" ) |
160 return *nameTranslator; |
158 return *nameTranslator; |
180 bool ok; |
178 bool ok; |
181 translate( sniplet, &ok ); |
179 translate( sniplet, &ok ); |
182 return ok; |
180 return ok; |
183 } |
181 } |
184 |
182 |
185 // ----------------------------------------------------------------------------- |
183 |
186 // LogsPredictiveTranslator::translatePattern() |
184 // ----------------------------------------------------------------------------- |
187 // ----------------------------------------------------------------------------- |
185 // LogsPredictiveTranslator::preparePattern() |
188 // |
186 // ----------------------------------------------------------------------------- |
189 const QString LogsPredictiveTranslator::translatePattern( |
187 // |
|
188 const QString LogsPredictiveTranslator::preparePattern( |
190 const QString& pattern ) const |
189 const QString& pattern ) const |
191 { |
190 { |
192 LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::translatePattern()" ) |
191 LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveTranslator::preparePattern()" ) |
193 QString result = translate( pattern ); |
192 QString result = translate( pattern ); |
194 |
193 |
195 if ( !result.length() ) { |
194 if ( !result.length() ) { |
196 result = pattern; |
195 result = pattern; |
197 } |
196 } |
198 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::translatePattern()" ) |
197 LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveTranslator::preparePattern()" ) |
199 return result; |
198 return result; |
200 } |
199 } |
201 |
200 |
202 // ----------------------------------------------------------------------------- |
201 // ----------------------------------------------------------------------------- |
203 // LogsPredictiveTranslator::translate() |
202 // LogsPredictiveTranslator::translate() |
213 |
212 |
214 count = count == -1 ? text.length() : count; |
213 count = count == -1 ? text.length() : count; |
215 const QChar* content = text.data(); |
214 const QChar* content = text.data(); |
216 int index = 0; |
215 int index = 0; |
217 while( index < count && isok ) { |
216 while( index < count && isok ) { |
218 QChar ch = translateChar( *content++, isok ); |
217 QString ch = translateChar( *content++, isok ); |
219 if ( !ch.isNull() ) { |
218 if ( !ch.isEmpty() ) { |
220 result.append( ch ); |
219 result.append( ch ); |
221 } |
220 } |
222 index++; |
221 index++; |
223 } |
222 } |
224 |
223 |