textinput/peninputgenericvkb/src/peninputgenericvkblayout.cpp
branchRCL_3
changeset 5 a47de9135b21
parent 0 eb1f2e154e89
child 9 e6a39382bb9c
--- a/textinput/peninputgenericvkb/src/peninputgenericvkblayout.cpp	Fri Feb 19 23:09:27 2010 +0200
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkblayout.cpp	Fri Mar 12 15:44:07 2010 +0200
@@ -50,6 +50,7 @@
 
 
 _LIT(KDisplaySpace, "\x0020");
+_LIT(KEmptyString, "");
 
 // ---------------------------------------------------------------------------
 // CPeninputGenericVkbLayoutImp::NewL
@@ -222,7 +223,23 @@
             {
             vkbWindow->SetSwitchlistLanguage(*aData);
             vkbWindow->SetDeadKey();
-			TRAP_IGNORE(vkbWindow->ConstructAccentListL(*aData));
+            if ( iLayoutType == EPluginInputModeFSQ )
+                {
+                TRAP_IGNORE(vkbWindow->ConstructFSQAccentListL( *aData ));
+                TRAP_IGNORE(vkbWindow->ConstructRangeLabelListL( *aData ));
+                }
+            else
+                {
+                TRAP_IGNORE(vkbWindow->ConstructAccentListL(*aData));
+                }
+            }
+            break;
+        case ECmdPenInputRange:
+            {
+            if ( iLayoutType == EPluginInputModeFSQ )
+                {
+                TRAP_IGNORE( vkbWindow->UpdateRangeCtrlsL());
+                }
             }
             break;
         case ECmdPenInputIsSecretText:
@@ -278,6 +295,14 @@
             iITIEnabled = CPeninputDataConverter::AnyToInt( aData );
             }            
             break;
+        case ECmdPenInputFingerMatchIndicator:
+            {
+            if ( iLayoutType == EPluginInputModeFSQ )
+                {
+				TRAP_IGNORE( vkbWindow->UpdateIndiBubbleL( aData ));
+                }
+            }
+            break;
         default:
             {
             }
@@ -375,11 +400,46 @@
             { 
             if ( aInfo.Length() > 0 && !iInEditWordQueryDlg)
                 {
+				icf->HideBubble();
+                CPeninputGenericVkbWindow* vkbWindow = 
+                    static_cast<CPeninputGenericVkbWindow*>(iLayoutWindow);
+                vkbWindow->SetIndiWithTextFlag( ETrue );
+                vkbWindow->IndiBubbleWithText();
+                
+                if ( vkbWindow->IndicatorData().iIndicatorImgID != 0 && 
+                     vkbWindow->IndicatorData().iIndicatorMaskID != 0 && 
+                     vkbWindow->IndicatorData().iIndicatorTextImgID != 0 &&
+                     vkbWindow->IndicatorData().iIndicatorTextMaskID != 0 )
+                    {
+					TRAP_IGNORE( vkbWindow->SetIndiBubbleImageL( 
+                            vkbWindow->IndicatorData().iIndicatorImgID,
+                            vkbWindow->IndicatorData().iIndicatorMaskID,
+                            vkbWindow->IndicatorData().iIndicatorTextImgID,
+                            vkbWindow->IndicatorData().iIndicatorTextMaskID ));
+                    }
                 icf->ShowBubble(aInfo,icf->MsgBubbleCtrl()->Rect());
                 }
             else
                 {
                 icf->HideBubble();
+                CPeninputGenericVkbWindow* vkbWindow = 
+                    static_cast<CPeninputGenericVkbWindow*>(iLayoutWindow);
+                vkbWindow->SetIndiWithTextFlag( EFalse );
+                vkbWindow->IndiBubbleWithoutText();
+                
+                if ( vkbWindow->IndicatorData().iIndicatorImgID != 0 && 
+                     vkbWindow->IndicatorData().iIndicatorMaskID != 0 && 
+                     vkbWindow->IndicatorData().iIndicatorTextImgID != 0 &&
+                     vkbWindow->IndicatorData().iIndicatorTextMaskID != 0 )
+                    {
+					TRAP_IGNORE( vkbWindow->SetIndiBubbleImageL( 
+                            vkbWindow->IndicatorData().iIndicatorImgID,
+                            vkbWindow->IndicatorData().iIndicatorMaskID,
+                            vkbWindow->IndicatorData().iIndicatorTextImgID,
+                            vkbWindow->IndicatorData().iIndicatorTextMaskID));
+                    }
+                
+                icf->ShowBubble(KEmptyString, icf->MsgBubbleCtrl()->Rect());
                 }
             }            
         else