Apply ISKeyDownListener & ISKeyUpListener to Views 11/38611/4
authorKim Tae Soo <taesoo46.kim@samsung.com>
Thu, 23 Apr 2015 00:38:42 +0000 (09:38 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Thu, 23 Apr 2015 01:30:56 +0000 (10:30 +0900)
Change-Id: I4ae4eebd0282a3ce2e04686120611e31504ed2c0
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
13 files changed:
include/base-view.h
include/common.h
include/context-view.h
include/playback-view.h
src/views/album-layout.cpp
src/views/album-songs-layout.cpp
src/views/base-view.cpp
src/views/category-layout.cpp
src/views/category-songs-layout.cpp
src/views/context-view.cpp
src/views/folder-layout.cpp
src/views/playback-view.cpp
src/views/song-layout.cpp

index 3a783ae..f6705d3 100644 (file)
@@ -86,8 +86,8 @@ public:
        virtual Evas_Object* Base(void);
 
 public:
-       virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
-       virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
+       virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev);
+       virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_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);
 
index 7a6e5b3..19ba104 100644 (file)
@@ -168,7 +168,7 @@ struct SParcel {
        SContentInfo *ctxtInfo;
        int updateType;
        const char *layoutId;
-       const char *keyEvent;
+       ESKey keyEvent;
        const char *focusedBtn;
 };
 
index 6395a3e..299cb62 100644 (file)
@@ -102,8 +102,8 @@ public:
        virtual Evas_Object* Base(void);
 
 public:
-       virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
-       virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
+       virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev);
+       virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev);
        virtual void OnMouseMove(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Move *ev);
        virtual void OnMouseUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Up *ev);
        virtual void OnFocused(int id, Evas_Object *obj, Elm_Object_Item *item);
index 039a13f..13584e9 100644 (file)
@@ -48,8 +48,8 @@ private:
        int m_CbCurrentSongCount(void);
 
 private:
-       void m_HandleKeyPress(char *keyname);
-       void m_HandleKeyUnpress(char *keyname);
+       void m_HandleKeyPress(ESKey skey);
+       void m_HandleKeyUnpress(ESKey skey);
 
        void m_KeyBackPress(void);
        void m_KeyExitPress(void);
@@ -107,8 +107,8 @@ public:
        virtual Evas_Object* Base(void);
 
        // Listener virtual function
-       virtual void OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev);
-       virtual void OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
+       virtual void OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev);
+       virtual void OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev);
        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 OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
index 0f3ef62..994e13f 100644 (file)
@@ -470,10 +470,9 @@ bool CAlbumLayout::Create(CLayoutMgr *mgr, const char *albumId)
                        m_CreateAlbumGrid();
                        Connect(layout, ALBUM_LAYOUT, TYPE_KEY_DOWN);
 
-                       parcel.ctxtInfo = NULL;
+                       memset(&parcel, NULL, sizeof(SParcel));
                        parcel.updateType = E_LAYOUT_UPDATE;
                        parcel.layoutId = MUSIC_ALBUM_LAYOUT;
-                       parcel.keyEvent = NULL;
                        m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
                }
 
@@ -598,20 +597,21 @@ void CAlbumLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey
 {
        switch (id) {
        case ALBUM_LAYOUT:
-               if (ev->skey == SKEY_BACK) {
+               switch (ev->skey) {
+               case SKEY_BACK:
                        SParcel parcel;
                        memset(&parcel, 0, sizeof(SParcel));
                        parcel.updateType = E_FOCUS_UPDATE;
                        m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       break;
+
+               default:
+                       break;
                }
-               break;
 
        case ALBUM_GENGRID:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SAlbumItemInfo *itinfo = NULL;
-
                        it = elm_object_focused_item_get(obj);
                        if (!it) {
                                _ERR(" unable to get focused item ");
@@ -620,35 +620,45 @@ void CAlbumLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey
 
                        m->focusedItem = it;
 
-                       if (ev->skey == SKEY_MENU) {
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
-                               }
-
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfo(m->it_infolist, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
+                       switch (ev->skey) {
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SAlbumItemInfo *itinfo = NULL;
+                                       
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfo(m->it_infolist, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       ctxtinfo->type = CONTEXT_TYPE_ALBUM;
+                                       ctxtinfo->context = itinfo->alinfo;
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+
+                                       m->ctxtinfo = ctxtinfo;
+
+                                       SParcel parcel;
+                                       memset(&parcel, 0, sizeof(SParcel));
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
+                               break;
 
-                               ctxtinfo->type = CONTEXT_TYPE_ALBUM;
-                               ctxtinfo->context = itinfo->alinfo;
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-
-                               m->ctxtinfo = ctxtinfo;
-
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;
index 631baff..16d2b70 100644 (file)
@@ -640,66 +640,78 @@ void CAlbumSongsLayout::t_OnShow(void)
 
 void CAlbumSongsLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev)
 {
+       SParcel parcel;
+       memset(&parcel, 0, sizeof(SParcel));
+
        switch (id)
        {
        case ALBUM_SONGS_LAYOUT:
-               if (ev->skey == SKEY_BACK) {
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
+               switch (ev->skey) {
+               case SKEY_BACK:
                        parcel.updateType = E_DEPTH_UPDATE;
                        parcel.layoutId = MUSIC_ALBUM_SONGS_LAYOUT;
                        m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       break;
+
+               default:
+                       break;
                }
                break;
 
        case ALBUM_SONGS_GENLIST:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SAlbumSongsItemInfo *itinfo = NULL;
-                       SParcel parcel;
-
-                       memset(&parcel, 0, sizeof(SParcel));
-
                        it = elm_object_focused_item_get(obj);
                        if (!it) {
                                _ERR(" unable to get focused item ");
                                return;
                        }
 
-                       if (ev->skey == SKEY_LEFT) {
+                       m->focused_item = it;
+
+                       switch (ev->skey) {
+                       case SKEY_LEFT:
                                parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_MAX;
                                m->vmgr->UpdateView(MUSIC_BASE_VIEW, &parcel);
-                       }
-                       else if (ev->skey == SKEY_MENU) {
-                               m->focused_item = it;
-
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
+                               break;
+
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SAlbumSongsItemInfo *itinfo = NULL;
+
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       ctxtinfo->type = CONTEXT_TYPE_SONG;
+                                       ctxtinfo->context = itinfo->sinfo;
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+
+                                       m->ctxtinfo = ctxtinfo;
+
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
+                               break;
 
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
-                               }
-
-                               ctxtinfo->type = CONTEXT_TYPE_SONG;
-                               ctxtinfo->context = itinfo->sinfo;
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-
-                               m->ctxtinfo = ctxtinfo;
-
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;
@@ -707,22 +719,29 @@ void CAlbumSongsLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event
        case ALBUM_SONGS_PLAY_BUTTON:
        case ALBUM_SONGS_NEXT_BUTTON:
        case ALBUM_SONGS_LAST_BUTTON:
-               if (ev->skey == SKEY_UP) {
-                       const char *btnText = NULL;
-
-                       if (id == ALBUM_SONGS_PLAY_BUTTON)
-                               btnText = MUSIC_FIRST_BTN;
-                       else if (id == ALBUM_SONGS_NEXT_BUTTON)
-                               btnText = MUSIC_SECOND_BTN;
-                       else //ALBUM_SONGS_LAST_BUTTON
-                               btnText = MUSIC_THIRD_BTN;
-
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
-                       parcel.updateType = E_FOCUS_UPDATE;
-                       parcel.keyEvent = KEY_UP;
-                       parcel.focusedBtn = btnText;
-                       m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+               switch (ev->skey) {
+               case SKEY_UP:
+                       {
+                               const char *btnText = NULL;
+
+                               if (id == ALBUM_SONGS_PLAY_BUTTON)
+                                       btnText = MUSIC_FIRST_BTN;
+                               else if (id == ALBUM_SONGS_NEXT_BUTTON)
+                                       btnText = MUSIC_SECOND_BTN;
+                               else //ALBUM_SONGS_LAST_BUTTON
+                                       btnText = MUSIC_THIRD_BTN;
+
+                               SParcel parcel;
+                               memset(&parcel, 0, sizeof(SParcel));
+                               parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_UP;
+                               parcel.focusedBtn = btnText;
+                               m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       }
+                       break;
+
+               default:
+                       break;
                }
                break;
 
index 98f9b4e..50ed0a4 100644 (file)
@@ -897,7 +897,7 @@ void CMusicBaseView::t_OnUpdate(void *data)
        SParcel *parcel = (SParcel *)data;
 
        if (parcel->updateType == E_FOCUS_UPDATE) {
-               if (parcel->keyEvent && !strcmp(parcel->keyEvent, KEY_UP)) {
+               if (parcel->keyEvent == SKEY_UP) {
                        Evas_Object *focus = NULL;
 
                        if (!strcmp(parcel->focusedBtn, MUSIC_FIRST_BTN)) {
@@ -967,65 +967,84 @@ void CMusicBaseView::t_OnHide(void)
 }
 
 
-void CMusicBaseView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev)
+void CMusicBaseView::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev)
 {
        switch (id) {
        case BASE_VIEW:
-               if (!strcmp(ev->keyname, KEY_EXIT)) {
+               switch (ev->skey) {
+               case SKEY_EXIT:
                        m->pController->Stop();
                        elm_exit();
-               }
-               else if (!strcmp(ev->keyname, KEY_ENTER) ||
-                       !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
+                       break;
+
+               case SKEY_ENTER:
                        if (elm_object_focus_get(m->c_grpbtn)) {
                                m_UpdateCurrentLayout(true);
                        }
-               }
-               else if (!strcmp(ev->keyname, KEY_VOLUMEUP) ||
-                       !strcmp(ev->keyname, KEY_VOLUMEUP_REMOTE))
+                       break;
+
+               case SKEY_VOLUME_UP:
                        m->pHandleVolume->Up();
-               else if (!strcmp(ev->keyname, KEY_VOLUMEDOWN) ||
-                       !strcmp(ev->keyname, KEY_VOLUMEDOWN_REMOTE))
+                       break;
+
+               case SKEY_VOLUME_DOWN:
                        m->pHandleVolume->Down();
-               else if (!strcmp(ev->keyname, KEY_MUTE))
+                       break;
+
+               case SKEY_MUTE:
                        m->pHandleVolume->Mute();
-               else if (!strcmp(ev->keyname, KEY_NEXT) ||
-                       !strcmp(ev->keyname, KEY_PREVIOUS) ||
-                       !strcmp(ev->keyname, KEY_PLAY) ||
-                       !strcmp(ev->keyname, KEY_PAUSE)) {
+                       break;
+
+               case SKEY_PLAY:
+               case SKEY_PAUSE:
+               case SKEY_PREVIOUS:
+               case SKEY_NEXT:
                        SParcel parcel;
                        memset(&parcel, 0, sizeof(SParcel));
                        parcel.updateType = E_KEY_PRESS;
-                       parcel.keyEvent = ev->keyname;
+                       parcel.keyEvent = ev->skey;
                        CViewMgr::GetInstance()->UpdateView((const char *)MUSIC_PLAYBACK_VIEW, &parcel);
-               }
-               else if (!strcmp(ev->keyname, KEY_LEFT))
+                       break;
+
+               case SKEY_LEFT:
                        m->eiShowLayout = ecore_idler_add(sm_CbShowLayoutIdler, this);
+                       break;
+
+               default:
+                       break;
+               }
                break;
 
        case BASE_VIEW_PLAY_BUTTON:
        case BASE_VIEW_SORT_BUTTON:
        case BASE_VIEW_SOURCE_BUTTON:
-               if (!strcmp(ev->keyname, KEY_BACK) ||
-                       !strcmp(ev->keyname, KEY_BACK_REMOTE))
+               switch (ev->skey) {
+               case SKEY_BACK:
                        elm_object_focus_set(m->c_grpbtn, EINA_TRUE);
-               else if (!strcmp(ev->keyname, KEY_DOWN) &&
-                       !((CExtBaseLayout *)m->lmgr->Layout())->EmptyStatus()) {
-                       const char *btnText = NULL;
-
-                       if (id == BASE_VIEW_PLAY_BUTTON)
-                               btnText = MUSIC_FIRST_BTN;
-                       else if (id == BASE_VIEW_SORT_BUTTON)
-                               btnText = MUSIC_SECOND_BTN;
-                       else { //BASE_VIEW_SOURCE_BUTTON
-                               if (m->srcBtnFocusedBySecondBtn)
+                       break;
+
+               case SKEY_DOWN:
+                       if (!((CExtBaseLayout *)m->lmgr->Layout())->EmptyStatus()) {
+                               const char *btnText = NULL;
+
+                               if (id == BASE_VIEW_PLAY_BUTTON)
+                                       btnText = MUSIC_FIRST_BTN;
+                               else if (id == BASE_VIEW_SORT_BUTTON)
                                        btnText = MUSIC_SECOND_BTN;
-                               else
-                                       btnText = MUSIC_THIRD_BTN;
+                               else { //BASE_VIEW_SOURCE_BUTTON
+                                       if (m->srcBtnFocusedBySecondBtn)
+                                               btnText = MUSIC_SECOND_BTN;
+                                       else
+                                               btnText = MUSIC_THIRD_BTN;
+                               }
+
+                               CExtBaseLayout *layout = (CExtBaseLayout *)m->lmgr->Layout();
+                               layout->SetFocus(btnText);
                        }
+                       break;
 
-                       CExtBaseLayout *layout = (CExtBaseLayout *)m->lmgr->Layout();
-                       layout->SetFocus(btnText);
+               default:
+                       break;
                }
                break;
 
@@ -1035,10 +1054,14 @@ void CMusicBaseView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key
        case BASE_VIEW_GROUP_GENRE:
        case BASE_VIEW_GROUP_FOLDER:
        case BASE_VIEW_GROUP_PLAYLIST:
-               if (!strcmp(ev->keyname, KEY_BACK) ||
-                       !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+               switch (ev->skey) {
+               case SKEY_BACK:
                        m->pController->Stop();
                        elm_exit();
+                       break;
+
+               default:
+                       break;
                }
                break;
 
@@ -1048,18 +1071,23 @@ void CMusicBaseView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key
 }
 
 
-void CMusicBaseView::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev)
+void CMusicBaseView::OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev)
 {
        switch (id) {
        case BASE_VIEW:
-               if (!strcmp(ev->keyname, KEY_NEXT) ||
-                       !strcmp(ev->keyname, KEY_PREVIOUS)) {
+               switch (ev->skey) {
+               case SKEY_NEXT:
+               case SKEY_PREVIOUS:
                        SParcel parcel;
                        memset(&parcel, 0, sizeof(SParcel));
                        parcel.updateType = E_KEY_RELEASE;
-                       parcel.keyEvent = ev->keyname;
+                       parcel.keyEvent = ev->skey;
                        CViewMgr::GetInstance()->UpdateView((const char *)MUSIC_PLAYBACK_VIEW, &parcel);
                        m_UpdatePlaysongLabel();
+                       break;
+
+               default:
+                       break;
                }
                break;
 
index e439290..d5140db 100644 (file)
@@ -1284,7 +1284,8 @@ void CCategoryLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_S
                        int count;
                        Eina_List *alist = NULL;
 
-                       if (ev->skey == SKEY_BACK) {
+                       switch (ev->skey) {
+                       case SKEY_BACK:
                                if (t.depth == E_DEPTH_CATEGORY) {
                                        SParcel parcel;
                                        memset(&parcel, 0, sizeof(SParcel));
@@ -1313,6 +1314,10 @@ void CCategoryLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_S
                                }
 
                                t_UpdateLayoutWithFocus();
+                               break;
+
+                       default:
+                               break;
                        }
                }
                break;
@@ -1320,12 +1325,6 @@ void CCategoryLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_S
        case CATEGORY_LAYOUT_GENGRID:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SCatItemInfo *itinfo = NULL;
-
-                       if (!obj)
-                               return;
-
                        it = elm_object_focused_item_get(obj);
                        if (!it) {
                                _ERR(" unable to get focused item ");
@@ -1334,43 +1333,54 @@ void CCategoryLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_S
 
                        t.focused_item = it;
 
-                       if ((ev->skey == SKEY_MENU) &&
-                               t.depth != E_DEPTH_SELECT_LIST &&
-                               t.depth != E_DEPTH_SHOW_LIST) {
-                               if (t.ctxtinfo) {
-                                       free(t.ctxtinfo);
-                                       t.ctxtinfo = NULL;
+                       switch (ev->skey) {
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SCatItemInfo *itinfo = NULL;
+                                       
+                                       if (t.depth != E_DEPTH_SELECT_LIST &&
+                                               t.depth != E_DEPTH_SHOW_LIST) {
+                                               if (t.ctxtinfo) {
+                                                       free(t.ctxtinfo);
+                                                       t.ctxtinfo = NULL;
+                                               }
+
+                                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                               if (!ctxtinfo)
+                                                       return;
+
+                                               itinfo = m_FindItemInfo(m->it_infolist, it);
+                                               if (!itinfo || itinfo->type == CAT_TYPE_PLAYLIST_NEW) {
+                                                       free(ctxtinfo);
+                                                       return;
+                                               }
+
+                                               ctxtinfo->cbdata = this;
+                                               ctxtinfo->update = sm_CbCtxtUpdate;
+                                               ctxtinfo->close = sm_CbCtxtClose;
+                                               if (t.depth == E_DEPTH_ALBUM) {
+                                                       ctxtinfo->type = CONTEXT_TYPE_ALBUM;
+                                                       ctxtinfo->context = itinfo->alinfo;
+                                               }
+                                               else {
+                                                       ctxtinfo->type = t_ContextType();
+                                                       ctxtinfo->context = itinfo->catinfo;
+                                               }
+
+                                               t.ctxtinfo = ctxtinfo;
+
+                                               SParcel parcel;
+                                               memset(&parcel, 0, sizeof(SParcel));
+                                               parcel.ctxtInfo = ctxtinfo;
+                                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                                       }
                                }
+                               break;
 
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfo(m->it_infolist, it);
-                               if (!itinfo || itinfo->type == CAT_TYPE_PLAYLIST_NEW) {
-                                       free(ctxtinfo);
-                                       return;
-                               }
-
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-                               if (t.depth == E_DEPTH_ALBUM) {
-                                       ctxtinfo->type = CONTEXT_TYPE_ALBUM;
-                                       ctxtinfo->context = itinfo->alinfo;
-                               }
-                               else {
-                                       ctxtinfo->type = t_ContextType();
-                                       ctxtinfo->context = itinfo->catinfo;
-                               }
-
-                               t.ctxtinfo = ctxtinfo;
-
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;
@@ -1378,22 +1388,29 @@ void CCategoryLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_S
        case CATEGORY_LAYOUT_PLAY_BUTTON:
        case CATEGORY_LAYOUT_NEXT_BUTTON:
        case CATEGORY_LAYOUT_LAST_BUTTON:
-               if (ev->skey == SKEY_UP) {
-                       const char *btnText = NULL;
-
-                       if (id == CATEGORY_LAYOUT_PLAY_BUTTON)
-                               btnText = MUSIC_FIRST_BTN;
-                       else if (id == CATEGORY_LAYOUT_NEXT_BUTTON)
-                               btnText = MUSIC_SECOND_BTN;
-                       else //CATEGORY_LAYOUT_LAST_BUTTON
-                               btnText = MUSIC_THIRD_BTN;
-
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
-                       parcel.updateType = E_FOCUS_UPDATE;
-                       parcel.keyEvent = KEY_UP;
-                       parcel.focusedBtn = btnText;
-                       m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+               switch (ev->skey) {
+               case SKEY_UP:
+                       {
+                               const char *btnText = NULL;
+
+                               if (id == CATEGORY_LAYOUT_PLAY_BUTTON)
+                                       btnText = MUSIC_FIRST_BTN;
+                               else if (id == CATEGORY_LAYOUT_NEXT_BUTTON)
+                                       btnText = MUSIC_SECOND_BTN;
+                               else //CATEGORY_LAYOUT_LAST_BUTTON
+                                       btnText = MUSIC_THIRD_BTN;
+
+                               SParcel parcel;
+                               memset(&parcel, 0, sizeof(SParcel));
+                               parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_UP;
+                               parcel.focusedBtn = btnText;
+                               m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       }
+                       break;
+
+               default:
+                       break;
                }
                break;
 
index 3869250..0462b60 100644 (file)
@@ -989,66 +989,77 @@ void CCategorySongsLayout::t_OnShow(void)
 
 void CCategorySongsLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev)
 {
+       SParcel parcel;
+       memset(&parcel, 0, sizeof(SParcel));
+
        switch (id)
        {
        case CATEGORY_SONGS_LAYOUT:
-               if (ev->skey == SKEY_BACK) {
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
+               switch (ev->skey) {
+               case SKEY_BACK:
                        parcel.updateType = E_DEPTH_UPDATE;
                        parcel.layoutId = LayoutId();
                        m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       break;
+
+               default:
+                       break;
                }
                break;
 
        case CATEGORY_SONGS_GENLIST:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SCategorySongsItemsInfo *itinfo = NULL;
+                       it = elm_object_focused_item_get(obj);
+                       if (!it) {
+                               _ERR(" unable to get focused item ");
+                               return;
+                       }
+                       m->focused_item = it;
 
-                       if (ev->skey == SKEY_LEFT) {
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
+                       switch (ev->skey) {
+                       case SKEY_LEFT:
                                parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_MAX;
                                m->vmgr->UpdateView(MUSIC_BASE_VIEW, &parcel);
-                       }
-                       else if (ev->skey == SKEY_MENU) {
-                               it = elm_object_focused_item_get(obj);
-                               if (!it) {
-                                       _ERR(" unable to get focused item ");
-                                       return;
+                               break;
+
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SCategorySongsItemsInfo *itinfo = NULL;
+
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       ctxtinfo->type = CONTEXT_TYPE_SONG;
+                                       ctxtinfo->context = itinfo->sinfo;
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+
+                                       m->ctxtinfo = ctxtinfo;
+
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
-                               m->focused_item = it;
-
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
-                               }
-
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
+                               break;
 
-                               itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
-                               }
-
-                               ctxtinfo->type = CONTEXT_TYPE_SONG;
-                               ctxtinfo->context = itinfo->sinfo;
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-
-                               m->ctxtinfo = ctxtinfo;
-
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;
@@ -1059,24 +1070,31 @@ void CCategorySongsLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Ev
        case CATEGORY_SONGS_SELECT_ALL_BUTTON:
        case CATEGORY_SONGS_DONE_BUTTON:
        case CATEGORY_SONGS_CANCEL_BUTTON:
-               if (!strcmp(ev->keyname, KEY_UP)) {
-                       const char *btnText = NULL;
-
-                       if (id == CATEGORY_SONGS_PLAY_BUTTON
-                               || id == CATEGORY_SONGS_SELECT_ALL_BUTTON)
-                               btnText = MUSIC_FIRST_BTN;
-                       else if (id == CATEGORY_SONGS_NEXT_BUTTON
-                               || id == CATEGORY_SONGS_DONE_BUTTON)
-                               btnText = MUSIC_SECOND_BTN;
-                       else //CATEGORY_SONGS_LAST_BUTTON or CATEGORY_SONGS_CANCEL_BUTTON
-                               btnText = MUSIC_THIRD_BTN;
+               switch (ev->skey) {
+               case SKEY_UP:
+                       {
+                               const char *btnText = NULL;
+
+                               if (id == CATEGORY_SONGS_PLAY_BUTTON
+                                       || id == CATEGORY_SONGS_SELECT_ALL_BUTTON)
+                                       btnText = MUSIC_FIRST_BTN;
+                               else if (id == CATEGORY_SONGS_NEXT_BUTTON
+                                       || id == CATEGORY_SONGS_DONE_BUTTON)
+                                       btnText = MUSIC_SECOND_BTN;
+                               else //CATEGORY_SONGS_LAST_BUTTON or CATEGORY_SONGS_CANCEL_BUTTON
+                                       btnText = MUSIC_THIRD_BTN;
 
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
-                       parcel.updateType = E_FOCUS_UPDATE;
-                       parcel.keyEvent = KEY_UP;
-                       parcel.focusedBtn = btnText;
-                       m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                               SParcel parcel;
+                               memset(&parcel, 0, sizeof(SParcel));
+                               parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_UP;
+                               parcel.focusedBtn = btnText;
+                               m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       }
+                       break;
+
+               default:
+                       break;
                }
                break;
 
index 933ee5b..91258f0 100644 (file)
@@ -1356,18 +1356,24 @@ void CContextView::t_OnHide(void)
 }
 
 
-void CContextView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev)
+void CContextView::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev)
 {
        switch (id) {
        case CONTEXT_VIEW:
                {
-                       if (!strcmp(ev->keyname, KEY_BACK) ||
-                               !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+                       switch (ev->skey) {
+                       case SKEY_BACK:
                                if (m->ctxtinfo && m->ctxtinfo->close)
                                        m->ctxtinfo->close(m->ctxtinfo->cbdata);
-                       }
-                       else if (!strcmp(ev->keyname, KEY_EXIT))
+                               break;
+
+                       case SKEY_EXIT:
                                elm_exit();
+                               break;
+
+                       default:
+                               break;
+                       }
                }
                break;
 
@@ -1377,7 +1383,7 @@ void CContextView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_D
 }
 
 
-void CContextView::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev)
+void CContextView::OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev)
 {
        switch (id) {
        case CONTEXT_VIEW:
@@ -1393,39 +1399,36 @@ void CContextView::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up
        case CONTEXT_VIEW_BUTTON_ADDSONG:
        case CONTEXT_VIEW_BUTTON_REMOVESONG:
        case CONTEXT_VIEW_BUTTON_DELETE:
-               {
-                       if (strcmp(ev->keyname, KEY_ENTER) &&
-                               strcmp(ev->keyname, KEY_ENTER_REMOTE))
-                               return;
-
+               switch (ev->skey) {
+               case SKEY_ENTER:
                        m_HandleBtnSelected(id);
+                       break;
+
+               default:
+                       break;
                }
                break;
 
        case CONTEXT_VIEW_MORE_INFO:
-               {
-                       if (!obj || !ev)
-                               return;
-
-                       if (strcmp(ev->keyname, KEY_ENTER) &&
-                               strcmp(ev->keyname, KEY_ENTER_REMOTE))
-                               return;
-
+               switch (ev->skey) {
+               case SKEY_ENTER:
                        m_HandleMoreinfoSelected(obj);
+                       break;
+
+               default:
+                       break;
                }
                break;
 
        default: // CONTEXT_VIEW_RELATIVE_CONTENT
-               {
-                       if (!obj || !ev)
-                               return;
-
-                       if (strcmp(ev->keyname, KEY_ENTER) &&
-                               strcmp(ev->keyname, KEY_ENTER_REMOTE))
-                               return;
-
+               switch (ev->skey) {
+               case SKEY_ENTER:
                        elm_object_signal_emit(obj, MUSIC_SIGNAL_CONTENT_CLICKED,
                                MUSIC_CONTEXT_VIEW);
+                       break;
+
+               default:
+                       break;
                }
                break;
        }
index 21e2728..33c152d 100644 (file)
@@ -938,7 +938,8 @@ void CFolderLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKe
        switch (id) {
        case FOLDER_LAYOUT:
                {
-                       if (ev->skey == SKEY_BACK) {
+                       switch (ev->skey) {
+                       case SKEY_BACK:
                                if (m->depth == E_DEPTH_SONG) {
                                        m->depth = E_DEPTH_FOLDER;
                                        m_UpdateFolderGrid(false);
@@ -952,6 +953,10 @@ void CFolderLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKe
                                        parcel.updateType = E_FOCUS_UPDATE;
                                        m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
                                }
+                               break;
+
+                       default:
+                               break;
                        }
                }
                break;
@@ -959,54 +964,58 @@ void CFolderLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKe
        case FOLDER_LAYOUT_GENGRID:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SFolderItemInfo *itinfo = NULL;
-
-                       if (!obj)
+                       it = elm_object_focused_item_get(obj);
+                       if (!it) {
+                               _ERR(" unable to get focused item ");
                                return;
+                       }
+                       m->focused_item = it;
+
+                       switch (ev->skey) {
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SFolderItemInfo *itinfo = NULL;
+
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfo(m->it_infolist, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+                                       if (m->depth == E_DEPTH_SONG) {
+                                               ctxtinfo->type = CONTEXT_TYPE_SONG;
+                                               ctxtinfo->context = itinfo->sinfo;
+                                       }
+                                       else {
+                                               ctxtinfo->type = CONTEXT_TYPE_FOLDER;
+                                               ctxtinfo->context = itinfo->finfo;
+                                       }
+
+                                       m->ctxtinfo = ctxtinfo;
 
-                       if (ev->skey == SKEY_MENU) {
-                               it = elm_object_focused_item_get(obj);
-                               if (!it) {
-                                       _ERR(" unable to get focused item ");
-                                       return;
-                               }
-                               m->focused_item = it;
-
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
-                               }
-
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfo(m->it_infolist, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
-                               }
-
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-                               if (m->depth == E_DEPTH_SONG) {
-                                       ctxtinfo->type = CONTEXT_TYPE_SONG;
-                                       ctxtinfo->context = itinfo->sinfo;
-                               }
-                               else {
-                                       ctxtinfo->type = CONTEXT_TYPE_FOLDER;
-                                       ctxtinfo->context = itinfo->finfo;
+                                       SParcel parcel;
+                                       memset(&parcel, 0, sizeof(SParcel));
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
+                               break;
 
-                               m->ctxtinfo = ctxtinfo;
-
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;
@@ -1014,24 +1023,30 @@ void CFolderLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKe
        case FOLDER_LAYOUT_PLAY_BUTTON:
        case FOLDER_LAYOUT_NEXT_BUTTON:
        case FOLDER_LAYOUT_LAST_BUTTON:
-               if (ev->skey == SKEY_UP) {
-                       const char *btnText = NULL;
+               switch (ev->skey) {
+               case SKEY_UP:
+                       {
+                               const char *btnText = NULL;
+
+                               if (id == FOLDER_LAYOUT_PLAY_BUTTON)
+                                       btnText = MUSIC_FIRST_BTN;
+                               else if (id == FOLDER_LAYOUT_NEXT_BUTTON)
+                                       btnText = MUSIC_SECOND_BTN;
+                               else //FOLDER_LAYOUT_LAST_BUTTON
+                                       btnText = MUSIC_THIRD_BTN;
 
-                       if (id == FOLDER_LAYOUT_PLAY_BUTTON)
-                               btnText = MUSIC_FIRST_BTN;
-                       else if (id == FOLDER_LAYOUT_NEXT_BUTTON)
-                               btnText = MUSIC_SECOND_BTN;
-                       else //FOLDER_LAYOUT_LAST_BUTTON
-                               btnText = MUSIC_THIRD_BTN;
+                               SParcel parcel;
+                               memset(&parcel, 0, sizeof(SParcel));
+                               parcel.updateType = E_FOCUS_UPDATE;
+                               parcel.keyEvent = SKEY_UP;
+                               parcel.focusedBtn = btnText;
+                               m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                       }
+                       break;
 
-                       SParcel parcel;
-                       memset(&parcel, 0, sizeof(SParcel));
-                       parcel.updateType = E_FOCUS_UPDATE;
-                       parcel.keyEvent = KEY_UP;
-                       parcel.focusedBtn = btnText;
-                       m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+               default:
+                       break;
                }
-               break;
 
        default:
                break;
index 7b3627d..f18bb27 100644 (file)
@@ -555,39 +555,65 @@ void CPlaybackView::m_KeyPreviousUnpress(void)
 }
 
 
-void CPlaybackView::m_HandleKeyPress(char *keyname)
+void CPlaybackView::m_HandleKeyPress(ESKey skey)
 {
-       if (!strcmp(keyname, (char *)KEY_EXIT))
+       switch (skey) {
+       case SKEY_EXIT:
                m_KeyExitPress();
-       else if (!strcmp(keyname, (char *)KEY_BACK) ||
-               !strcmp(keyname, (char *)KEY_BACK_REMOTE))
+               break;
+
+       case SKEY_BACK:
                m_KeyBackPress();
-       else if (!strcmp(keyname, (char *)KEY_PLAY))
+               break;
+
+       case SKEY_PLAY:
                m_KeyPlayPress();
-       else if (!strcmp(keyname, (char *)KEY_PAUSE))
+               break;
+
+       case SKEY_PAUSE:
                m_KeyPausePress();
-       else if (!strcmp(keyname, (char *)KEY_NEXT))
+               break;
+
+       case SKEY_NEXT:
                m_KeyNextPress();
-       else if (!strcmp(keyname, (char *)KEY_PREVIOUS))
+               break;
+
+       case SKEY_PREVIOUS:
                m_KeyPreviousPress();
-       else if (!strcmp(keyname, (char *)KEY_VOLUMEUP) ||
-               !strcmp(keyname, (char *)KEY_VOLUMEUP_REMOTE))
+               break;
+
+       case SKEY_VOLUME_UP:
                m->pHandleVolume->Up();
-       else if (!strcmp(keyname, (char *)KEY_VOLUMEDOWN) ||
-               !strcmp(keyname, (char *)KEY_VOLUMEDOWN_REMOTE))
+               break;
+
+       case SKEY_VOLUME_DOWN:
                m->pHandleVolume->Down();
-       else if (!strcmp(keyname, (char *)KEY_MUTE) ||
-               !strcmp(keyname, (char *)KEY_MUTE_REMOTE))
+               break;
+
+       case SKEY_MUTE:
                m->pHandleVolume->Mute();
+               break;
+
+       default:
+               break;
+       }
 }
 
 
-void CPlaybackView::m_HandleKeyUnpress(char *keyname)
+void CPlaybackView::m_HandleKeyUnpress(ESKey skey)
 {
-       if (!strcmp(keyname, KEY_PREVIOUS))
+       switch (skey) {
+       case SKEY_PREVIOUS:
                m_KeyPreviousUnpress();
-       else if (!strcmp(keyname, KEY_NEXT))
+               break;
+
+       case SKEY_NEXT:
                m_KeyNextUnpress();
+               break;
+
+       default:
+               break;
+       }
 }
 
 
@@ -1004,13 +1030,13 @@ void CPlaybackView::t_OnUpdate(void *data)
 
        SParcel *parcel = (SParcel *)data;
        int updateType;
-       char *keyEvent = NULL;
+       ESKey keyEvent = SKEY_MAX;
 
        if (!parcel)
                updateType = E_PLAYLIST_UPDATE;
        else {
                updateType = parcel->updateType;
-               keyEvent = (char *)parcel->keyEvent;
+               keyEvent = parcel->keyEvent;
        }
 
        switch (updateType) {
@@ -1052,64 +1078,71 @@ void CPlaybackView::t_OnHide(void)
 }
 
 
-void CPlaybackView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev)
+void CPlaybackView::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Down *ev)
 {
        switch (id) {
        case EO_BASE:
-               m_HandleKeyPress(ev->keyname);
+               m_HandleKeyPress(ev->skey);
                break;
 
        case EO_PLAYLIST:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SItemInfo *itinfo = NULL;
-                       SParcel parcel;
-
-                       if (!strcmp(ev->keyname, KEY_MENU) ||
-                               !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
-                               it = elm_object_focused_item_get(obj);
-                               if (!it) {
-                                       _ERR(" unable to get focused item ");
-                                       return;
-                               }
-                               m->focused_item = it;
-
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
-                               }
-
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfoFromItem(m->elInfo, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
+                       it = elm_object_focused_item_get(obj);
+                       if (!it) {
+                               _ERR(" unable to get focused item ");
+                               return;
+                       }
+                       m->focused_item = it;
+
+                       switch (ev->skey) {
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SItemInfo *itinfo = NULL;
+                                       SParcel parcel;
+
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfoFromItem(m->elInfo, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       if (m->pController->PlayState() == PLAY_STATUS_PLAY &&
+                                               itinfo == m->cs_itinfo)
+                                               ctxtinfo->status = PLAY_STATUS_PLAY;
+                                       else
+                                               ctxtinfo->status = PLAY_STATUS_PAUSE;
+
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+                                       ctxtinfo->type = CONTEXT_TYPE_PLAYSONG;
+                                       ctxtinfo->context = itinfo->sinfo;
+
+                                       m->ctxtinfo = ctxtinfo;
+
+                                       memset(&parcel, 0, sizeof(SParcel));
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->mgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
+                               break;
 
-                               if (m->pController->PlayState() == PLAY_STATUS_PLAY &&
-                                       itinfo == m->cs_itinfo)
-                                       ctxtinfo->status = PLAY_STATUS_PLAY;
-                               else
-                                       ctxtinfo->status = PLAY_STATUS_PAUSE;
-
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-                               ctxtinfo->type = CONTEXT_TYPE_PLAYSONG;
-                               ctxtinfo->context = itinfo->sinfo;
-
-                               m->ctxtinfo = ctxtinfo;
-
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->mgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
+               break;
 
        default:
                break;
@@ -1117,11 +1150,11 @@ void CPlaybackView::OnKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_
 }
 
 
-void CPlaybackView::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev)
+void CPlaybackView::OnSKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_Up *ev)
 {
        switch (id) {
        case EO_BASE:
-               m_HandleKeyUnpress(ev->keyname);
+               m_HandleKeyUnpress(ev->skey);
                break;
 
        default:
index ca9eff1..89222e2 100644 (file)
@@ -621,11 +621,16 @@ void CSongLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_
        switch (id) {
        case SONG_LAYOUT:
                {
-                       if (ev->skey == SKEY_BACK) {
+                       switch (ev->skey) {
+                       case SKEY_BACK:
                                SParcel parcel;
                                memset(&parcel, 0, sizeof(SParcel));
                                parcel.updateType = E_FOCUS_UPDATE;
                                m->vmgr->UpdateView((const char *)MUSIC_BASE_VIEW, &parcel);
+                               break;
+
+                       default:
+                               break;
                        }
                }
                break;
@@ -633,45 +638,52 @@ void CSongLayout::OnSKeyDown(int id, Evas *e, Evas_Object *obj, Evas_Event_SKey_
        case SONG_LAYOUT_GENLIST:
                {
                        Elm_Object_Item *it = NULL;
-                       SContentInfo *ctxtinfo = NULL;
-                       SSongItemInfo *itinfo = NULL;
-
-                       if (ev->skey == SKEY_MENU) {
-                               it = elm_object_focused_item_get(obj);
-                               if (!it) {
-                                       _ERR(" unable to get focused item ");
-                                       return;
-                               }
-                               m->focused_item = it;
-
-                               if (m->ctxtinfo) {
-                                       free(m->ctxtinfo);
-                                       m->ctxtinfo = NULL;
-                               }
-
-                               ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
-                               if (!ctxtinfo)
-                                       return;
-
-                               itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
-                               if (!itinfo) {
-                                       free(ctxtinfo);
-                                       return;
+                       it = elm_object_focused_item_get(obj);
+                       if (!it) {
+                               _ERR(" unable to get focused item ");
+                               return;
+                       }
+                       m->focused_item = it;
+
+                       switch (ev->skey) {
+                       case SKEY_MENU:
+                               {
+                                       SContentInfo *ctxtinfo = NULL;
+                                       SSongItemInfo *itinfo = NULL;
+
+                                       if (m->ctxtinfo) {
+                                               free(m->ctxtinfo);
+                                               m->ctxtinfo = NULL;
+                                       }
+
+                                       ctxtinfo = (SContentInfo *)calloc(1, sizeof(*ctxtinfo));
+                                       if (!ctxtinfo)
+                                               return;
+
+                                       itinfo = m_FindItemInfoFromItem(m->it_infolist, it);
+                                       if (!itinfo) {
+                                               free(ctxtinfo);
+                                               return;
+                                       }
+
+                                       ctxtinfo->type = CONTEXT_TYPE_SONG;
+                                       ctxtinfo->context = itinfo->sinfo;
+                                       ctxtinfo->cbdata = this;
+                                       ctxtinfo->update = sm_CbCtxtUpdate;
+                                       ctxtinfo->close = sm_CbCtxtClose;
+
+                                       m->ctxtinfo = ctxtinfo;
+
+                                       SParcel parcel;
+                                       memset(&parcel, 0, sizeof(SParcel));
+                                       parcel.ctxtInfo = ctxtinfo;
+                                       if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
+                                               _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
                                }
+                               break;
 
-                               ctxtinfo->type = CONTEXT_TYPE_SONG;
-                               ctxtinfo->context = itinfo->sinfo;
-                               ctxtinfo->cbdata = this;
-                               ctxtinfo->update = sm_CbCtxtUpdate;
-                               ctxtinfo->close = sm_CbCtxtClose;
-
-                               m->ctxtinfo = ctxtinfo;
-
-                               SParcel parcel;
-                               memset(&parcel, 0, sizeof(SParcel));
-                               parcel.ctxtInfo = ctxtinfo;
-                               if (!m->vmgr->PushView(MUSIC_CONTEXT_VIEW, &parcel))
-                                       _ERR("viewmgr push view MUSIC_CONTEXT_VIEW failed");
+                       default:
+                               break;
                        }
                }
                break;