src/hbplugins/inputmethods/common/hbinputmodehandler.cpp
changeset 2 06ff229162e9
parent 1 f7ac710697a9
child 6 c3690ec91ef8
--- a/src/hbplugins/inputmethods/common/hbinputmodehandler.cpp	Mon May 03 12:48:33 2010 +0300
+++ b/src/hbplugins/inputmethods/common/hbinputmodehandler.cpp	Fri May 14 16:09:54 2010 +0300
@@ -101,24 +101,6 @@
             spellList.append(mappedKey->characters(modifiers).at(i));
         }
     }
-
-    // filter characters.
-  /*  if (key < 0x0ff) {
-    QString charSet = mKeyData->specialCharacterData(mInputMethod->inputState().iKeyboardType);
-    if (charSet.contains(key, Qt::CaseSensitive)) {
-        QString mostUsedCharacters;
-        HbInputSettingProxy::instance()->mostUsedSpecialCharacters(HbMaxSctLineChars, mostUsedCharacters,
-            mInputMethod->focusObject()->editorInterface().filter());
-        spellList.clear();
-        if (!mostUsedCharacters.isNull()) {
-            for (int i=0; i<mostUsedCharacters.count(); i++){
-                QChar char1 = mostUsedCharacters[i];
-                spellList.append(char1);
-            }
-        }
-    }
-    }*/
-    return;
 }
 
 
@@ -273,7 +255,7 @@
 /*!
  this function commits the first number found in the key.
 */
-void HbInputModeHandler::commitFirstMappedNumber(int key)
+void HbInputModeHandler::commitFirstMappedNumber(int key, HbKeyboardType type)
 {
     Q_D(HbInputModeHandler);
 
@@ -291,7 +273,7 @@
 	 	}
 	}	
     QChar numChr = HbInputUtils::findFirstNumberCharacterBoundToKey(
-		d->mKeymap->keyForKeycode(d->mInputMethod->inputState().keyboard(), key),language, digitType);
+        d->mKeymap->keyForKeycode(type, key), language, digitType);
 	// when a number is to be entered, it should commit 
     // the previous string and then append the number to the string
     if (numChr != 0) {
@@ -303,12 +285,12 @@
 Gets the character at index in a key and incriments the index by 1. Returns the Zeroth character if
 this function finds the index to be out of range and incriments index to 1.
 */
-QChar HbInputModeHandler::getNthCharacterInKey(int &index, int key)
+QChar HbInputModeHandler::getNthCharacterInKey(int &index, int key, HbKeyboardType type)
 {
     Q_D(HbInputModeHandler);
     HbModifiers modifiers = 0;
     int textCase = d->mInputMethod->inputState().textCase();
-    if (textCase == HbTextCaseUpper || textCase == HbTextCaseAutomatic) {
+    if (type != HbKeyboardSctPortrait && (textCase == HbTextCaseUpper || textCase == HbTextCaseAutomatic)) {
         modifiers |= HbModifierShiftPressed;
     }
     HbInputLanguage language = d->mInputMethod->inputState().language();
@@ -316,7 +298,7 @@
     if (!d->mKeymap) {
         d->mKeymap = HbKeymapFactory::instance()->keymap(language);
     }
-    const HbMappedKey* mappedKey = d->mKeymap->keyForKeycode(d->mInputMethod->inputState().keyboard(), key);
+    const HbMappedKey* mappedKey = d->mKeymap->keyForKeycode(type, key);
     if (!mappedKey) {
         return 0;
     }
@@ -433,25 +415,20 @@
     d->mKeymap = keymap;
 }
 
-void HbInputModeHandler::characterPreviewAvailable(bool available)
-{
-    Q_UNUSED(available);
-}
-
 /*!
 Toggles prediction after doing a check if the editor allows it.
 */
 void HbInputModeHandler::togglePrediction()
 {
     Q_D(HbInputModeHandler);
-    int currentStatus = HbInputSettingProxy::instance()->predictiveInputStatus();
+    bool currentStatus = HbInputSettingProxy::instance()->predictiveInputStatusForActiveKeyboard();
     HbInputFocusObject* focusedObject = 0;
     focusedObject = d->mInputMethod->focusObject();
     bool isPredictionAllowed = focusedObject->editorInterface().isPredictionAllowed();
     if (currentStatus) {
-        HbInputSettingProxy::instance()->setPredictiveInputStatus(0);
+        HbInputSettingProxy::instance()->setPredictiveInputStatusForActiveKeyboard(false);
     } else if (isPredictionAllowed) {
-        HbInputSettingProxy::instance()->setPredictiveInputStatus(1);
+        HbInputSettingProxy::instance()->setPredictiveInputStatusForActiveKeyboard(true);
     }
 }