prevent first button focus when photoviewer view is shown 11/36011/1 accepted/tizen/tv/20150302.010450 submit/tizen/20150228.101020
authorJehun Lim <jehun.lim@samsung.com>
Fri, 27 Feb 2015 10:29:26 +0000 (19:29 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Fri, 27 Feb 2015 10:31:27 +0000 (19:31 +0900)
Change-Id: Idbf16eccd7be96999429e98c8fa20b717386d301
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
include/view/photo-viewer/photoviewer_view.h
src/view/photo-viewer/photoviewer_view.cpp

index 043c7c5..8bad084 100644 (file)
@@ -81,8 +81,6 @@ private:
 
        static void sm_CbShowViewFinish(void *dt, Evas_Object *obj,
                        const char *emission, const char *source);
-       void m_OnShowViewFinish(Evas_Object *obj,
-                       const char *emission, const char *source);
 
        static Eina_Bool sm_CbTimerSlideshow(void *dt);
 
@@ -94,6 +92,9 @@ private:
        void m_HandleZoomFunction(const char *btn_id);
        void m_HandleSpeedFunction(const char *btn_id);
 
+       void m_ShowMenuView();
+       void m_HideMenuView();
+
 public:
        CPhotoViewerView(const char *szViewId) : CBaseView(szViewId),
                IKeyDownListener(this), IMouseClickedListener(this),
index 2633af9..2081d37 100644 (file)
@@ -553,6 +553,8 @@ bool CPhotoViewerView::m_DrawBottomArea(void)
 
                elm_object_focus_next_object_set(m->btn[i], m->btn[i], ELM_FOCUS_UP);
                elm_object_focus_next_object_set(m->btn[i], m->btn[i], ELM_FOCUS_DOWN);
+
+               elm_object_focus_allow_set(m->btn[i], EINA_FALSE);
        }
 
        util_ui_set_focus_directions(m->btn,
@@ -569,16 +571,28 @@ void CPhotoViewerView::sm_CbShowViewFinish(void *dt, Evas_Object *obj, const cha
        CPhotoViewerView *root = (CPhotoViewerView*)dt;
 
        if (root)
-               root->m_OnShowViewFinish(obj, emission, source);
+               root->m_ShowMenuView();
 }
 
 
-void CPhotoViewerView::m_OnShowViewFinish(Evas_Object *obj, const char *emission, const char *source)
+void CPhotoViewerView::m_ShowMenuView(void)
 {
        int i;
 
-       for (i = 0; i < MAX_PHOTO_ICONS; i++)
+       for (i = 0; i < MAX_PHOTO_ICONS; i++) {
                evas_object_freeze_events_set(m->btn[i], EINA_FALSE);
+               elm_object_focus_allow_set(m->btn[i], EINA_TRUE);
+       }
+}
+
+void CPhotoViewerView::m_HideMenuView(void)
+{
+       int i;
+
+       for (i = 0; i < MAX_PHOTO_ICONS; i++) {
+               evas_object_freeze_events_set(m->btn[i], EINA_TRUE);
+               elm_object_focus_allow_set(m->btn[i], EINA_FALSE);
+       }
 }
 
 
@@ -617,6 +631,8 @@ Eina_Bool CPhotoViewerView::sm_CbFocus(void *dt)
 
 Eina_Bool CPhotoViewerView::OnFocus(void)
 {
+       m_ShowMenuView();
+
        /* set focus on Next button in photo viewer */
        elm_object_focus_set(m->btn[1], EINA_TRUE);
 
@@ -808,8 +824,6 @@ void CPhotoViewerView::t_OnResume(void)
 
 void CPhotoViewerView::OnTimeout(void)
 {
-       int i;
-
        if (m->pCtxPopup) {
                m->pCtxPopup->Destroy();
                delete m->pCtxPopup;
@@ -818,8 +832,7 @@ void CPhotoViewerView::OnTimeout(void)
 
        elm_object_signal_emit(m->base, SIG_HIDE, "");
 
-       for (i = 0; i < MAX_PHOTO_ICONS; i++)
-               evas_object_freeze_events_set(m->btn[i], EINA_TRUE);
+       m_HideMenuView();
 }
 
 
@@ -913,7 +926,6 @@ void CPhotoViewerView::OnFocused(int id, Evas_Object *obj, Elm_Object_Item *item
        switch (id) {
        case PHOTOVIEWER_BTN:
                if (m->focusedbtn != obj) {
-
                        if (m->focusedbtn)
                                elm_object_tooltip_hide(m->focusedbtn);