textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp
branchRCL_3
changeset 12 5e18d8c489d6
parent 11 c8fb4cf7b3ae
child 18 b1ea1642412e
equal deleted inserted replaced
11:c8fb4cf7b3ae 12:5e18d8c489d6
    55 #include "peninputsplitqwertylafdatamgr.h"
    55 #include "peninputsplitqwertylafdatamgr.h"
    56 #include "peninputsplitqwertylangmeritpair.h"
    56 #include "peninputsplitqwertylangmeritpair.h"
    57 #include "peninputsplitqwertylayout.h"
    57 #include "peninputsplitqwertylayout.h"
    58 
    58 
    59 #include <peninputaknvkbpreviewbubblerenderer.h>
    59 #include <peninputaknvkbpreviewbubblerenderer.h>
       
    60 #include <peninputlongpressbutton.h>
    60 
    61 
    61 // Constants
    62 // Constants
    62 const TInt KPeninputVkbWndInvalidIndex = -1;
    63 const TInt KPeninputVkbWndInvalidIndex = -1;
    63 const TInt KInvalidImg = -1 ;
    64 const TInt KInvalidImg = -1 ;
    64 
    65 
   479     TInt* data = (TInt*) aEventData.Ptr(); 
   480     TInt* data = (TInt*) aEventData.Ptr(); 
   480     TInt ctrlId = aCtrl ? aCtrl->ControlId() : -1;
   481     TInt ctrlId = aCtrl ? aCtrl->ControlId() : -1;
   481     
   482     
   482     switch ( aEventType )
   483     switch ( aEventType )
   483         {
   484         {
   484         case EEventButtonUp:
   485         case EPeninputLayoutEventMultiRangeLongPress:
       
   486             {
       
   487             const TInt range = CPeninputDataConverter::AnyToInt(
       
   488                 iLayoutContext->RequestData(EPeninputDataTypeCurrentRange));
       
   489             
       
   490             const TInt langId = CPeninputDataConverter::AnyToInt(
       
   491                 iLayoutContext->RequestData(EPeninputDataTypeInputLanguage));
       
   492 
       
   493             if ( aCtrl->ControlId() == EPeninutWindowCtrlIdRangeBtn )
       
   494                 {
       
   495                 if ( range == ERangeAccent )
       
   496                     {
       
   497                     if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
       
   498                         {
       
   499                         ChangeRange(ERangeNative);
       
   500                         }
       
   501                     else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
       
   502                         {
       
   503                         ChangeRange(ERangeEnglish);
       
   504                         }
       
   505                     }
       
   506                 else if ( range == ERangeNative )
       
   507                     {            
       
   508                     if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNativeNumber ) )
       
   509                         {
       
   510                         
       
   511                         if ( langId != ELangArabic && langId != ELangFarsi 
       
   512                                 && langId != ELangUrdu && langId != ELangThai )
       
   513                             {
       
   514                                 ChangeRange(ERangeNativeNumber);
       
   515                             }
       
   516                         }
       
   517                     else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
       
   518                         {
       
   519                         if ( langId != ELangArabic && langId != ELangFarsi 
       
   520                                 && langId != ELangUrdu && langId != ELangThai )
       
   521                             {
       
   522                                 ChangeRange(ERangeNumber);
       
   523                             }                       
       
   524                         }
       
   525                     }
       
   526                 else if ( range == ERangeEnglish )
       
   527                     {
       
   528                     if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNumber ) )
       
   529                         {
       
   530                         ChangeRange(ERangeNumber);
       
   531                         }
       
   532                     }
       
   533                 else if ( range == ERangeNativeNumber )
       
   534                     {
       
   535                     if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
       
   536                         {
       
   537                         ChangeRange(ERangeNative);
       
   538                         }                   
       
   539                     else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
       
   540                         {
       
   541                         ChangeRange(ERangeEnglish);
       
   542                         }
       
   543                     }
       
   544                 else if ( range == ERangeNumber )
       
   545                     {
       
   546                     if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeNative ) )
       
   547                         {
       
   548                         ChangeRange(ERangeNative);
       
   549                         }                   
       
   550                     else if ( ConfigInfo()->RangeBarInfo()->FindRange( ERangeEnglish ) )
       
   551                         {
       
   552                         ChangeRange(ERangeEnglish);
       
   553                         }                   
       
   554                     }
       
   555 
       
   556                 TRAP_IGNORE( UpdateRangeCtrlsL() );
       
   557                 }
       
   558             }
       
   559             break;
       
   560         case EPeninputLayoutEventMultiRange:
   485             {
   561             {
   486             if ( ctrlId == EPeninutWindowCtrlIdRangeBtn )
   562             if ( ctrlId == EPeninutWindowCtrlIdRangeBtn )
   487                 {
   563                 {
   488                 PopupChoiceList();
   564                 PopupChoiceList();
   489                 }
   565                 }
  1291 // Add range bar into client area
  1367 // Add range bar into client area
  1292 // ---------------------------------------------------------------------------
  1368 // ---------------------------------------------------------------------------
  1293 //
  1369 //
  1294 void CPeninputSplitQwertyWindow::AddRangeBarL()
  1370 void CPeninputSplitQwertyWindow::AddRangeBarL()
  1295     {
  1371     {
  1296     CAknFepCtrlCommonButton* button = CAknFepCtrlCommonButton::NewL(
  1372     CAknFepCtrlLongPressButton* button = CAknFepCtrlLongPressButton::NewL( 
  1297                                         UiLayout(), 
  1373             UiLayout(), 
  1298                                         EPeninutWindowCtrlIdRangeBtn,
  1374             EPeninutWindowCtrlIdRangeBtn, 
  1299                                         KAknsIIDQsnFrFunctionButtonNormal,
  1375             0xffff, 0,
  1300                                         KAknsIIDQsnFrFunctionButtonPressed,
  1376             KAknsIIDQsnFrFunctionButtonNormal,
  1301                                         KAknsIIDQsnFrFunctionButtonInactive );
  1377             KAknsIIDQsnFrFunctionButtonPressed,
       
  1378             KAknsIIDQsnFrFunctionButtonInactive );                
  1302 
  1379 
  1303     CleanupStack::PushL( button ); 
  1380     CleanupStack::PushL( button ); 
  1304     button->SetResourceId( R_PENINPUT_LAYOUT_VKB_RANGE_DEFAULT );
  1381     button->SetResourceId( R_PENINPUT_LAYOUT_VKB_RANGE_DEFAULT );
  1305     button->ConstructFromResourceL();
  1382     button->ConstructFromResourceL();
  1306     AddControlL( button );
  1383     AddControlL( button );