Fix focus sequence between group buttons and layouts 20/36920/1 submit/tizen_tv/20150317.055139
authorKim Tae Soo <taesoo46.kim@samsung.com>
Tue, 17 Mar 2015 05:49:01 +0000 (14:49 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Tue, 17 Mar 2015 05:49:01 +0000 (14:49 +0900)
Change-Id: Iaac6ce05c33a543fe01315fc07d3cb0f416e9aae
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
include/base-view.h
src/views/base-view.cpp

index 97797c1..b8a8856 100644 (file)
@@ -30,8 +30,7 @@ struct SArgList {
 
 class CMusicBaseView : public CBaseView,
        public IMouseMoveListener, public IMouseClickedListener,
-       public IMusicControllerListener
-{
+       public IMusicControllerListener, public IFocusedListener {
 private:
        struct SMusicBaseView* m;
 
@@ -76,6 +75,7 @@ public:
                CBaseView(pViewId),
                IMouseMoveListener(this),
                IMouseClickedListener(this),
+               IFocusedListener(this),
                m(0) {}
        virtual ~CMusicBaseView() {}
 
@@ -89,6 +89,7 @@ public:
        virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
        virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
        virtual void OnMouseClicked(int id, Evas_Object *obj);
+       virtual void OnFocused(int id, Evas_Object *obj, Elm_Object_Item *item);
 
 
 protected:
index faece1f..39d1b6f 100644 (file)
@@ -629,7 +629,7 @@ void CMusicBaseView::m_CreateLeftSection(void)
                elm_object_style_set(m->group_btn[i], MUSIC_STYLE_GROUPBTN);
                elm_object_text_set(m->group_btn[i], _(btninfo[i].txt));
 
-               Connect(m->group_btn[i], btninfo[i].type, TYPE_KEY_DOWN | TYPE_MOUSE_MOVE | TYPE_CLICKED);
+               Connect(m->group_btn[i], btninfo[i].type, TYPE_KEY_DOWN | TYPE_MOUSE_MOVE | TYPE_CLICKED | TYPE_FOCUSED);
 
                ic = elm_image_add(m->group_btn[i]);
                if (ic) {
@@ -1110,6 +1110,25 @@ void CMusicBaseView::OnMouseClicked(int id, Evas_Object *obj)
 }
 
 
+void CMusicBaseView::OnFocused(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+       switch (id) {
+       case BASE_VIEW_GROUP_SONG:
+       case BASE_VIEW_GROUP_ALBUM:
+       case BASE_VIEW_GROUP_ARTIST:
+       case BASE_VIEW_GROUP_GENRE:
+       case BASE_VIEW_GROUP_FOLDER:
+       case BASE_VIEW_GROUP_PLAYLIST:
+               if (m->lmgr->Layout())
+                       m_UpdateCurrentLayout(false);
+               break;
+
+       default:
+               break;
+       }
+}
+
+
 void CMusicBaseView::t_OnComplete(void)
 {
        m_UpdatePlaysongLabel();