Fix for SB PLM(Focus Not moving to Content)
authorAyush <ayush.sriv@samsung.com>
Wed, 5 Jun 2013 18:32:17 +0000 (00:02 +0530)
committerAyush <ayush.sriv@samsung.com>
Wed, 5 Jun 2013 18:32:17 +0000 (00:02 +0530)
Change-Id: Ief17e6f36cd50432574d929e870764a87e4002fd
Signed-off-by: Ayush <ayush.sriv@samsung.com>
src/ui/controls/FUiCtrl_SearchBar.cpp
src/ui/controls/FUiCtrl_SearchBarImpl.cpp
src/ui/controls/FUiCtrl_SearchBarPresenter.cpp
src/ui/inc/FUiCtrl_SearchBar.h

index 44cb192..fe79ded 100644 (file)
@@ -1803,54 +1803,77 @@ _SearchBar::OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo)
 {
        _KeyCode keyCode = keyInfo.GetKeyCode();
 
-       if (keyCode == _KEY_RIGHT)
+       if (!__pEdit->IsSearchFieldFocused())
        {
-               if (GetMode() == SEARCH_BAR_MODE_NORMAL)
-               {
-                       __pEdit->SetFocused();
-                       return true;
-               }
+               return false;
+       }
 
-               if (!__isButtonEnabled || __pCancelButton->IsFocused() || !__isUsableCancelButton)
-               {
-                       return true;
-               }
+       switch (keyCode)
+       {
+               case _KEY_RIGHT:
+                       SetFocusCallbackParameter(false);
+                       if (&source == __pEdit)
+                       {
+                               if ((!__isButtonEnabled || !__isUsableCancelButton) && __pContentControl && __pContentControl->GetEnableState())
+                               {
+                                       __pContentControl->SetFocused();
+                                       __pContentControl->OnDrawFocus();
 
-               SetFocusCallBackParameter(false);
-               __pCancelButton->SetFocused();
-               __pCancelButton->Invalidate(true);
+                                       return true;
+                               }
 
-               return true;
-       }
+                               __pCancelButton->SetFocused();
 
-       if (keyCode == _KEY_LEFT)
-       {
-               if (__pCancelButton->GetButtonStatus() == _BUTTON_STATUS_HIGHLIGHTED)
-               {
-                       __pCancelButton->Invalidate();
-                       __pEdit->SetFocused();
-               }
+                               return true;
+                       }
 
-               if (__pCancelButton->GetButtonStatus() == _BUTTON_STATUS_DISABLED)      //Searchbar Button is disabled, left arrow key is pressed
-               {
-                       __pEdit->SetFocused();
-               }
+                       if (&source == __pCancelButton && __pContentControl && __pContentControl->GetVisibleState() && __pContentControl->GetEnableState())
+                       {
+                               __pContentControl->SetFocused();
+                               __pContentControl->OnDrawFocus();
 
-               return true;
-       }
+                               return true;
+                       }
 
-       if (keyCode == _KEY_ENTER || keyCode == _KEY_TAB)
-       {
-               if (GetMode() == SEARCH_BAR_MODE_NORMAL)
-               {
-                       return false;
-               }
+                       break;
 
-               SetMode(SEARCH_BAR_MODE_NORMAL);
-               __isKeyPressed = true;
-               SetFocused();
+               case _KEY_LEFT:
+                       if (&source == __pCancelButton)
+                       {
+                               __pEdit->SetFocused();
+                               return true;
+                       }
+
+                       if (&source == __pContentControl)
+                       {
+                               if ((__isButtonEnabled && __isUsableCancelButton))
+                               {
+                                       __pCancelButton->SetFocused();
+                               }
+                               else
+                               {
+                                       __pEdit->SetFocused();
+                               }
+                               return true;
+                       }
 
-               return true;
+                       break;
+
+               case _KEY_ENTER:
+                       if (&source == __pCancelButton)
+                       {
+                               SetMode(SEARCH_BAR_MODE_NORMAL);
+                               __isKeyPressed = true;
+                               SetFocused();
+                               _Control::OnDrawFocus();
+
+                               return true;
+                       }
+
+                       break;
+
+               default:
+                       return false;
        }
 
        return false;
@@ -2747,14 +2770,14 @@ _SearchBar::SendOpaqueCommand(const String& command)
 }
 
 void
-_SearchBar::SetFocusCallBackParameter(bool state)
+_SearchBar::SetFocusCallbackParameter(bool state)
 {
        __isFocusCallbackToBeFired = state;
        return;
 }
 
 bool
-_SearchBar::IsFocusCallBackToBeFired(void) const
+_SearchBar::IsFocusCallbackToBeFired(void) const
 {
        return __isFocusCallbackToBeFired;
 }
index 992597d..832d082 100644 (file)
@@ -831,7 +831,7 @@ _SearchBarImpl::RemoveTextBlock(void)
        ClearLastResult();
        result r = __pSearchBar->RemoveTextBlock();
        SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, E_SYSTEM, E_SYSTEM,
-                    "[E_SYSTEM] A system error has occured. Unable to remove the text block.")
+                    "[E_SYSTEM] A system error has occured. Unable to remove the text block.");
 
        return r;
 }
@@ -1490,7 +1490,7 @@ _SearchBarImpl::OnFocusGained(const Tizen::Ui::Control& source)
 {
        SetMode(SEARCH_BAR_MODE_INPUT);
 
-       if (!__pSearchBar->IsFocusCallBackToBeFired())
+       if (!__pSearchBar->IsFocusCallbackToBeFired())
        {
                return;
        }
@@ -1520,7 +1520,7 @@ _SearchBarImpl::OnFocusGained(const Tizen::Ui::Control& source)
 void
 _SearchBarImpl::OnFocusLost(const Tizen::Ui::Control& source)
 {
-       if (!__pSearchBar->IsFocusCallBackToBeFired())
+       if (!__pSearchBar->IsFocusCallbackToBeFired())
        {
                return;
        }
index 5cfb375..847a089 100644 (file)
@@ -456,7 +456,7 @@ _SearchBarPresenter::ChangeMode(SearchBarMode mode)
 
        if (mode == SEARCH_BAR_MODE_NORMAL)
        {
-               __pSearchBar->SetFocusCallBackParameter(true);
+               __pSearchBar->SetFocusCallbackParameter(true);
                InitializeViewModeLayout();
                SetCancelButtonVisible(false);
                SetContainerVisible(false);
index 5761771..774b93f 100644 (file)
@@ -231,8 +231,8 @@ public:
        SearchFieldStatus GetCurrentStatus(void);
        void  SetEditTextFilter(IEditTextFilter* pFilter);
        void SendOpaqueCommand (const Tizen::Base::String& command);
-       void SetFocusCallBackParameter(bool state);
-       bool IsFocusCallBackToBeFired(void) const;
+       void SetFocusCallbackParameter(bool state);
+       bool IsFocusCallbackToBeFired(void) const;
 
        virtual _UiTouchEventDelivery OnPreviewTouchReleased(const _Control& source, const _TouchInfo& touchinfo);