#define SIG_MENU_SHOW_FINISH "menu,show,finish"
#define SIG_MENU_HIDE "menu,hide"
#define SIG_PREVIEWBAR_SHOW "previewbar,show"
-#define SIG_PREVIEWBAR_SHOW_FINISH "previewbar,show,finish"
#define SIG_PREVIEWBAR_HIDE "previewbar,hide"
#define SIG_UPARROW_SHOW "uparrow,show"
#define SIG_UPARROW_HIDE "uparrow,hide"
static void sm_CbShowMenuViewFinish(void *dt, Evas_Object *obj,
const char *emission, const char *source);
- static void sm_CbShowPreviewBarFinish(void *dt, Evas_Object *obj,
- const char *emission, const char *source);
static Eina_Bool sm_CbTimerSlideshow(void *dt);
bool m_DrawPreviewBar(void);
bool m_DrawPreviewBarItem(void);
bool m_DrawPreviewBarBorder(void);
- bool m_UpdatePreviewBar(void);
+ bool m_UpdatePreviewBar(int direction);
Evas_Object *m_MovePreviewBar(int new_x,
int unpack_item_idx, int new_item_idx);
bool m_DrawBottomArea(void);
Evas_Object *pvbar_box;
Evas_Object *pvbar_scr;
- int pvbar_dir;
Ecore_Timer *tooltip_timer;
Ecore_Timer *pvbar_timer;
if (!m_DrawTopArea(minfo))
return;
- m->pvbar_dir = PREVIEWBAR_TO_PREV;
+ if (!m_UpdatePreviewBar(PREVIEWBAR_TO_PREV))
+ return;
+
if (!m->menu_show) {
- if (m->pvbar_timer) {
+ if (m->pvbar_timer)
ecore_timer_reset(m->pvbar_timer);
- m_UpdatePreviewBar();
- } else {
+ else {
m->pvbar_timer = ecore_timer_add(TIMEOUT_PREVIEWBAR,
sm_CbTimerPreviewBar, this);
elm_object_signal_emit(m->base, SIG_PREVIEWBAR_SHOW, "");
}
- } else
- m_UpdatePreviewBar();
+ }
m->vd->minfo = minfo;
}
if (!m_DrawTopArea(minfo))
return;
- m->pvbar_dir = PREVIEWBAR_TO_NEXT;
+ if (!m_UpdatePreviewBar(PREVIEWBAR_TO_NEXT))
+ return;
+
if (!m->menu_show) {
- if (m->pvbar_timer) {
+ if (m->pvbar_timer)
ecore_timer_reset(m->pvbar_timer);
- m_UpdatePreviewBar();
- } else {
+ else {
m->pvbar_timer = ecore_timer_add(TIMEOUT_PREVIEWBAR,
sm_CbTimerPreviewBar, this);
elm_object_signal_emit(m->base, SIG_PREVIEWBAR_SHOW, "");
}
- } else
- m_UpdatePreviewBar();
+ }
m->vd->minfo = minfo;
}
return true;
}
-bool CPhotoViewerView::m_UpdatePreviewBar(void)
+bool CPhotoViewerView::m_UpdatePreviewBar(int direction)
{
Evas_Object *ly;
int new_item_idx;
elm_scroller_region_get(m->pvbar_scr, &x, &y, &w, &h);
- if (m->pvbar_dir == PREVIEWBAR_TO_PREV) {
+ if (direction == PREVIEWBAR_TO_PREV) {
new_item_idx = m->current_idx - PREVIEWBAR_CENTER_IDX;
if (new_item_idx < 0)
new_item_idx += m->totalcount;
elm_box_pack_start(m->pvbar_box, ly);
evas_object_show(ly);
- } else if (m->pvbar_dir == PREVIEWBAR_TO_NEXT) {
+ } else if (direction == PREVIEWBAR_TO_NEXT) {
new_item_idx = m->current_idx + PREVIEWBAR_CENTER_IDX;
if (new_item_idx > m->totalcount - 1)
new_item_idx -= m->totalcount;
}
}
-void CPhotoViewerView::sm_CbShowPreviewBarFinish(void *dt, Evas_Object *obj,
- const char *emission, const char *source)
-{
- CPhotoViewerView *root = (CPhotoViewerView *)dt;
-
- if (root)
- root->m_UpdatePreviewBar();
-}
-
bool CPhotoViewerView::m_DrawItems(void)
{
if (!m->vd)
elm_object_signal_callback_add(m->base, SIG_MENU_SHOW_FINISH, "",
sm_CbShowMenuViewFinish, this);
- elm_object_signal_callback_add(m->base, SIG_PREVIEWBAR_SHOW_FINISH, "",
- sm_CbShowPreviewBarFinish, this);
/* temp hot fix */
m->focus_timer = ecore_timer_add(0.25, sm_CbFocus, this);