Focus issues fixed
authorahram.suh <ahram.suh@samsung.com>
Thu, 18 Apr 2013 10:23:51 +0000 (19:23 +0900)
committerahram.suh <ahram.suh@samsung.com>
Thu, 18 Apr 2013 10:23:51 +0000 (19:23 +0900)
Change-Id: I22d1a819a39db687f7f92103da95c670ff7cf207

inc/IntMainForm.h
src/IntMainForm.cpp

index 9624eff..996e101 100644 (file)
@@ -57,6 +57,7 @@ class MainForm
        , public Tizen::Web::Controls::ILoadingListener
        , public Tizen::Ui::IOrientationEventListener
        , public Tizen::Ui::ITextEventListener
+       , public Tizen::Ui::IPropagatedTouchEventListener
        , public Tizen::Ui::ITouchEventListener
        , public Tizen::Ui::Scenes::ISceneEventListener
        , public ISettingChangeEventListener
@@ -180,7 +181,6 @@ public:
        void OnFocusGained(const Tizen::Ui::Control& source);
        void OnFocusLost(const Tizen::Ui::Control& source);
 
-
        // IListViewItemEventListener
        /**
         *Called when the state of an element in the ListContextItem is changed.
@@ -228,6 +228,15 @@ public:
        virtual void OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
        virtual void OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
 
+       //IPropagatedTouchEventListener
+       virtual bool OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+       virtual bool OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo);
+
        virtual void OnTextFound(int totalCount, int currentOrdinal);
 
        //ISettingsChangeListener
index 94f4d53..ba3072d 100644 (file)
@@ -216,6 +216,7 @@ MainForm::~MainForm(void)
                delete __pHitElementResult;
                __pHitElementResult = null;
        }
+
        String* pSelectedScene = NULL;
        Object* pValue = NULL;
        MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
@@ -495,12 +496,7 @@ MainForm::InitWebControl()
 void
 MainForm::OnFocusGained(const Control& source)
 {
-       if(__pAddressbar != null)
-       {
-               __pFooterUrlField->SetFocusable(false);
-               __pAddressbar->SetAddressbarURLFocus();
-
-       }
+       AppLog("MainForm::OnFocusGained");
 }
 
 void
@@ -635,7 +631,8 @@ MainForm::InitFooter(void)
        __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
        //__pFooterUrlField->AddFocusEventListener(*this);
        __pFooterUrlField->AddKeypadEventListener(*this);
-       __pFooterUrlField->AddFocusEventListener(*this);
+       //__pFooterUrlField->AddFocusEventListener(*this);
+       __pFooterUrlField->SetPropagatedTouchEventListener(this);
 
        if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
        {
@@ -1205,6 +1202,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                InitFindWordPanel();
                __pMenu->SetShowState(false);
                __pMenu->Invalidate(false);
+               ShowFindWordPanel(true);
 
                __pFindWordEditField->SetFocus();
                /*
@@ -1214,7 +1212,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                        __pWebViewer->ReleaseBlock();
                }
                */
-               ShowFindWordPanel(true);
+
        }
        break;
        case IDA_PRIVATEON_CLICKED:
@@ -1777,6 +1775,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                }
 
                ShowFindWordPanel(true);
+               __pFindWordEditField->SetFocus();
+
                if (__currentSearchStr.GetLength() > 0)
                {
                        StartWordSearch();
@@ -2654,19 +2654,22 @@ void
 MainForm::OnAddressCancelledClicked(const Addressbar& addBar)
 {
        result r = E_SUCCESS;
-       // hiding the address bar
-       __pAddressbar->SetShowState(false);
+
        __pFooterPanel->SetShowState(true);
-       if(__pWebViewer)
-               __pWebViewer->SetFocus();
+       __pFooterUrlField->SetFocusable(true);
+
+       if(__pWebViewer)
+               __pWebViewer->SetFocus();
        else if(__pMostVisitedListView)
-               __pMostVisitedListView->SetFocus();
+               __pMostVisitedListView->SetFocus();
        else if(__pMultiWindowButton)
                __pMultiWindowButton->SetFocus();
-       __pFooterUrlField->SetFocusable(true);
        __pMoreButton->SetFocus();
 
+       __pAddressbar->SetShowState(false);
+
        RelayoutControls(false);
+
 }
 
 void
@@ -3427,6 +3430,57 @@ MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphic
        __inputEventToBeSupressed = false;
 }
 
+bool
+MainForm::OnTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+
+       return true;
+}
+
+bool
+MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       if(__pAddressbar->GetShowState() == false)
+       {
+               __pAddressbar->SetShowState(true);
+               __pAddressbar->SetAddressbarURLFocus();
+               __pFooterUrlField->SetFocusable(false);
+               __pFooterPanel->SetShowState(false);
+       }
+
+       return true;
+}
+
+bool
+MainForm::OnTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       return true;
+}
+
+bool
+MainForm::OnTouchCanceled(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       return true;
+}
+
+bool
+MainForm::OnPreviewTouchPressed(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       return true;
+}
+
+bool
+MainForm::OnPreviewTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       return true;
+}
+
+bool
+MainForm::OnPreviewTouchMoved(Tizen::Ui::Control& source, const Tizen::Ui::TouchEventInfo& touchEventInfo)
+{
+       return true;
+}
+
 void
 MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
 {