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