Merge "Fixed cursor behavior when no text is set" into devel/master
authorPaul Wisbey <p.wisbey@samsung.com>
Thu, 20 Aug 2015 16:38:36 +0000 (09:38 -0700)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Thu, 20 Aug 2015 16:38:36 +0000 (09:38 -0700)
1  2 
dali-toolkit/internal/text/text-controller.cpp

@@@ -34,7 -34,7 +34,7 @@@ namespac
  {
  
  #if defined(DEBUG_ENABLED)
 -  Debug::Filter* gLogFilter = Debug::Filter::New(Debug::Verbose, true, "LOG_TEXT_CONTROLS");
 +  Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, true, "LOG_TEXT_CONTROLS");
  #endif
  
  const float MAX_FLOAT = std::numeric_limits<float>::max();
@@@ -81,10 -81,9 +81,10 @@@ void Controller::SetText( const std::st
    if( mImpl->mEventData )
    {
      // If popup shown then hide it by switching to Editing state
 -    if ( EventData::SELECTING == mImpl->mEventData->mState ||
 -         EventData::SELECTION_CHANGED == mImpl->mEventData->mState ||
 -         EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState )
 +    if( ( EventData::SELECTING == mImpl->mEventData->mState )          ||
 +        ( EventData::SELECTION_CHANGED == mImpl->mEventData->mState )  ||
 +        ( EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState ) ||
 +        ( EventData::EDITING_WITH_GRAB_HANDLE == mImpl->mEventData->mState ) )
      {
        mImpl->ChangeState( EventData::EDITING );
      }
@@@ -709,9 -708,8 +709,9 @@@ void Controller::ResetCursorPosition( C
      mImpl->mEventData->mPrimaryCursorPosition = cursorIndex;
  
      // Update the cursor if it's in editing mode.
 -    if( ( EventData::EDITING == mImpl->mEventData->mState ) ||
 -        ( EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState ) )
 +    if( ( EventData::EDITING == mImpl->mEventData->mState )            ||
 +        ( EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState ) ||
 +        ( EventData::EDITING_WITH_GRAB_HANDLE == mImpl->mEventData->mState ) )
      {
        mImpl->mEventData->mUpdateCursorPosition = true;
      }
@@@ -764,13 -762,8 +764,13 @@@ void Controller::TextInsertedEvent(
                                                             REORDER );
  
    // Queue a cursor reposition event; this must wait until after DoRelayout()
 -  mImpl->mEventData->mUpdateCursorPosition = true;
 -  mImpl->mEventData->mScrollAfterUpdatePosition = true;
 +  if( ( EventData::EDITING == mImpl->mEventData->mState )            ||
 +      ( EventData::EDITING_WITH_POPUP == mImpl->mEventData->mState ) ||
 +      ( EventData::EDITING_WITH_GRAB_HANDLE == mImpl->mEventData->mState ) )
 +  {
 +    mImpl->mEventData->mUpdateCursorPosition = true;
 +    mImpl->mEventData->mScrollAfterUpdatePosition = true;
 +  }
  }
  
  void Controller::TextDeletedEvent()
@@@ -1390,11 -1383,10 +1390,10 @@@ void Controller::TapEvent( unsigned in
  
    if( NULL != mImpl->mEventData )
    {
-     const bool isShowingPlaceholderText = mImpl->IsShowingPlaceholderText();
      if( 1u == tapCount )
      {
-       if( !isShowingPlaceholderText &&
-           ( EventData::EDITING == mImpl->mEventData->mState ) )
+       if( mImpl->IsShowingRealText() &&
+           EventData::EDITING == mImpl->mEventData->mState )
        {
          mImpl->ChangeState( EventData::EDITING_WITH_GRAB_HANDLE );
        }
  
        mImpl->RequestRelayout();
      }
-     else if( !isShowingPlaceholderText &&
-              mImpl->mEventData->mSelectionEnabled &&
-              ( 2u == tapCount ) )
+     else if( 2u == tapCount )
      {
-       SelectEvent( x, y, false );
+       if( mImpl->mEventData->mSelectionEnabled &&
+           mImpl->IsShowingRealText() )
+       {
+         SelectEvent( x, y, false );
+       }
      }
    }