From efee55c67553d0a2be7b5e7f8dbe5d7b8d9c52b3 Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Tue, 30 Jun 2015 11:48:27 +0100 Subject: [PATCH] Fix for text cursor. Do not show the cursor when the text is selected. Change-Id: I8af3dfbb78011744df3db22d0ccb44701d631ac7 Signed-off-by: Victor Cebollada --- dali-toolkit/internal/text/text-controller-impl.cpp | 18 ++++++++++++++++-- dali-toolkit/internal/text/text-controller.cpp | 4 ++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index 08790c2..5dc17a4 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -1762,7 +1762,6 @@ void Controller::Impl::ScrollTextToMatchCursor() if( cursorInfo.isSecondaryCursor ) { - mEventData->mDecorator->SetActiveCursor( ACTIVE_CURSOR_BOTH ); mEventData->mDecorator->SetPosition( SECONDARY_CURSOR, cursorInfo.secondaryPosition.x + offset.x, cursorInfo.secondaryPosition.y + offset.y, @@ -1770,9 +1769,24 @@ void Controller::Impl::ScrollTextToMatchCursor() cursorInfo.lineHeight ); DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Secondary cursor position: %f,%f\n", cursorInfo.secondaryPosition.x + offset.x, cursorInfo.secondaryPosition.y + offset.y ); } + + // Set which cursors are active according the state. + if( ( EventData::EDITING == mEventData->mState ) || + ( EventData::EDITING_WITH_POPUP == mEventData->mState ) || + ( EventData::GRAB_HANDLE_PANNING == mEventData->mState ) ) + { + if( cursorInfo.isSecondaryCursor ) + { + mEventData->mDecorator->SetActiveCursor( ACTIVE_CURSOR_BOTH ); + } + else + { + mEventData->mDecorator->SetActiveCursor( ACTIVE_CURSOR_PRIMARY ); + } + } else { - mEventData->mDecorator->SetActiveCursor( ACTIVE_CURSOR_PRIMARY ); + mEventData->mDecorator->SetActiveCursor( ACTIVE_CURSOR_NONE ); } } diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index 814c4fe..fc372af 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -1351,11 +1351,11 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y ) mImpl->mEventData->mDecorator->SetPopupActive( false ); } - mImpl->ChangeState( EventData::EDITING ); - // Handles & cursors must be repositioned after Relayout() i.e. after the Model has been updated if( mImpl->mEventData ) { + mImpl->ChangeState( EventData::EDITING ); + Event event( Event::TAP_EVENT ); event.p1.mUint = tapCount; event.p2.mFloat = x; -- 2.7.4