--- a/uifw/AvKon/src/AknPhoneNumberEditor.cpp Wed Sep 01 12:16:19 2010 +0100
+++ b/uifw/AvKon/src/AknPhoneNumberEditor.cpp Tue Sep 14 21:48:24 2010 +0300
@@ -32,6 +32,10 @@
#include <touchfeedback.h>
#include <aknnotedialog.h>
+#include <e32property.h>
+#include <AvkonInternalCRKeys.h> // for checking qwerty availability
+
+
static const TInt KPlainTextPos = 0;
typedef CArrayFixFlat<CAknPhoneNumberEditor::TFormat> CFormatArray;
@@ -52,6 +56,8 @@
TInt iPointPos;
CAknCcpuSupport* iCcpuSupport;
HBufC* iPasteText;
+ TBool iQwertyAllowed;
+ TBool iHybridModeAllowed;
};
CAknPhoneNumberEditorExtension::CAknPhoneNumberEditorExtension()
@@ -435,16 +441,29 @@
EXPORT_C TCoeInputCapabilities CAknPhoneNumberEditor::InputCapabilities() const
{
- if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
+ if ( iExtension->iQwertyAllowed )
{
TCoeInputCapabilities inputCaps(
TCoeInputCapabilities::EWesternAlphabetic |
TCoeInputCapabilities::ENavigation,
const_cast<CAknPhoneNumberEditor*>( this ), NULL );
+ //iExtension->iExtendedInputCapabilities->SetEditorType(
+ // CAknExtendedInputCapabilities::EPhoneNumberEditor );
+ TInt qwertyActive = 0;
+ RProperty::Get( KCRUidAvkon, KAknQwertyInputModeActive, qwertyActive );
+ if ( qwertyActive && iExtension->iHybridModeAllowed )
+ {
+ iExtension->iExtendedInputCapabilities->SetEditorType(
+ CAknExtendedInputCapabilities::EHybridAlphaNumericEditor );
+ }
+ else
+ {
+ iExtension->iExtendedInputCapabilities->SetEditorType(
+ CAknExtendedInputCapabilities::EPhoneNumberEditor );
+ }
+
// Voip-enabled phone editor wants to use edit-key style hash key mode selection.
- iExtension->iExtendedInputCapabilities->SetEditorType(
- CAknExtendedInputCapabilities::EPhoneNumberEditor );
iExtension->iExtendedInputCapabilities->SetCapabilities(
CAknExtendedInputCapabilities::EForceHashKeySelectionStatusFlagOff |
CAknExtendedInputCapabilities::EForceEditSubmenuStatusFlagOff );
@@ -772,7 +791,7 @@
{
TInt value( EAknEditorNumericInputMode ); // Return value.
- if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
+ if ( iExtension->iQwertyAllowed )
{
CAknEdwinState* fepState = ( CAknEdwinState* )iFepState;
@@ -876,9 +895,32 @@
fepState->SetSpecialCharacterTableResourceId( 0 );
fepState->SetNumericKeymap( EAknEditorStandardNumberModeKeymap );
+ iExtension->iQwertyAllowed = EFalse;
+ iExtension->iHybridModeAllowed = EFalse;
+
DrawChanges();
}
+
+// --------------------------------------------------------------------------
+// CAknPhoneNumberEditor::SetQwertyAllowed
+// --------------------------------------------------------------------------
+//
+EXPORT_C void CAknPhoneNumberEditor::SetQwertyAllowed( TBool aQwertyAllowed )
+ {
+ iExtension->iQwertyAllowed = aQwertyAllowed;
+ }
+
+// --------------------------------------------------------------------------
+// CAknPhoneNumberEditor::SetHybridModeAllowed
+// --------------------------------------------------------------------------
+//
+EXPORT_C void CAknPhoneNumberEditor::SetHybridModeAllowed( TBool aHybridModeAllowed )
+ {
+ iExtension->iHybridModeAllowed = aHybridModeAllowed;
+ }
+
+
// --------------------------------------------------------------------------
// CAknPhoneNumberEditor::HandlePointerEventL
// --------------------------------------------------------------------------