From 81d8e007ed1aed6e36e4cf44e456d91cf8024004 Mon Sep 17 00:00:00 2001 From: "minho.sun" Date: Mon, 15 Jan 2018 15:15:29 +0900 Subject: [PATCH] Don't count '\r' in text-field Currently, in text field, '\r' is counted as character. It can make overflow when user inserts many '\r'. Change-Id: Ib6114faad89e0a69886c81af147469d7e274dc4e Signed-off-by: minho.sun --- automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp | 6 ++++++ dali-toolkit/internal/controls/text-controls/text-field-impl.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index a8f2c9d..3e369f6 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp @@ -120,6 +120,7 @@ const float SCROLL_SPEED = 300.f; const unsigned int DEFAULT_FONT_SIZE = 1152u; const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); +const int KEY_RETURN_CODE = 36; const int KEY_A_CODE = 38; const int KEY_D_CODE = 40; @@ -1156,6 +1157,11 @@ int utcDaliTextFieldMaxCharactersReachedN(void) DALI_TEST_CHECK( !gMaxCharactersCallBackCalled ); DALI_TEST_CHECK( !maxLengthReachedSignal ); + application.ProcessEvent( GenerateKey( "Return", "\r", KEY_RETURN_CODE, 0, 0, Integration::KeyEvent::Down, DEFAULT_DEVICE_NAME, Device::Class::NONE, Device::Subclass::NONE ) ); + + DALI_TEST_CHECK( !gMaxCharactersCallBackCalled ); + DALI_TEST_CHECK( !maxLengthReachedSignal ); + END_TEST; } diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index 737d507..d79fd7b 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -21,6 +21,7 @@ // EXTERNAL INCLUDES #include #include +#include #include #include #include @@ -1572,6 +1573,11 @@ bool TextField::OnKeyEvent( const KeyEvent& event ) return true; } + else if( Dali::DevelKey::DALI_KEY_RETURN == event.keyCode ) + { + // Do nothing when enter is comming. + return false; + } return mController->KeyEvent( event ); } -- 2.7.4