video_player_play(vd);
}
-bool CCtxtMenuView::m_DrawGengrid(void)
-{
- Elm_Gengrid_Item_Class *ic_photo, *ic_video;
- Eina_List *l;
- Evas_Object *grid;
- Elm_Object_Item *it = NULL;
- CMediaInfo *minfo;
- const char *sel_name, *name;
- char *sel_date, *date;
- void *obj;
-
- grid = m->grid;
- if (!grid)
- return false;
-
- minfo = m->vd->minfo;
- if (!minfo)
- return false;
-
- elm_gengrid_clear(grid);
-
- ic_photo = _get_itemclass(MEDIA_IMAGE);
- if (!ic_photo)
- return false;
-
- ic_video = _get_itemclass(MEDIA_VIDEO);
- if (!ic_video)
- return false;
-
- sel_name = minfo->Name();
- if (!sel_name)
- goto err;
-
- sel_date = _get_mediadata_date(minfo);
- if (!sel_date)
- goto err;
-
- EINA_LIST_FOREACH(m->vd->media_list, l, obj) {
- minfo = (CMediaInfo*)obj;
-
- name = minfo->Name();
- if (!name || !strcmp(sel_name, name))
- continue;
-
- date = _get_mediadata_date(minfo);
- if (!date)
- continue;
-
- if (strcmp(sel_date, date)) {
- free(date);
- continue;
- }
-
- if (minfo->Type() == MEDIA_IMAGE) {
- it = elm_gengrid_item_append(grid, ic_photo,
- minfo, NULL, NULL);
- } else if (minfo->Type() == MEDIA_VIDEO) {
- it = elm_gengrid_item_append(grid, ic_video,
- minfo, NULL, NULL);
- }
- elm_object_item_data_set(it, minfo);
-
- free(date);
- }
-
- _free_itemclass(ic_photo);
- _free_itemclass(ic_video);
-
- free(sel_date);
-
- return true;
-
-err:
- _free_itemclass(ic_photo);
- _free_itemclass(ic_video);
-
- return false;
-}
-
bool CCtxtMenuView::m_LoadContentThumbnail(void)
{
Evas_Object *photocam;
return true;
}
-
-bool CCtxtMenuView::m_DrawRelatedContent(void)
+bool CCtxtMenuView::m_DrawGengrid(void)
{
Evas_Object *grid;
- CMediaInfo *minfo;
- minfo = m->vd->minfo;
- if (!minfo)
- return false;
+ if (m->grid)
+ return true;
grid = elm_gengrid_add(m->base);
if (!grid) {
elm_config_scale_get() * CTXT_MENU_GENGRID_ITEM_SIZE_W,
elm_config_scale_get() * CTXT_MENU_GENGRID_ITEM_SIZE_H);
- m->grid = grid;
-
- if (!m_DrawGengrid()) {
- evas_object_del(grid);
- return false;
- }
-
Connect(grid, CTXT_MENU_GRID, TYPE_MOUSE_MOVE |
TYPE_REALIZED | TYPE_UNREALIZED | TYPE_ACTIVATED);
- evas_object_show(grid);
-
elm_object_part_text_set(m->base,
PART_RELCONT_TXT, _(TEXT_RELATED_CONTENT));
elm_object_part_content_set(m->base, PART_RELCONT, grid);
elm_object_focus_next_object_set(grid, grid, ELM_FOCUS_LEFT);
+ m->grid = grid;
+
+ return true;
+}
+
+bool CCtxtMenuView::m_DrawGengridItems(void)
+{
+ Elm_Gengrid_Item_Class *ic_photo, *ic_video;
+ Eina_List *l;
+ Evas_Object *grid;
+ Elm_Object_Item *it = NULL;
+ CMediaInfo *minfo;
+ const char *sel_name, *name;
+ char *sel_date, *date;
+ void *obj;
+
+ grid = m->grid;
+ if (!grid)
+ return false;
+
+ minfo = m->vd->minfo;
+ if (!minfo)
+ return false;
+
+ elm_gengrid_clear(grid);
+
+ ic_photo = _get_itemclass(MEDIA_IMAGE);
+ if (!ic_photo)
+ return false;
+
+ ic_video = _get_itemclass(MEDIA_VIDEO);
+ if (!ic_video)
+ return false;
+
+ sel_name = minfo->Name();
+ if (!sel_name)
+ goto err;
+
+ sel_date = _get_mediadata_date(minfo);
+ if (!sel_date)
+ goto err;
+
+ EINA_LIST_FOREACH(m->vd->media_list, l, obj) {
+ minfo = (CMediaInfo*)obj;
+
+ name = minfo->Name();
+ if (!name || !strcmp(sel_name, name))
+ continue;
+
+ date = _get_mediadata_date(minfo);
+ if (!date)
+ continue;
+
+ if (strcmp(sel_date, date)) {
+ free(date);
+ continue;
+ }
+
+ if (minfo->Type() == MEDIA_IMAGE) {
+ it = elm_gengrid_item_append(grid, ic_photo,
+ minfo, NULL, NULL);
+ } else if (minfo->Type() == MEDIA_VIDEO) {
+ it = elm_gengrid_item_append(grid, ic_video,
+ minfo, NULL, NULL);
+ }
+ elm_object_item_data_set(it, minfo);
+
+ free(date);
+ }
+
+ _free_itemclass(ic_photo);
+ _free_itemclass(ic_video);
+
+ free(sel_date);
+
+ return true;
+
+err:
+ _free_itemclass(ic_photo);
+ _free_itemclass(ic_video);
+
+ return false;
+}
+
+bool CCtxtMenuView::m_DrawRelatedContent(void)
+{
+ CMediaInfo *minfo;
+
+ minfo = m->vd->minfo;
+ if (!minfo)
+ return false;
+
+ if (!m_DrawGengrid())
+ return false;
+
+ if (!m_DrawGengridItems()) {
+ evas_object_del(m->grid);
+ return false;
+ }
+
+ evas_object_show(m->grid);
+
return true;
}
int i, size;
char btn_title[256];
-
minfo = m->vd->minfo;
if (!minfo)
return false;
elm_box_padding_set(box, SIZE_BOX_PAD_W * elm_config_scale_get(),
SIZE_BOX_PAD_H * elm_config_scale_get());
+ for (i = 0; i < MAX_FUNC_BTN; i++)
+ m->func_btn[i] = NULL;
+
btn_info = m_GetBtnInfo(&size);
ly = NULL;
for (i = 0; i < size; i++) {
ASSERT(m);
evas_object_show(m->base);
+
+ if (evas_object_above_get(m->base))
+ evas_object_raise(m->base);
+
+ t_OnResume();
}
void CCtxtMenuView::t_OnHide(void)
ASSERT(m);
evas_object_hide(m->base);
+
+ t_OnPause();
}
+void CCtxtMenuView::t_OnUpdate(void *data)
+{
+ ASSERT(m);
+
+ m->vd = (struct view_data *)data;
+
+ if (!m_DrawSelectedContent())
+ return;
+
+ if (!m_DrawRelatedContent())
+ return;
+
+ if (!m_DrawFuncBtn())
+ return;
+}
void CCtxtMenuView::t_OnPause(void)
{
"zoom",
"rotate"
};
-
+
if (!m->base)
return false;
}
snprintf(buf, sizeof(buf), "part_btn%d", i);
- elm_object_part_content_set(m->base,
- buf, m->btn[i]);
+ elm_object_part_content_set(m->base, buf, m->btn[i]);
- elm_object_signal_callback_add(m->btn[i], "btn,anim,finish", _source_name[i], _edje_callback_function[i], this);
+ elm_object_signal_callback_add(m->btn[i], "btn,anim,finish",
+ _source_name[i], _edje_callback_function[i], this);
Connect(m->btn[i], PHOTOVIEWER_BTN,
TYPE_KEY_DOWN | TYPE_CLICKED |
m = new SPhotoViewerView;
if (!m)
return false;
+
m->base = elm_layout_add(win);
if (!m->base) {
delete m;
ASSERT(m);
evas_object_show(m->base);
+
+ t_OnResume();
}
void CPhotoViewerView::t_OnHide(void)
ASSERT(m);
evas_object_hide(m->base);
+
+ t_OnPause();
}
+void CPhotoViewerView::t_OnUpdate(void *data)
+{
+ ASSERT(m);
+
+ m->vd = (struct view_data *)data;
+ m->totalcount = eina_list_count(m->vd->media_list);
+
+ if (!m_DrawContentArea(m->vd->minfo))
+ return;
+
+ if (!m_DrawTopArea(m->vd->minfo))
+ return;
+}
+
void CPhotoViewerView::t_OnPause(void)
{
ASSERT(m);
+ elm_object_tooltip_hide(m->focusedbtn);
+
if (m->slideshow_timer)
ecore_timer_freeze(m->slideshow_timer);
m->cTimeoutHandler.Resume();
elm_object_focus_set(m->focusedbtn, EINA_TRUE);
+
+ elm_object_tooltip_show(m->focusedbtn);
+ if (m->tooltip_timer)
+ ecore_timer_reset(m->tooltip_timer);
+ else {
+ m->tooltip_timer = ecore_timer_add(TIMEOUT_TOOLTIP,
+ sm_CbTimerTooltip, this);
+ }
}
}
else if (!strcmp(ev->keyname, KEY_MENU)) {
CViewMgr::GetInstance()->PushView(VIEW_CTXT_MENU, m->vd);
+ t_OnPause();
return EINA_FALSE;
}
else
case PHOTOVIEWER_BTN:
if (!strcmp(ev->keyname, KEY_BACK))
CViewMgr::GetInstance()->PopView();
- else if (!strcmp(ev->keyname, KEY_MENU))
+ else if (!strcmp(ev->keyname, KEY_MENU)) {
CViewMgr::GetInstance()->PushView(VIEW_CTXT_MENU, m->vd);
+ t_OnPause();
+ }
break;
case PHOTOVIEWER_CTXPOPUP: