Revert "If the currently focused actor is hidden, it should lose focus. and If VISIBL... 96/278396/1
authorjoogab.yun <joogab.yun@samsung.com>
Wed, 20 Jul 2022 05:47:14 +0000 (14:47 +0900)
committerjoogab.yun <joogab.yun@samsung.com>
Wed, 20 Jul 2022 05:52:46 +0000 (14:52 +0900)
This reverts commit e3cb09bfd9a25de3fa35db1b2c3082bcb838d700.

Change-Id: Ibe37b34b400239bd193f9dbe60cca077f50ad4e2

automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp
dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp
dali-toolkit/public-api/controls/control-impl.cpp

index ccab3e0..60e9eea 100644 (file)
@@ -2260,55 +2260,6 @@ int UtcDaliKeyboardFocusManagerWithUserInteractionEnabled(void)
   END_TEST;
 }
 
-
-int UtcDaliKeyboardFocusManagerWithHide(void)
-{
-  ToolkitTestApplication application;
-
-  tet_infoline(" UtcDaliKeyboardFocusManagerWithHide");
-
-  KeyboardFocusManager manager = KeyboardFocusManager::Get();
-  DALI_TEST_CHECK(manager);
-
-  // Create the first control and add it to the stage
-  Control first = Control::New();
-  first.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
-  application.GetScene().Add(first);
-
-  // Create the second control and add it to the first control.
-  Control second = Control::New();
-  second.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
-  first.Add(second);
-
-
-  // flush the queue and render once
-  application.SendNotification();
-  application.Render();
-
-  // Check that no actor is being focused yet.
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  // Check that the focus is set on the actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(first) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == first);
-
-  // If the currently focused actor becomes VISIBLE false, it loses focus.
-  first.SetProperty(Actor::Property::VISIBLE, false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-  first.SetProperty(Actor::Property::VISIBLE, true);
-  // Check that the focus is set on the actor
-  DALI_TEST_CHECK(manager.SetCurrentFocusActor(second) == true);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == second);
-
-  // If the currently focused actor becomes VISIBLE false, When the parent is hidden, the child also loses focus.
-  first.SetProperty(Actor::Property::VISIBLE, false);
-  DALI_TEST_CHECK(manager.GetCurrentFocusActor() == Actor());
-
-
-  END_TEST;
-}
-
 int UtcDaliKeyboardFocusManagerFocusFinderRootActor(void)
 {
   ToolkitTestApplication application;
index 07dc86d..bcbddec 100644 (file)
@@ -212,8 +212,7 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor)
   if(actor &&
      actor.GetProperty<bool>(Actor::Property::KEYBOARD_FOCUSABLE) &&
      actor.GetProperty<bool>(DevelActor::Property::USER_INTERACTION_ENABLED) &&
-     actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE) &&
-     actor.GetProperty<bool>(Actor::Property::VISIBLE))
+     actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE))
   {
     // If the parent's KEYBOARD_FOCUSABLE_CHILDREN is false, it cannot have focus.
     Actor parent = actor.GetParent();
index 9b10ffd..60efa05 100644 (file)
@@ -581,22 +581,7 @@ void Control::OnPropertySet(Property::Index index, const Property::Value& proper
     }
     case Actor::Property::VISIBLE:
     {
-      const bool visible = propertyValue.Get<bool>();
-      GetAccessibleObject()->EmitVisible(visible);
-      if(!visible)
-      {
-        Dali::Actor self = Self();
-        Dali::Actor actor = Dali::Toolkit::KeyboardFocusManager::Get().GetCurrentFocusActor();
-        while(actor)
-        {
-          if(self == actor)
-          {
-            Dali::Toolkit::KeyboardFocusManager::Get().ClearFocus();
-            break;
-          }
-          actor = actor.GetParent();
-        }
-      }
+      GetAccessibleObject()->EmitVisible(Self().GetProperty<bool>(Actor::Property::VISIBLE));
       break;
     }
     case DevelActor::Property::USER_INTERACTION_ENABLED: