public IKeyDownListener,
public IMouseMoveListener,
public IMouseClickedListener,
- public IRealizedListener {
+ public IRealizedListener,
+ public IActivatedListener {
public:
enum EDepth {
DEPTH_SELECT_LIST,
void m_OnSongItemSelect(Evas_Object *obj, Elm_Object_Item *event_info);
static void sm_CbSelectlistItemSelect(void *data, Evas_Object *obj, void *event_info);
- void m_OnSelectlistItemSelect(Evas_Object *obj, Elm_Object_Item *event_info);
private:
void m_RemoveFocusIdler(void);
IMouseMoveListener(this),
IMouseClickedListener(this),
IRealizedListener(this),
+ IActivatedListener(this),
m(0) {}
virtual ~CCategorySongsLayout() {}
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 OnRealized(int id, Evas_Object *obj, Elm_Object_Item *item);
+ virtual void OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item);
};
void CCategorySongsLayout::sm_CbSelectlistItemSelect(void *data, Evas_Object *obj, void *event_info)
{
- CCategorySongsLayout *root = (CCategorySongsLayout *)data;
- if (root)
- root->m_OnSelectlistItemSelect(obj, (Elm_Object_Item *)event_info);
-}
-
-
-void CCategorySongsLayout::m_OnSelectlistItemSelect(Evas_Object *obj, Elm_Object_Item *event_info)
-{
- SCategorySongsItemsInfo *itinfo = NULL;
- int tc;
-
- if (!obj)
- return;
-
- itinfo = m_FindItemInfoFromItem(m->it_infolist, (Elm_Object_Item *)event_info);
- if (!itinfo) {
- _ERR(" no item info found ");
- return;
- }
-
- tc = eina_list_count(m->it_infolist);
- if (itinfo->check_status) {
- if (tc == m->count)
- elm_object_text_set(m->selectBtns[SBTN_SELECT_ALL],
- _(MUSIC_TEXT_SELECT_ALL));
- m->count = m->count - 1;
- elm_object_item_signal_emit(itinfo->item,
- MUSIC_SIGNAL_CHECK_OFF, MUSIC_BASE_VIEW);
- itinfo->check_status = false;
- }
- else {
- m->count = m->count + 1;
- if (tc == m->count)
- elm_object_text_set(m->selectBtns[SBTN_SELECT_ALL],
- _(MUSIC_TEXT_DESELECT_ALL));
- elm_object_item_signal_emit(itinfo->item,
- MUSIC_SIGNAL_CHECK_ON, MUSIC_BASE_VIEW);
- itinfo->check_status = true;
- }
+ // Do nothing.
+ // Handling for selectlist item will be done in OnActivated function.
}
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_part_content_set(layout, MUSIC_PART_SONGLIST, genlist);
Connect(genlist, CATEGORY_SONGS_GENLIST, TYPE_MOUSE_MOVE | TYPE_KEY_DOWN |
- TYPE_REALIZED);
+ TYPE_REALIZED | TYPE_ACTIVATED);
m->songlist = genlist;
}
default:
break;
}
-}
\ No newline at end of file
+}
+
+
+void CCategorySongsLayout::OnActivated(int id, Evas_Object *obj, Elm_Object_Item *item)
+{
+ switch (id) {
+ case CATEGORY_SONGS_GENLIST:
+ if (m->depth == DEPTH_SELECT_LIST) {
+ SCategorySongsItemsInfo *itinfo = NULL;
+ int tc;
+
+ if (!obj || !item)
+ return;
+
+ itinfo = m_FindItemInfoFromItem(m->it_infolist, item);
+ if (!itinfo) {
+ _ERR(" no item info found ");
+ return;
+ }
+
+ tc = eina_list_count(m->it_infolist);
+ if (itinfo->check_status) {
+ if (tc == m->count)
+ elm_object_text_set(m->selectBtns[SBTN_SELECT_ALL],
+ _(MUSIC_TEXT_SELECT_ALL));
+ m->count = m->count - 1;
+ elm_object_item_signal_emit(itinfo->item,
+ MUSIC_SIGNAL_CHECK_OFF, MUSIC_BASE_VIEW);
+ itinfo->check_status = false;
+ }
+ else {
+ m->count = m->count + 1;
+ if (tc == m->count)
+ elm_object_text_set(m->selectBtns[SBTN_SELECT_ALL],
+ _(MUSIC_TEXT_DESELECT_ALL));
+ elm_object_item_signal_emit(itinfo->item,
+ MUSIC_SIGNAL_CHECK_ON, MUSIC_BASE_VIEW);
+ itinfo->check_status = true;
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+}