From: joogab.yun Date: Fri, 13 May 2022 03:25:36 +0000 (+0900) Subject: Reverts the patch that prevents focus set when parent is visible when false due to... X-Git-Tag: dali_2.1.23~13 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=8e80d503ca6d0353aa34ca0673429f2e4d8e7ce2;ds=sidebyside Reverts the patch that prevents focus set when parent is visible when false due to backward compatibility issue. https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/274317/ Change-Id: I5a2152395238596dbccd4e6b064c990a0d802930 --- diff --git a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp index 9a40691..ccab3e0 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp @@ -2309,49 +2309,6 @@ int UtcDaliKeyboardFocusManagerWithHide(void) END_TEST; } -int UtcDaliKeyboardFocusManagerWithVisible(void) -{ - ToolkitTestApplication application; - - tet_infoline(" UtcDaliKeyboardFocusManagerWithVisible"); - - KeyboardFocusManager manager = KeyboardFocusManager::Get(); - DALI_TEST_CHECK(manager); - - // Create the first actor and add it to the stage - Actor first = Actor::New(); - first.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); - application.GetScene().Add(first); - - // Create the second actor and add it to the first actor. - Actor second = Actor::New(); - second.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); - first.Add(second); - - // Check that no actor is being focused yet. - DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor()); - - // Check that the focus is set on the first actor - DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true); - DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first); - - // Set visible false. - first.SetProperty(Actor::Property::VISIBLE, false); - - // Check that it will fail to set focus on the second actor as it's not focusable - DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == false); - DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first); - - // Set visible true. - first.SetProperty(Actor::Property::VISIBLE, true); - - // Check that the focus is set on the second actor - DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true); - DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second); - - END_TEST; -} - int UtcDaliKeyboardFocusManagerFocusFinderRootActor(void) { ToolkitTestApplication application; @@ -2480,4 +2437,4 @@ int UtcDaliKeyboardFocusManagerFocusFinderRootActor(void) Dali::Toolkit::DevelKeyboardFocusManager::ResetFocusFinderRootActor(manager); END_TEST; -} \ No newline at end of file +} diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp index b77b2b8..e2e317c 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -213,13 +213,13 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor) actor.GetProperty(Actor::Property::CONNECTED_TO_SCENE) && actor.GetProperty(Actor::Property::VISIBLE)) { - // If the parent's KEYBOARD_FOCUSABLE_CHILDREN is false or VISIBLE is false, it cannot have focus. + // If the parent's KEYBOARD_FOCUSABLE_CHILDREN is false, it cannot have focus. Actor parent = actor.GetParent(); while(parent) { - if(!parent.GetProperty(DevelActor::Property::KEYBOARD_FOCUSABLE_CHILDREN) || !parent.GetProperty(Actor::Property::VISIBLE)) + if(!parent.GetProperty(DevelActor::Property::KEYBOARD_FOCUSABLE_CHILDREN)) { - DALI_LOG_INFO(gLogFilter, Debug::General, "[%s:%d] Parent Actor has KEYBOARD_FOCUSABLE_CHILDREN false or VISIBLE false,\n", __FUNCTION__, __LINE__); + DALI_LOG_INFO(gLogFilter, Debug::General, "[%s:%d] Parent Actor has KEYBOARD_FOCUSABLE_CHILDREN false\n", __FUNCTION__, __LINE__); return false; } parent = parent.GetParent();