--- 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 );
}
-
+
+
+
+
+
+