Fix initial white space issue in text 80/293080/1
authorBowon Ryu <bowon.ryu@samsung.com>
Fri, 19 May 2023 07:38:40 +0000 (16:38 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Fri, 19 May 2023 07:38:40 +0000 (16:38 +0900)
Current logic does not send text and cursor position for initial white space to IME.
I don't know the exact history of this logic.
But in case of efl, it is sending information about initial white space to IME.
Change behavior for consistency.

Change-Id: I86bc7ecfece9f02c2eb670c3359efc31d79daabb
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
dali-toolkit/internal/text/controller/text-controller-event-handler.cpp
dali-toolkit/internal/text/controller/text-controller-impl.cpp

index f7bd90ada9b0d61c7bf40f5396161b7a87a52503..e2807397b3c0f9b74284f7ee06e268459fb0010f 100644 (file)
@@ -859,22 +859,10 @@ InputMethodContext::CallbackData Controller::EventHandler::OnInputMethodContextE
 
   std::string    text;
   CharacterIndex cursorPosition      = 0u;
-  Length         numberOfWhiteSpaces = 0u;
 
   if(retrieveCursor)
   {
-    numberOfWhiteSpaces = controller.mImpl->GetNumberOfWhiteSpaces(0u);
-
     cursorPosition = controller.mImpl->GetLogicalCursorPosition();
-
-    if(cursorPosition < numberOfWhiteSpaces)
-    {
-      cursorPosition = 0u;
-    }
-    else
-    {
-      cursorPosition -= numberOfWhiteSpaces;
-    }
   }
 
   if(retrieveText)
@@ -882,7 +870,7 @@ InputMethodContext::CallbackData Controller::EventHandler::OnInputMethodContextE
     if(!controller.mImpl->IsShowingPlaceholderText())
     {
       // Retrieves the normal text string.
-      controller.mImpl->GetText(numberOfWhiteSpaces, text);
+      controller.mImpl->GetText(0u, text);
     }
     else
     {
index 66d84985a94cd7628aed2fc4d206b08c46002374..cc38fd0cc3a314eed522655ff1a871008670f982 100644 (file)
@@ -444,19 +444,6 @@ void Controller::Impl::NotifyInputMethodContext()
   if(mEventData && mEventData->mInputMethodContext)
   {
     CharacterIndex cursorPosition = GetLogicalCursorPosition();
-
-    const Length numberOfWhiteSpaces = GetNumberOfWhiteSpaces(0u);
-
-    // Update the cursor position by removing the initial white spaces.
-    if(cursorPosition < numberOfWhiteSpaces)
-    {
-      cursorPosition = 0u;
-    }
-    else
-    {
-      cursorPosition -= numberOfWhiteSpaces;
-    }
-
     mEventData->mInputMethodContext.SetCursorPosition(cursorPosition);
     mEventData->mInputMethodContext.NotifyCursorPosition();
   }