Apply Hardware key.
authorKeuckdo Bang <keuckdo.bang@samsung.net>
Mon, 3 Jun 2013 11:32:06 +0000 (20:32 +0900)
committerKeuckdo Bang <keuckdo.bang@samsung.net>
Mon, 3 Jun 2013 11:32:06 +0000 (20:32 +0900)
Change-Id: I5660436dfcab02114a51897fa506dfb5c11c0848

src/ui/FUi_EflUiEventManager.cpp
src/ui/FUi_UiKeyEvent.cpp
src/ui/controls/FUiCtrl_Form.cpp
src/ui/controls/FUiCtrl_FormImpl.cpp

index 629ef37..d9986a1 100644 (file)
@@ -231,16 +231,17 @@ const _EvasConvertKeys keyTable[] =
        { _KEY_LEFT, "Left" },
        { _KEY_DOWN, "Down" },
        { _KEY_RIGHT, "Right" },
-       { _KEY_CONTEXT_MENU, "Menu" },
-       { _KEY_CONTEXT_MENU, "XF86Send" },
        { _KEY_COMMA, "less" }, /*virtual keypad <*/
        { _KEY_9, "parenleft" }, /*virtual keypad (*/
        { _KEY_0, "parenright" }, /*virtual keypad )*/
-
+       { _KEY_CONTEXT_MENU, "Menu" },
+       { _KEY_CONTEXT_MENU, "XF86Send" },
        //{ _KEY_SIDE_UP, "XF86AudioRaiseVolume" },
        //{ _KEY_SIDE_DOWN, "XF86AudioLowerVolume" },
        //{ _KEY_POWER_HOLD, "XF86PowerOff" },
        { _KEY_CLEAR, "XF86Stop" }
+
+
 };
 
 class _KeyEvent
index ec1a0e5..9c629cc 100644 (file)
@@ -204,9 +204,16 @@ _UiKeyEvent::IsEventEnabled(const _Control& control) const
                return false;
        }
 
-       if (!control.IsInputEventEnabled())
+       if (( GetKeyInfo()->GetKeyCode() == _KEY_CONTEXT_MENU )
+                       || ( GetKeyInfo()->GetKeyCode() == _KEY_CLEAR ))
        {
-               return false;
+       }
+       else
+       {
+               if (!control.IsInputEventEnabled())
+               {
+                       return false;
+               }
        }
 
        return true;
index 52702da..9af20f9 100644 (file)
@@ -2560,15 +2560,25 @@ _Form::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
 
                if (pToolbar->IsButtonSet(BACK_BUTTON))
                {
+                       {
+                               void* pData = GetUserData();
+                               if (pData)
+                               {
+                                       _FormImpl* pDataImpl = static_cast<_FormImpl*>(pData);
+                                       pDataImpl->OnFormBackRequested(*this);
+                               }
+                       }
+               }
+               {
                        void* pData = GetUserData();
                        if (pData)
                        {
                                _FormImpl* pDataImpl = static_cast<_FormImpl*>(pData);
-                               pDataImpl->OnFormBackRequested(*this);
                                pDataImpl->OnFormBackButtonRequested(*this);
                        }
                }
 
+
                return true;
        }
        if (keyInfo.GetKeyCode() == _KEY_CONTEXT_MENU)
@@ -2579,7 +2589,6 @@ _Form::OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo)
                        return null;
                }
 
-               if (pToolbar->IsButtonSet(OPTION_BUTTON))
                {
                        void* pData = GetUserData();
                        if (pData)
index aa4a0e9..ae7504a 100644 (file)
@@ -494,6 +494,7 @@ _FormImpl::SetFormStyle(unsigned long formStyle)
                        SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
                        //[ToDo]
                        GetCore().SetFormBackEventListener(this);
+                       GetCore().SetFormControlEventListener(this);
                }
        }
        else if (formStyle & FORM_STYLE_SOFTKEY_0 || formStyle & FORM_STYLE_SOFTKEY_1 || formStyle & FORM_STYLE_OPTIONKEY)
@@ -850,7 +851,7 @@ _FormImpl::SetFormControlEventListener(const IFormControlEventListener* pFormCon
 {
        SysTryReturnVoidResult(NID_UI_CTRL, GetFooter() || GetHeader(), E_INVALID_STATE, "[E_INVALID_STATE] Footer isn't constructed.");
        __pFormControlEventListener = const_cast <IFormControlEventListener*>(pFormControlEventListener);
-       GetCore().SetFormBackEventListener(this);
+       GetCore().SetFormControlEventListener(this);
        result r = GetLastResult();
        SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
 }