class CMusicBaseView : public CBaseView,
public IMouseMoveListener, public IMouseClickedListener,
- public IMusicControllerListener
-{
+ public IMusicControllerListener, public IFocusedListener {
private:
struct SMusicBaseView* m;
CBaseView(pViewId),
IMouseMoveListener(this),
IMouseClickedListener(this),
+ IFocusedListener(this),
m(0) {}
virtual ~CMusicBaseView() {}
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:
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) {
}
+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();