logsui/logscntfinder/src/logspredictive12keytranslator.cpp
changeset 4 e52d42f9500c
parent 2 7119b73b84d6
child 15 76d2cf7a585e
--- a/logsui/logscntfinder/src/logspredictive12keytranslator.cpp	Fri May 14 15:52:41 2010 +0300
+++ b/logsui/logscntfinder/src/logspredictive12keytranslator.cpp	Thu May 27 12:51:53 2010 +0300
@@ -31,8 +31,9 @@
 // LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator()
 // -----------------------------------------------------------------------------
 //
-LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator() 
-    : LogsPredictiveTranslator()
+LogsPredictive12KeyTranslator::LogsPredictive12KeyTranslator( 
+                                                    const HbInputLanguage& lang ) 
+    : LogsPredictiveTranslator( lang )
 {
     LOGS_QDEBUG( "logs [FINDER] -> LogsPredictive12KeyTranslator::\
 LogsPredictive12KeyTranslator()" )
@@ -60,15 +61,28 @@
 //
 QStringList LogsPredictive12KeyTranslator::patternTokens( const QString& pattern ) const
 {
+    LOGS_QDEBUG( "logs [FINDER] -> LogsPredictive12KeyTranslator::\
+patternTokens()" )
+    LOGS_QDEBUG_2( "logs [FINDER] pattern ", pattern );
+
     QStringList target = pattern.split( ZeroSepar, QString::SkipEmptyParts );
     if ( target.length() > 1 ) {
+        LOGS_QDEBUG( "logs [FINDER] has separator(s) " )
         QString& first = target[0];
         QString& last = target[target.length()-1];
         padWithZeros( first, pattern, 0 );
         padWithZeros( last, pattern, last.length() );
+    } else if ( target.length() == 1 && //0280 -> 028
+                pattern[pattern.length()-1] == ZeroSepar ) {
+        LOGS_QDEBUG( "logs [FINDER] no separators, trailing zero(s) " )
+        QString& first = target[0];
+        padWithZeros( first, pattern, 0 );
     } else if ( target.length() == 0 ) {
+        LOGS_QDEBUG( "logs [FINDER] only separators " )
         target.append( ZeroSepar );
     }
+    LOGS_QDEBUG( "logs [FINDER] <- LogsPredictive12KeyTranslator::\
+patternTokens()" )
     return target;
 }