X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffocus-manager%2Fkeyboard-focus-manager-impl.cpp;h=20186efdaf6fd312674872692d5b8d7e128c9231;hp=c65abbb2e66460cf5b8356ac4b8d47860ee04629;hb=a6e73b84ce0442ad28197c3ef2ed1b48fa682508;hpb=c520fcd59e2aa883434b555b53cdb6a6df5dcf60 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 c65abbb..20186ef 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -183,8 +183,10 @@ void KeyboardFocusManager::GetConfigurationFromStyleManger() Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); if(styleManager) { - Property::Map config = Toolkit::DevelStyleManager::GetConfigurations(styleManager); - mAlwaysShowIndicator = config["alwaysShowFocus"].Get() ? ALWAYS_SHOW : NONE; + const Property::Map& config = Toolkit::DevelStyleManager::GetConfigurations(styleManager); + const auto alwaysShowFocusValue = config.Find("alwaysShowFocus", Property::Type::BOOLEAN); + + mAlwaysShowIndicator = (alwaysShowFocusValue && alwaysShowFocusValue->Get()) ? ALWAYS_SHOW : NONE; mIsFocusIndicatorShown = (mAlwaysShowIndicator == ALWAYS_SHOW) ? SHOW : HIDE; mClearFocusOnTouch = (mIsFocusIndicatorShown == SHOW) ? false : true; } @@ -271,6 +273,12 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor) mCurrentFocusActors.push_back(std::pair, WeakHandle >(mCurrentFocusedWindow, actor)); } + // Send notification for the change of focus actor + if(!mFocusChangedSignal.Empty()) + { + mFocusChangedSignal.Emit(currentFocusedActor, actor); + } + Toolkit::Control newlyFocusedControl = Toolkit::Control::DownCast(actor); if(newlyFocusedControl) { @@ -288,11 +296,6 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor) mFocusHistory.erase(beginPos); } - // Send notification for the change of focus actor - if(!mFocusChangedSignal.Empty()) - { - mFocusChangedSignal.Emit(currentFocusedActor, actor); - } DALI_LOG_INFO(gLogFilter, Debug::General, "[%s:%d] SUCCEED\n", __FUNCTION__, __LINE__); success = true; } @@ -519,16 +522,16 @@ bool KeyboardFocusManager::MoveFocus(Toolkit::Control::KeyboardFocus::Direction nextFocusableActor = mPreFocusChangeSignal.Emit(currentFocusActor, Actor(), direction); mIsWaitingKeyboardFocusChangeCommit = false; } - else if (mEnableDefaultAlgorithm) + else if(mEnableDefaultAlgorithm) { Actor rootActor = mFocusFinderRootActor.GetHandle(); if(!rootActor) { - if (currentFocusActor) + if(currentFocusActor) { // Find the window of the focused actor. Integration::SceneHolder window = Integration::SceneHolder::Get(currentFocusActor); - if (window) + if(window) { rootActor = window.GetRootLayer(); } @@ -798,7 +801,7 @@ Actor KeyboardFocusManager::GetFocusIndicatorActor() void KeyboardFocusManager::OnKeyEvent(const KeyEvent& event) { - const std::string& keyName = event.GetKeyName(); + const std::string& keyName = event.GetKeyName(); const std::string& deviceName = event.GetDeviceName(); if(mIsFocusIndicatorShown == UNKNOWN) @@ -1044,8 +1047,8 @@ void KeyboardFocusManager::OnWheelEvent(const WheelEvent& event) bool KeyboardFocusManager::OnCustomWheelEvent(const WheelEvent& event) { - bool consumed = false; - Actor actor = GetCurrentFocusActor(); + bool consumed = false; + Actor actor = GetCurrentFocusActor(); if(actor) { // Notify the actor about the wheel event