void ResetImfManager()
{
- // Reset incase we are in a pre-edit state.
- ImfManager imfManager = ImfManager::Get();
- if ( imfManager )
+ if( mEventData )
{
- imfManager.Reset(); // Will trigger a commit message
+ // Reset incase we are in a pre-edit state.
+ ImfManager imfManager = ImfManager::Get();
+ if ( imfManager )
+ {
+ imfManager.Reset(); // Will trigger a commit message
+ }
+
+ ClearPreEditFlag();
}
-
- ClearPreEditFlag();
}
bool IsClipboardEmpty()
{
DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Controller::SetText\n" );
+ // Reset keyboard as text changed
+ mImpl->ResetImfManager();
+
// Remove the previously set text
ResetText();
mImpl->mEventData->mEventQueue.clear();
}
- // Reset keyboard as text changed
- mImpl->ResetImfManager();
+ // Notify IMF as text changed
+ NotifyImfManager();
// Do this last since it provides callbacks into application code
mImpl->mControlInterface.TextChanged();
void Controller::NotifyImfManager()
{
- ImfManager imfManager = ImfManager::Get();
-
- if( imfManager )
+ if( mImpl->mEventData )
{
- // Notifying IMF of a cursor change triggers a surrounding text request so updating it now.
- std::string text;
- GetText( text );
- imfManager.SetSurroundingText( text );
+ ImfManager imfManager = ImfManager::Get();
+
+ if( imfManager )
+ {
+ // Notifying IMF of a cursor change triggers a surrounding text request so updating it now.
+ std::string text;
+ GetText( text );
+ imfManager.SetSurroundingText( text );
- imfManager.SetCursorPosition( GetLogicalCursorPosition() );
- imfManager.NotifyCursorPosition();
+ imfManager.SetCursorPosition( GetLogicalCursorPosition() );
+ imfManager.NotifyCursorPosition();
+ }
}
}