Set default input method options for imf-manager
[platform/core/uifw/dali-adaptor.git] / adaptors / ecore / wayland / imf-manager-impl-ecore-wl.cpp
index 51694ad..1b2c127 100755 (executable)
@@ -185,7 +185,7 @@ void InputPanelLanguageChangeCallback( void* data, Ecore_IMF_Context* context, i
   }
   ImfManager* imfManager = reinterpret_cast< ImfManager* > ( data );
   // Emit the signal that the language has changed
-  imfManager->LanguageChangedSignal().Emit();
+  imfManager->LanguageChangedSignal().Emit( value );
 }
 
 void InputPanelGeometryChangedCallback ( void *data, Ecore_IMF_Context *context, int value )
@@ -196,7 +196,7 @@ void InputPanelGeometryChangedCallback ( void *data, Ecore_IMF_Context *context,
   }
   ImfManager* imfManager = reinterpret_cast< ImfManager* > ( data );
   // Emit signal that the keyboard is resized
-  imfManager->ResizedSignal().Emit();
+  imfManager->ResizedSignal().Emit( value );
 }
 
 void InputPanelKeyboardTypeChangedCallback( void *data, Ecore_IMF_Context *context, int value )
@@ -265,7 +265,6 @@ void ImfManager::Finalize()
   {
     DisconnectCallbacks();
     DeleteContext();
-    ecore_imf_shutdown();
     mInited = false;
   }
 }
@@ -326,9 +325,8 @@ Dali::ImfManager ImfManager::Get()
 
   if ( ( imfManager != NULL ) && !imfManager->mInited )
   {
-    ecore_imf_init();
+    imfManager->SetDefaultOptions();
     imfManager->CreateContext( imfManager->mEcoreWlwin );
-
     imfManager->ConnectCallbacks();
     imfManager->mInited = true;
   }
@@ -345,11 +343,13 @@ ImfManager::ImfManager( Ecore_Wl_Window *ecoreWlwin )
   mRestoreAfterFocusLost( false ),
   mIdleCallbackConnected( false )
 {
+  ecore_imf_init();
 }
 
 ImfManager::~ImfManager()
 {
   Finalize();
+  ecore_imf_shutdown();
 }
 
 void ImfManager::CreateContext( Ecore_Wl_Window *ecoreWlwin )
@@ -390,6 +390,17 @@ void ImfManager::DeleteContext()
   }
 }
 
+void ImfManager::SetDefaultOptions()
+{
+  DALI_LOG_INFO( gLogFilter, Debug::General, "ImfManager::SetDefaultOptions\n" );
+  Property::Map map;
+  map.Insert( "PANEL_LAYOUT", InputMethod::PanelLayout::NORMAL );
+  map.Insert( "AUTO_CAPITALISE", InputMethod::AutoCapital::SENTENCE );
+  map.Insert( "ACTION_BUTTON", InputMethod::ActionButtonTitle::DEFAULT );
+  map.Insert( "VARIATION", InputMethod::NormalLayout::NORMAL );
+  mOptions.ApplyProperty( map );
+}
+
 // Callbacks for predicitive text support.
 void ImfManager::ConnectCallbacks()
 {
@@ -749,7 +760,6 @@ Rect<int> ImfManager::GetInputMethodArea()
 void ImfManager::ApplyOptions( const InputMethodOptions& options )
 {
   using namespace Dali::InputMethod::Category;
-
   int index;
 
   if (mIMFContext == NULL)