From 833964d9486df0c658dd75b810309c6c30f237f5 Mon Sep 17 00:00:00 2001 From: Kim Tae Soo Date: Thu, 12 Mar 2015 16:30:28 +0900 Subject: [PATCH] Fix Bug: Button doesn't work in Category-Album layout Change-Id: I1a5b4776305587ad7fc5bdd0483adfb6abf46c7c Signed-off-by: Kim Tae Soo --- include/category-layout.h | 4 +++- src/views/category-layout.cpp | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/include/category-layout.h b/include/category-layout.h index 1a89dcb..848eee2 100644 --- a/include/category-layout.h +++ b/include/category-layout.h @@ -19,7 +19,7 @@ class CCategoryLayout : public CExtBaseLayout, public CListenerMgr, - public IKeyDownListener, public IMouseMoveListener, + public IKeyDownListener, public IMouseClickedListener, public IMouseMoveListener, public IRealizedListener, public IUnrealizedListener, public IActivatedListener { private: struct SCategoryLayout *m; @@ -132,6 +132,7 @@ public: CCategoryLayout(const char *pLayoutId) : CExtBaseLayout(pLayoutId), IKeyDownListener(this), + IMouseClickedListener(this), IMouseMoveListener(this), IRealizedListener(this), IUnrealizedListener(this), @@ -151,6 +152,7 @@ public: public: virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev); + virtual void OnMouseClicked(int id, Evas_Object *obj); virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev); virtual void OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item); virtual void OnUnrealized(int id, Evas_Object *obj, Elm_Object_Item *item); diff --git a/src/views/category-layout.cpp b/src/views/category-layout.cpp index b86e802..ef58b29 100644 --- a/src/views/category-layout.cpp +++ b/src/views/category-layout.cpp @@ -773,7 +773,7 @@ void CCategoryLayout::m_AddButtons(void) elm_object_text_set(m->add_btn[i], _(btninfo[i].name)); elm_object_style_set(m->add_btn[i], btninfo[i].style); - Connect(m->add_btn[i], btninfo[ABTN_LAST].type, TYPE_CLICKED | TYPE_MOUSE_MOVE); + Connect(m->add_btn[i], btninfo[i].type, TYPE_CLICKED | TYPE_MOUSE_MOVE); img = elm_image_add(m->add_btn[i]); if (img) { @@ -1390,9 +1390,40 @@ void CCategoryLayout::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Ke } +void CCategoryLayout::OnMouseClicked(int id, Evas_Object *obj) +{ + switch (id) + { + case CATEGORY_LAYOUT_PLAY_BUTTON: + m_GotoPlayback(ADD_TYPE_FRESH, NULL); + break; + + case CATEGORY_LAYOUT_NEXT_BUTTON: + m_GotoPlayback(ADD_TYPE_NEXT, NULL); + break; + + case CATEGORY_LAYOUT_LAST_BUTTON: + m_GotoPlayback(ADD_TYPE_END, NULL); + break; + + default: + break; + } +} + + void CCategoryLayout::OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev) { switch (id) { + case CATEGORY_LAYOUT_PLAY_BUTTON: + case CATEGORY_LAYOUT_NEXT_BUTTON: + case CATEGORY_LAYOUT_LAST_BUTTON: + { + if (!elm_object_focus_get(obj)) + elm_object_focus_set(obj, EINA_TRUE); + } + break; + case CATEGORY_LAYOUT_GENGRID: { Elm_Object_Item *item; -- 2.7.4