logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp
changeset 4 e52d42f9500c
parent 2 7119b73b84d6
child 9 68f3171a5819
--- a/logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp	Fri May 14 15:52:41 2010 +0300
+++ b/logsui/logscntfinder/src/logspredictivelatin12keytranslator.cpp	Thu May 27 12:51:53 2010 +0300
@@ -17,9 +17,9 @@
 #include <QObject>
 #include <QLocale>
 #include <QHash>
-#include <hbinputkeymapfactory.h>
 #include <hbinputkeymap.h>
 #include <hbinputsettingproxy.h>
+#include <QTextCodec>
 
 #include "logspredictivelatin12keytranslator.h"
 #include "logslogger.h"
@@ -34,16 +34,41 @@
 // LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator()
 // -----------------------------------------------------------------------------
 //
-LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator()
-    : LogsPredictive12KeyTranslator()
+LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator() 
+    : LogsPredictive12KeyTranslator( QLocale::English )
 {
     LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveLatin12KeyTranslator::\
 LogsPredictiveLatin12KeyTranslator()" )
-    HbInputLanguage lang = 
-            HbInputSettingProxy::instance()->globalInputLanguage();
-    mKeyMap = HbKeymapFactory::instance()->keymap( lang.language(), 
-                                                   lang.variant() );
+    
+    createSpecialMapping();
     
+    LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\
+LogsPredictiveLatin12KeyTranslator()" )
+}
+
+
+// -----------------------------------------------------------------------------
+// LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator()
+// -----------------------------------------------------------------------------
+//
+LogsPredictiveLatin12KeyTranslator::LogsPredictiveLatin12KeyTranslator( 
+        const HbInputLanguage& lang )
+    : LogsPredictive12KeyTranslator( lang )
+{
+    LOGS_QDEBUG( "logs [FINDER] -> LogsPredictiveLatin12KeyTranslator::\
+LogsPredictiveLatin12KeyTranslator()" )
+    createSpecialMapping();
+    
+    LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\
+LogsPredictiveLatin12KeyTranslator()" )
+}
+
+// -----------------------------------------------------------------------------
+// LogsPredictiveLatin12KeyTranslator::createSpecialMapping()
+// -----------------------------------------------------------------------------
+//
+void LogsPredictiveLatin12KeyTranslator::createSpecialMapping()
+{
     int index = 0;
     int arraySize = SpecialsCount * 2;
     while( index < arraySize ) {
@@ -52,11 +77,8 @@
         mSpecialKeyMap[ character ] = keycode;
     }
     
-    LOGS_QDEBUG( "logs [FINDER] <- LogsPredictiveLatin12KeyTranslator::\
-LogsPredictiveLatin12KeyTranslator()" )
 }
 
-
 // -----------------------------------------------------------------------------
 // LogsPredictiveLatin12KeyTranslator::~LogsPredictiveLatin12KeyTranslator()
 // -----------------------------------------------------------------------------
@@ -76,17 +98,20 @@
 // -----------------------------------------------------------------------------
 //
 const QChar LogsPredictiveLatin12KeyTranslator::translateChar( 
-                                                    const QChar character ) const
+                                                    const QChar character,
+                                                    bool& ok ) const
 {
+    ok = true;
     QChar keycode = mSpecialKeyMap[ character ]; 
     if ( keycode.isNull() ) {
         keycode = LogsPredictive12KeyTranslator::translateChar( character );
         if ( keycode.isNull() ) {
             QString decomposed = character.decomposition();
             if (decomposed.isEmpty()) {
+                ok = false;
                 return keycode;
             }
-            return translateChar (decomposed.at(0));
+            return translateChar (decomposed.at(0), ok);
         }
     }
     return keycode;
@@ -103,4 +128,9 @@
 {
     return name.split( SpaceSepar, QString::SkipEmptyParts );
 }
-        
+
+
+
+
+
+