Fix for keypad issue
authorHyun Lee <hyunn.lee@samsung.com>
Fri, 5 Apr 2013 12:39:48 +0000 (21:39 +0900)
committerHyun Lee <hyunn.lee@samsung.com>
Fri, 5 Apr 2013 12:39:48 +0000 (21:39 +0900)
Change-Id: I7f93de6e571f4bfb71faaa7eaf8a3c150649af07
Signed-off-by: Hyun Lee <hyunn.lee@samsung.com>
src/controls/FWebCtrl_Web.cpp
src/controls/FWebCtrl_WebImpl.cpp

index 965e025..52a9ed2 100755 (executable)
@@ -453,6 +453,8 @@ _Web::OnTouchMoved(const _Control& source, const _TouchInfo& touchInfo)
 bool
 _Web::OnTouchReleased(const _Control& source, const _TouchInfo& touchInfo)
 {
+       SetFocused();
+
        if (__pEflWebkit.get())
        {
                SendTouchEventForJavaScript(touchInfo);
@@ -460,8 +462,6 @@ _Web::OnTouchReleased(const _Control& source, const _TouchInfo& touchInfo)
                return __pGestureHandler->OnTouchReleased(source, touchInfo);
        }
 
-       SetFocused();
-
        return true;
 }
 
index 6492352..b3f1aa1 100755 (executable)
@@ -1671,20 +1671,23 @@ OnWebKeypadClosed(void* pUserData, Evas_Object* pView, void* pEventInfo)
        _Form* pFormCore = pImpl->GetParentFormCore(dynamic_cast< _Control* >(&pImpl->GetCore()));
        SysAssertf(pFormCore != null, "Failed to get FormCore");
 
-       if (pFormCore->HasFooter() && pImpl->IsFooterVisible())
+       if (pImpl->IsKeypadVisible())
        {
-               pImpl->SetFooterVisibleState(false);
-               pFormCore->SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);
-       }
+               if (pFormCore->HasFooter() && pImpl->IsFooterVisible())
+               {
+                       pImpl->SetFooterVisibleState(false);
+                       pFormCore->SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);
+               }
 
-       pFormCore->DeflateClientRectHeight(0);
+               pFormCore->DeflateClientRectHeight(0);
 
-       if (pImpl->GetWebKeypadEventListener())
-       {
-               pImpl->GetWebKeypadEventListener()->OnWebKeypadClosed(*dynamic_cast< Web* >(&pImpl->GetPublic()));
-       }
+               if (pImpl->GetWebKeypadEventListener())
+               {
+                       pImpl->GetWebKeypadEventListener()->OnWebKeypadClosed(*dynamic_cast< Web* >(&pImpl->GetPublic()));
+               }
 
-       pImpl->SetKeypadVisibleState(false);
+               pImpl->SetKeypadVisibleState(false);
+       }
 }
 
 
@@ -4362,6 +4365,8 @@ _WebImpl::OnFocusLost(const _ControlImpl& source)
 {
        if(IsKeypadVisible() == true)
        {
+               OnWebKeypadClosed(this, null, null);
+
                SetKeypadOpened(true);
        }