Fixed issues in OptionMenu.
authorsriram.k <sriram.k@samsung.com>
Thu, 9 May 2013 10:13:50 +0000 (15:43 +0530)
committersriram.k <sriram.k@samsung.com>
Thu, 9 May 2013 11:44:26 +0000 (17:14 +0530)
Signed-off-by: sriram.k <sriram.k@samsung.com>
Change-Id: Ifbb75451d3bd35fa7aa864b68ab083ac5c89bd83

src/ui/controls/FUiCtrl_OptionMenu.cpp
src/ui/controls/FUiCtrl_OptionMenuPresenter.cpp

index dd4f794..be1f19e 100644 (file)
@@ -360,6 +360,8 @@ _OptionMenu::ShowSubMenu(int mainIndex, _OptionMenuItem& item)
                        CONTEXT_MENU_CORE_STYLE_LIST,
                        CONTEXT_MENU_CORE_ALIGN_UP);
 
+        __pSubMenu->SetFocusable(true);
+
        if (__pSubMenu == null)
        {
                return GetLastResult();
@@ -402,7 +404,6 @@ _OptionMenu::ShowSubMenu(int mainIndex, _OptionMenuItem& item)
        }
 
        __pSubMenu->Open();
-       SetTouchCapture(false, false);
        __subMenuIndex = mainIndex;
 
        return E_SUCCESS;
@@ -468,8 +469,17 @@ _OptionMenu::OnAttachingToMainTree(const _Control* pParent)
 result
 _OptionMenu::OnAttachedToMainTree(void)
 {
+       if (__pOptionMenuPresenter != null)
+       {
+               __pOptionMenuPresenter->CalculateBounds();
+
+               __pOptionMenuPresenter->PrepareAnimation();
+               __pOptionMenuPresenter->SetOptionMenuVisibility(true);
+       }
+
        __pOptionMenuPresenter->OnAttachedToMainTree();
-       return E_SUCCESS;
+
+       return _Window::OnAttachedToMainTree();
 }
 
 result
@@ -491,8 +501,6 @@ _OptionMenu::OnVisibleStateChanged(void)
 void
 _OptionMenu::OnActivated(void)
 {
-       _Window::OnActivated();
-
        if (GetOwner() != null)
        {
                ChangeLayout(GetOwner()->GetOrientation());
@@ -502,15 +510,9 @@ _OptionMenu::OnActivated(void)
                ChangeLayout(_ControlManager::GetInstance()->GetOrientation());
        }
 
-       if (__pOptionMenuPresenter != null)
-       {
-               __pOptionMenuPresenter->CalculateBounds();
-
-               __pOptionMenuPresenter->PrepareAnimation();
-               __pOptionMenuPresenter->SetOptionMenuVisibility(true);
-       }
+       SetTouchCapture(true, false);
 
-       SetTouchCapture(false, false);
+       _Window::OnActivated();
 }
 
 void
index 857530a..10ece50 100644 (file)
@@ -143,7 +143,7 @@ _OptionMenuPresenter::_OptionMenuPresenter(_OptionMenu* optionMenu)
        , __selectedIndex(-1)
        , __isHandlerPressed(false)
        , __isClosing(false)
-       , __isAnimationStarted(true)
+       , __isAnimationStarted(false)
        , __pOptionMenuVE(null)
        , __pThirtyThreeTimingFunction(null)
        , __pSixtyTimingFunction(null)
@@ -1377,6 +1377,8 @@ _OptionMenuPresenter::OnTouchPressed(const _Control& source, const _TouchInfo& t
                return false;
        }
 
+       SysTryReturn(NID_UI_CTRL, (!__isAnimationStarted), false, E_SUCCESS, "[E_SUCCESS] Animation     is in Progress.");
+
        if (__pOptionMenu->IsSubMenuShown() == true)
        {
                __pOptionMenu->DestroySubMenu();