UPDATE_CONTENT = 0,
UPDATE_FOCUS,
UPDATE_PLAY_INFO,
- UPDATE_PLAYER
+ UPDATE_PLAYER,
+ UPDATE_RESUME,
};
#endif /* __AIR_MEDIAHUB_VIEW_H__ */
listmgr_focus_content_list(priv->listmgr, vdata->index, update);
break;
+ case UPDATE_RESUME:
+ listmgr_focus_content_list(priv->listmgr,
+ priv->cur_index, false);
+ break;
default:
break;
}
listmgr_focus_play_info(priv->listmgr);
_update_recent_item(priv, vdata->index);
break;
+ case UPDATE_RESUME:
+ listmgr_focus_content_list(priv->listmgr,
+ priv->cur_index, false);
+ break;
default:
break;
}
case UPDATE_FOCUS:
listmgr_focus_play_info(priv->listmgr);
break;
+ case UPDATE_RESUME:
+ listmgr_focus_content_list(priv->listmgr,
+ priv->cur_index, false);
+ break;
default:
break;
}
static void _pause(void *data)
{
-
+ viewmgr_pause();
}
static void _resume(void *data)
{
-
+ viewmgr_resume();
}
int main(int argc, char **argv)
ecore_timer_del(m->timer);
m->timer = NULL;
+
+ elm_slider_value_set(m->slider, 0);
+ _update_progress_info(m, 0);
}
void progressbar_pause(struct progressbar *m)
layoutmgr *lmgr;
int current_layout;
+ bool showed;
};
struct _menu_item {
priv->win = win;
priv->base = base;
+ priv->showed = false;
if (!_draw_items(priv)) {
_ERR("failed to draw items");
priv = view_data;
evas_object_show(priv->base);
+ priv->showed = true;
}
static void _hide(void *view_data)
priv = view_data;
evas_object_hide(priv->base);
+ priv->showed = false;
}
static void _update(void *view_data, int update_type, void *data)
update_type, vdata);
}
+static void _pause(void *view_data)
+{
+ viewmgr_update_view(VIEW_MPLAYER, UPDATE_PLAYER, NULL);
+}
+
+static void _resume(void *view_data)
+{
+ struct _priv *priv;
+
+ if (!view_data) {
+ _ERR("failed to get view data");
+ return;
+ }
+
+ priv = view_data;
+
+ if (!priv->showed)
+ return;
+
+ layoutmgr_update_layout(priv->lmgr,
+ g_menu_item[priv->current_layout].layout_id,
+ UPDATE_RESUME, NULL);
+}
+
static void _destroy(void *view_data)
{
struct _priv *priv;
.show = _show,
.hide = _hide,
.update = _update,
+ .pause = _pause,
+ .resume = _resume,
.destroy = _destroy,
};
priv = data;
index = elm_genlist_item_index_get(it) - 1;
- if (priv->playlist.cur != index) {
+ if (priv->playlist.cur != index)
_mplayer_set_current(priv, index);
- _player_play(priv);
- }
+
+ _player_play(priv);
}
static void _list_realized(int id, void *data,
}
}
+static void _pause(void *view_data)
+{
+ struct _priv *priv;
+
+ if (!view_data) {
+ _ERR("failed to get view data");
+ return;
+ }
+
+ priv = view_data;
+
+ _player_stop(priv);
+}
+
static void _destroy(void *view_data)
{
struct _priv *priv;
.show = _show,
.hide = _hide,
.update = _update,
+ .pause = _pause,
.destroy = _destroy,
};
return;
}
- if (!data) {
- _ERR("invalid parameter");
+ priv = view_data;
+ vdata = data;
+
+ switch (update_type) {
+ case UPDATE_CONTENT:
+ if (!vdata)
+ break;
+
+ priv->playlist.list = vdata->list;
+ priv->playlist.cur = vdata->index;
+ priv->playlist.dir = DIR_NONE;
+ break;
+ default:
+ break;
+ }
+}
+
+static void _pause(void *view_data)
+{
+ struct _priv *priv;
+
+ if (!view_data) {
+ _ERR("failed to get view data");
return;
}
priv = view_data;
- vdata = data;
- priv->playlist.list = vdata->list;
- priv->playlist.cur = vdata->index;
- priv->playlist.dir = DIR_NONE;
+ _pop_view(priv);
}
static void _destroy(void *view_data)
.show = _show,
.hide = _hide,
.update = _update,
+ .pause = _pause,
.destroy = _destroy,
};