From: suhyung Eom Date: Thu, 10 Sep 2015 07:14:02 +0000 (+0900) Subject: Fixed overlapping issue between cursor and placeholder text X-Git-Tag: dali_1.1.3~8 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=8608d23a021ba74d1a79ee62a3fda1ef4ece09b1 Fixed overlapping issue between cursor and placeholder text Signed-off-by: suhyung Eom Change-Id: Ia3d3ca2b583f36e8c9357150ac4ba0af4026a0a9 --- diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index 2936d4d..8ada007 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -290,6 +290,14 @@ struct Controller::Impl return ( mEventData && mEventData->mIsShowingPlaceholderText ); } + /** + * @brief Helper to check whether active place-holder text is available. + */ + bool IsFocusedPlaceholderAvailable() const + { + return ( mEventData && !mEventData->mPlaceholderTextActive.empty() ); + } + bool IsShowingRealText() const { return ( !IsShowingPlaceholderText() && diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index ef10a3f..83c81a3 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -1256,7 +1256,7 @@ void Controller::KeyboardFocusLostEvent() { mImpl->ChangeState( EventData::INACTIVE ); - if( mImpl->IsShowingPlaceholderText() ) + if( !mImpl->IsShowingRealText() ) { // Revert to regular placeholder-text when not editing ShowPlaceholderText(); @@ -1523,6 +1523,11 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y ) else if( EventData::EDITING != mImpl->mEventData->mState && EventData::EDITING_WITH_GRAB_HANDLE != mImpl->mEventData->mState ) { + if( mImpl->IsShowingPlaceholderText() && ! mImpl->IsFocusedPlaceholderAvailable() ) + { + // Hide placeholder text + ResetText(); + } // Show cursor on first tap mImpl->ChangeState( EventData::EDITING ); relayoutNeeded = true;