From c00b54ce005b74dfbf5397468d4dca1e4dfbbf31 Mon Sep 17 00:00:00 2001 From: "minho.sun" Date: Thu, 2 Feb 2017 15:43:28 +0900 Subject: [PATCH] Change adding focus indicator logic Make sure KeyboardFocusManager add focus indicator according to mIsFocusIndicatorEnabled. Change-Id: I517211d4e34950af41175d2d9e78196f2c023588 Signed-off-by: minho.sun --- .../focus-manager/keyboard-focus-manager-impl.cpp | 41 ++-------------------- .../focus-manager/keyboard-focus-manager-impl.h | 10 ------ 2 files changed, 3 insertions(+), 48 deletions(-) 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 197550f..f67ca6f 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -117,17 +117,14 @@ KeyboardFocusManager::KeyboardFocusManager() mCurrentFocusActor( 0 ), mFocusIndicatorActor(), mFocusGroupLoopEnabled( false ), - mIsKeyboardFocusEnabled( false ), mIsFocusIndicatorEnabled( false ), mIsWaitingKeyboardFocusChangeCommit( false ), mFocusHistory(), mSlotDelegate( this ) { - OnPhysicalKeyboardStatusChanged(PhysicalKeyboard::Get()); - + // TODO: Get FocusIndicatorEnable constant from stylesheet to set mIsFocusIndicatorEnabled. Toolkit::KeyInputFocusManager::Get().UnhandledKeyEventSignal().Connect(mSlotDelegate, &KeyboardFocusManager::OnKeyEvent); Stage::GetCurrent().TouchSignal().Connect( mSlotDelegate, &KeyboardFocusManager::OnTouch ); - PhysicalKeyboard::Get().StatusChangedSignal().Connect(mSlotDelegate, &KeyboardFocusManager::OnPhysicalKeyboardStatusChanged); } KeyboardFocusManager::~KeyboardFocusManager() @@ -155,9 +152,8 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor( const unsigned int actorID ) // Check whether the actor is in the stage and is keyboard focusable. if( actor && actor.IsKeyboardFocusable() ) { - mIsFocusIndicatorEnabled = true; - // Draw the focus indicator upon the focused actor when PhysicalKeyboard is attached - if( mIsKeyboardFocusEnabled ) + // Draw the focus indicator upon the focused actor when Focus Indicator is enabled + if( mIsFocusIndicatorEnabled ) { actor.Add( GetFocusIndicatorActor() ); } @@ -507,39 +503,8 @@ Actor KeyboardFocusManager::GetFocusIndicatorActor() return mFocusIndicatorActor; } -void KeyboardFocusManager::OnPhysicalKeyboardStatusChanged(PhysicalKeyboard keyboard) -{ - mIsKeyboardFocusEnabled = keyboard.IsAttached(); - - if(mIsKeyboardFocusEnabled) - { - // Show indicator when keyboard focus turned on if there is focused actor. - Actor actor = GetCurrentFocusActor(); - if(actor) - { - actor.Add( GetFocusIndicatorActor() ); - } - mIsFocusIndicatorEnabled = true; - } - else - { - // Hide indicator when keyboard focus turned off - Actor actor = GetCurrentFocusActor(); - if( actor && mFocusIndicatorActor ) - { - actor.Remove( mFocusIndicatorActor ); - } - mIsFocusIndicatorEnabled = false; - } -} - void KeyboardFocusManager::OnKeyEvent(const KeyEvent& event) { - if(!mIsKeyboardFocusEnabled) - { - return; - } - AccessibilityAdaptor accessibilityAdaptor = AccessibilityAdaptor::Get(); bool isAccessibilityEnabled = accessibilityAdaptor.IsEnabled(); diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h index 1ece0b1..fd46678 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h @@ -19,8 +19,6 @@ */ // EXTERNAL INCLUDES -#include -#include #include // INTERNAL INCLUDES @@ -228,12 +226,6 @@ private: */ void OnTouch( const TouchData& touch ); - /** - * Change the keyboard focus status when keyboard focus feature turned on or off. - * @return Whether the status is changed or not. - */ - void OnPhysicalKeyboardStatusChanged(PhysicalKeyboard keyboard); - private: // Undefined @@ -254,8 +246,6 @@ private: bool mFocusGroupLoopEnabled:1; ///< Whether the focus movement is looped within the same focus group - bool mIsKeyboardFocusEnabled:1; ///< Whether keyboard focus feature turned on/off - bool mIsFocusIndicatorEnabled:1; ///< Whether indicator should be shown / hidden. It could be enabled when keyboard focus feature enabled and navigation keys or 'Tab' key pressed. bool mIsWaitingKeyboardFocusChangeCommit:1; /// A flag to indicate PreFocusChangeSignal emitted but the proposed focus actor is not commited by the application yet. -- 2.7.4