Vector<Character>::Iterator last = first + lengthOfSelectedText;
utf32Characters.Erase( first, last );
- // Scroll after delete.
+ // Will show the cursor at the first character of the selection.
mEventData->mPrimaryCursorPosition = handlesCrossed ? mEventData->mRightSelectionPosition : mEventData->mLeftSelectionPosition;
}
+ else
+ {
+ // Will show the cursor at the last character of the selection.
+ mEventData->mPrimaryCursorPosition = handlesCrossed ? mEventData->mLeftSelectionPosition : mEventData->mRightSelectionPosition;
+ }
+
mEventData->mDecoratorUpdated = true;
}
}
case Toolkit::TextSelectionPopup::COPY:
{
mImpl->SendSelectionToClipboard( false ); // Text not modified
- mImpl->RequestRelayout(); // Handles, Selection Highlight, Popup
+
+ mImpl->mEventData->mUpdateCursorPosition = true;
+
+ mImpl->RequestRelayout(); // Cursor, Handles, Selection Highlight, Popup
break;
}
case Toolkit::TextSelectionPopup::PASTE: