|
|
|
@ -13,7 +13,7 @@ static void |
|
|
|
|
_ready(Evas_Object *obj) |
|
|
|
|
{ |
|
|
|
|
int w = 1, h = 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (evas_object_data_get(obj, "ready")) return; |
|
|
|
|
evas_object_data_set(obj, "ready", obj); |
|
|
|
|
video_position_set(obj, video_length_get(obj) / 2.0); |
|
|
|
@ -25,7 +25,7 @@ static void |
|
|
|
|
_bring(Evas_Object *obj) |
|
|
|
|
{ |
|
|
|
|
Evas_Coord x, y, w, h, px, py; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
evas_object_geometry_get(obj, &x, &y, &w, &h); |
|
|
|
|
evas_object_geometry_get(bx, &px, &py, NULL, NULL); |
|
|
|
|
elm_scroller_region_bring_in(sc, x - px, y - py, w, h); |
|
|
|
@ -56,7 +56,7 @@ _cb_pos_eval(void *data) |
|
|
|
|
{ |
|
|
|
|
Evas_Object *obj = data; |
|
|
|
|
Evas_Coord x, y, w, h, vx, vy, vw, vh; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
evas_object_geometry_get(obj, &x, &y, &w, &h); |
|
|
|
|
evas_output_viewport_get(evas_object_evas_get(obj), &vx, &vy, &vw, &vh); |
|
|
|
|
if (ELM_RECTS_INTERSECT(x, y, w, h, vx, vy, vw, vh)) |
|
|
|
@ -64,11 +64,12 @@ _cb_pos_eval(void *data) |
|
|
|
|
if (!evas_object_data_get(obj, "active")) |
|
|
|
|
{ |
|
|
|
|
const char *f; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f = evas_object_data_get(obj, "file"); |
|
|
|
|
video_file_autosub_set(obj, f, NULL); |
|
|
|
|
video_mute_set(obj, EINA_TRUE); |
|
|
|
|
video_play_set(obj, EINA_TRUE); |
|
|
|
|
video_loop_set(obj, EINA_TRUE); |
|
|
|
|
video_file_set(obj, f); |
|
|
|
|
evas_object_data_set(obj, "active", obj); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -77,7 +78,7 @@ _cb_pos_eval(void *data) |
|
|
|
|
if (evas_object_data_get(obj, "active")) |
|
|
|
|
{ |
|
|
|
|
video_play_set(obj, EINA_FALSE); |
|
|
|
|
video_file_set(obj, NULL); |
|
|
|
|
video_file_autosub_set(obj, NULL, NULL); |
|
|
|
|
video_position_set(obj, 0.0); |
|
|
|
|
evas_object_data_del(obj, "active"); |
|
|
|
|
evas_object_data_del(obj, "ready"); |
|
|
|
@ -124,7 +125,7 @@ _sel(Evas_Object *obj) |
|
|
|
|
Eina_List *items = elm_box_children_get(bx); |
|
|
|
|
Eina_List *l; |
|
|
|
|
Evas_Object *o; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EINA_LIST_FOREACH(items, l, o) |
|
|
|
|
{ |
|
|
|
|
if (evas_object_data_get(o, "selected")) |
|
|
|
@ -150,18 +151,19 @@ _fill_box(Evas_Object *win) |
|
|
|
|
{ |
|
|
|
|
Inf *inf = evas_object_data_get(win, "inf"); |
|
|
|
|
Eina_List *l; |
|
|
|
|
const char *f, *s; |
|
|
|
|
Winvid_Entry *vid; |
|
|
|
|
const char *s; |
|
|
|
|
Evas_Object *o, *base, *rect; |
|
|
|
|
char buf[4096]; |
|
|
|
|
Evas_Coord w, h, sz = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_coords_finger_size_adjust(1, &sz, 1, &sz); |
|
|
|
|
evas_object_geometry_get(win, NULL, NULL, &w, &h); |
|
|
|
|
w = w / 8; |
|
|
|
|
h = h / 8; |
|
|
|
|
if (w < sz) w = sz; |
|
|
|
|
if (h < sz) h = sz; |
|
|
|
|
EINA_LIST_FOREACH(inf->file_list, l, f) |
|
|
|
|
EINA_LIST_FOREACH(inf->file_list, l, vid) |
|
|
|
|
{ |
|
|
|
|
base = o = elm_layout_add(win); |
|
|
|
|
elm_object_focus_allow_set(o, EINA_FALSE); |
|
|
|
@ -171,19 +173,17 @@ _fill_box(Evas_Object *win) |
|
|
|
|
evas_object_size_hint_align_set(o, -1.0, 0.5); |
|
|
|
|
elm_layout_signal_callback_add(o, "rage,selected", "rage", _cb_selected, win); |
|
|
|
|
evas_object_data_set(o, "list", l); |
|
|
|
|
|
|
|
|
|
s = ecore_file_file_get(f); |
|
|
|
|
if ((s) && (s[0] != 0)) |
|
|
|
|
elm_object_part_text_set(o, "rage.title", s); |
|
|
|
|
else |
|
|
|
|
elm_object_part_text_set(o, "rage.title", f); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s = ecore_file_file_get(vid->file); |
|
|
|
|
if ((s) && (s[0] != 0)) elm_object_part_text_set(o, "rage.title", s); |
|
|
|
|
else elm_object_part_text_set(o, "rage.title", vid->file); |
|
|
|
|
|
|
|
|
|
rect = o = evas_object_rectangle_add(evas_object_evas_get(win)); |
|
|
|
|
evas_object_color_set(rect, 0, 0, 0, 0); |
|
|
|
|
elm_object_part_content_set(base, "rage.sizer", o); |
|
|
|
|
evas_object_data_set(base, "sizer", o); |
|
|
|
|
evas_object_size_hint_min_set(o, w, h); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
o = video_add(win); |
|
|
|
|
video_art_set(o, EINA_TRUE); |
|
|
|
|
evas_object_data_set(o, "base", base); |
|
|
|
@ -193,18 +193,18 @@ _fill_box(Evas_Object *win) |
|
|
|
|
video_lowquality_set(o, EINA_TRUE); |
|
|
|
|
evas_object_smart_callback_add(o, "opened", _cb_opened, win); |
|
|
|
|
evas_object_smart_callback_add(o, "length", _cb_length, win); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOVE, _cb_vid_move, win); |
|
|
|
|
evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE, _cb_vid_resize, win); |
|
|
|
|
evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, _cb_vid_del, win); |
|
|
|
|
|
|
|
|
|
evas_object_data_set(o, "file", f); |
|
|
|
|
|
|
|
|
|
evas_object_data_set(o, "file", vid->file); |
|
|
|
|
elm_object_part_content_set(base, "rage.content", o); |
|
|
|
|
evas_object_show(o); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, base); |
|
|
|
|
evas_object_show(base); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (l == inf->file_cur) |
|
|
|
|
{ |
|
|
|
|
evas_object_data_set(base, "selected", base); |
|
|
|
@ -219,7 +219,7 @@ void |
|
|
|
|
win_list_show(Evas_Object *win) |
|
|
|
|
{ |
|
|
|
|
Inf *inf = evas_object_data_get(win, "inf"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (tb) return; |
|
|
|
|
tb = elm_table_add(win); |
|
|
|
|
evas_object_show(tb); |
|
|
|
@ -237,20 +237,20 @@ win_list_show(Evas_Object *win) |
|
|
|
|
elm_scroller_content_min_limit(sc, EINA_TRUE, EINA_FALSE); |
|
|
|
|
elm_table_pack(tb, sc, 0, 0, 1, 1); |
|
|
|
|
evas_object_show(sc); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bx = elm_box_add(win); |
|
|
|
|
elm_object_focus_allow_set(bx, EINA_FALSE); |
|
|
|
|
evas_object_size_hint_weight_set(bx, 1.0, 0.0); |
|
|
|
|
evas_object_size_hint_align_set(bx, -1.0, 0.0); |
|
|
|
|
elm_box_homogeneous_set(bx, EINA_TRUE); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_fill_box(win); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_object_content_set(sc, bx); |
|
|
|
|
evas_object_show(bx); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_object_part_content_set(inf->lay, "rage.list", tb); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_layout_signal_emit(inf->lay, "list,state,visible", "rage"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -267,7 +267,7 @@ void |
|
|
|
|
win_list_hide(Evas_Object *win) |
|
|
|
|
{ |
|
|
|
|
Inf *inf = evas_object_data_get(win, "inf"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!tb) return; |
|
|
|
|
if (bring_timer) ecore_timer_del(bring_timer); |
|
|
|
|
bring_timer = NULL; |
|
|
|
@ -291,7 +291,7 @@ win_list_sel_update(Evas_Object *win) |
|
|
|
|
Eina_List *items = elm_box_children_get(bx); |
|
|
|
|
Eina_List *l; |
|
|
|
|
Evas_Object *o; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EINA_LIST_FOREACH(items, l, o) |
|
|
|
|
{ |
|
|
|
|
if (inf->file_cur == evas_object_data_get(o, "list")) |
|
|
|
@ -312,7 +312,7 @@ win_list_size_update(Evas_Object *win) |
|
|
|
|
Eina_List *l; |
|
|
|
|
Evas_Object *o; |
|
|
|
|
Evas_Coord w, h, sz = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elm_coords_finger_size_adjust(1, &sz, 1, &sz); |
|
|
|
|
evas_object_geometry_get(win, NULL, NULL, &w, &h); |
|
|
|
|
w = w / 8; |
|
|
|
|