extras/calcsoft/src/CalcCont.cpp
branchRCL_3
changeset 29 9d6a662e71d9
parent 24 10c6e6d6e4d9
--- a/extras/calcsoft/src/CalcCont.cpp	Wed Sep 15 12:14:32 2010 +0300
+++ b/extras/calcsoft/src/CalcCont.cpp	Wed Oct 13 14:33:39 2010 +0300
@@ -77,8 +77,12 @@
 // If const TChar is used, complie error occurs in THUMB build.
 // To avoid this, #define is used.
 #define KCalcAsteriskBtn '*'
-
-
+//define a Comma  as decimal separator
+#define KCommaSeparator ',' 
+//define a dot as decimal separator 
+#define KDotSeparator '.'
+//define a '#' as input decimal separator by conventional 12 phone keypad.
+#define KHashSeparator '#'
 // ================= MEMBER FUNCTIONS =======================
 
 // Two-phased constructor.
@@ -1147,17 +1151,32 @@
 #ifdef RD_INTELLIGENT_TEXT_INPUT  
         if ( iFuncmapPane->GetKeyboardType() == EPtiKeyboardHalfQwerty )
             {
-            eventkey.iScanCode = 126;  //scan code for separator
+            eventkey.iScanCode = EStdKeySingleQuote;  //scan code for separator
+            eventkey.iCode = ( TUint )KDotSeparator; // icode for separator
             }
         else
 #endif
             {
-            eventkey.iScanCode = 122;  //scan code for separator
+            TLocale locale;
+            //Get a decimal separator from system for current phone language.
+            TChar decimalSeparator( locale.DecimalSeparator() );
+            
+            if ( KCommaSeparator == decimalSeparator )
+                {
+                //separator is Comma
+                eventkey.iScanCode = EStdKeyComma; //scan code for separator
+                }
+            else
+                {
+                //separator is dot
+                eventkey.iScanCode = EStdKeyFullStop; //scan code for separator
+                }
+            eventkey.iCode = ( TUint )decimalSeparator;   // icode for separator
             }
 
         // First send Keydown event
         OfferKeyEventL( eventkey, keycode );
-        eventkey.iCode = 46;  // icode for separator
+        
         keycode = EEventKey;
 
         // Next send EventKey
@@ -1169,11 +1188,11 @@
         TKeyEvent eventkey;
         TEventCode keycode = EEventKeyDown;
         eventkey.iCode = 0;
-        eventkey.iScanCode = 127;  // scan code for separator
+        eventkey.iScanCode = EStdKeyHash;  // scan code for separator
 
         // First send Keydown event
         OfferKeyEventL( eventkey, keycode );
-        eventkey.iCode = 35;  // icode for separator
+        eventkey.iCode = ( TUint )KHashSeparator;  // icode for separator
         keycode = EEventKey;
 
         // Next send EventKey