Improvement of usability. 25/38625/4
authorKim Tae Soo <taesoo46.kim@samsung.com>
Thu, 23 Apr 2015 07:32:30 +0000 (16:32 +0900)
committerYoungjin Kim <yj21c.kim@samsung.com>
Thu, 23 Apr 2015 21:15:12 +0000 (14:15 -0700)
: When there is no checked item in playlist of playbackview, edit buttons should be disabled.

Change-Id: I0541585e3ea8d0a8eb965fc452e15cecbd2ce334
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
src/views/playback-view.cpp

index f18bb27..5db1e89 100644 (file)
@@ -78,6 +78,8 @@ struct SPlaybackView {
 
        CHandleVolume *pHandleVolume;
 
+       int numCheckedItem;
+
        SPlaybackView() {
                memset(this, 0, sizeof(SPlaybackView));
        }
@@ -212,6 +214,8 @@ void CPlaybackView::m_DisableCheckAll(Eina_List *list)
                itinfo = (SItemInfo *)obj;
                itinfo->check_status = false;
        }
+
+       m->numCheckedItem = 0;
 }
 
 
@@ -427,6 +431,7 @@ void CPlaybackView::m_DeleteSelectedItems(void)
        int index;
 
        m_DisableEditButtons(true);
+       m->numCheckedItem = 0;
        EINA_LIST_FOREACH_SAFE(m->elInfo, l, l_next, obj) {
                pItemInfo = (SItemInfo *)obj;
                if (pItemInfo->check_status) {
@@ -673,12 +678,14 @@ void CPlaybackView::m_UpdateItemCheck(SItemInfo *itinfo)
                elm_object_item_signal_emit(itinfo->item,
                        MUSIC_SIGNAL_CHECK_OFF, MUSIC_PLAYBACK_VIEW);
                itinfo->check_status = false;
-               return;
+               m->numCheckedItem--;
+       }
+       else {
+               elm_object_item_signal_emit(itinfo->item,
+                       MUSIC_SIGNAL_CHECK_ON, MUSIC_PLAYBACK_VIEW);
+               itinfo->check_status = true;
+               m->numCheckedItem++;
        }
-
-       elm_object_item_signal_emit(itinfo->item,
-               MUSIC_SIGNAL_CHECK_ON, MUSIC_PLAYBACK_VIEW);
-       itinfo->check_status = true;
 }
 
 
@@ -861,6 +868,7 @@ void CPlaybackView::m_AddPlaylist(void)
                }
                m->elInfo = eina_list_append(m->elInfo, pItemInfo);
        }
+       m->numCheckedItem = 0;
 }
 
 
@@ -894,7 +902,10 @@ void CPlaybackView::m_HandleGenlistItemActivated(Evas_Object *obj, Elm_Object_It
 
        if (itinfo->edit_mode) {
                m_UpdateItemCheck(itinfo);
-               m_DisableEditButtons(false);
+               if (m->numCheckedItem > 0)
+                       m_DisableEditButtons(false);
+               else
+                       m_DisableEditButtons(true);
                return;
        }
 
@@ -939,6 +950,7 @@ bool CPlaybackView::Create(void *data)
 
                        m->pHandleVolume = new CHandleVolume;
                        m->pHandleVolume->Create(m->eoBase);
+
                        m_UpdatePlaymodeFocusSequence();
 
                        Connect(m->eoBase, EO_BASE, TYPE_KEY_DOWN | TYPE_KEY_UP);