From 36a49480851bef40f15cc4aaaac5313956bf1880 Mon Sep 17 00:00:00 2001 From: Chidambar Zinnoury Date: Mon, 21 Apr 2014 22:40:45 +0200 Subject: [PATCH] Bugfix: e filepreview widget: No need to compute dimensions and resize widgets at each and every single frame. Doing it once on file opening should be enough. --- src/bin/e_widget_filepreview.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c index 30f46a0ba..39382f22a 100644 --- a/src/bin/e_widget_filepreview.c +++ b/src/bin/e_widget_filepreview.c @@ -221,17 +221,26 @@ _e_wid_fprev_clear_widgets(E_Widget_Data *wd) static void _e_wid_fprev_preview_video_position(E_Widget_Data *wd, Evas_Object *obj, void *event_info __UNUSED__) { - double t, tot, ratio; + double t, tot; + + if (!wd->o_preview_time) return; + tot = emotion_object_play_length_get(obj); + if (!tot) return; + wd->vid_pct = t = (emotion_object_position_get(obj) * 100.0) / emotion_object_play_length_get(obj); + e_widget_slider_value_double_set(wd->o_preview_time, t); +} + +static void +_e_wid_fprev_preview_video_opened(E_Widget_Data *wd, Evas_Object *obj, void *event_info __UNUSED__) +{ + double ratio; int iw, ih; Evas_Coord w, h, mw, mh, ow, oh; evas_object_geometry_get(wd->o_preview_preview, NULL, NULL, &ow, &oh); evas_object_geometry_get(wd->o_preview_properties_table, NULL, NULL, &w, &h); - tot = emotion_object_play_length_get(obj); - if (!tot) return; - wd->vid_pct = t = (emotion_object_position_get(obj) * 100.0) / emotion_object_play_length_get(obj); - e_widget_slider_value_double_set(wd->o_preview_time, t); + e_widget_entry_text_set(wd->o_preview_extra_entry, e_util_time_str_get(emotion_object_play_length_get(obj))); if (w < 10) return; w -= 4; @@ -274,12 +283,6 @@ _e_wid_fprev_preview_video_resize(E_Widget_Data *wd, Evas_Object *obj, void *eve e_table_pack_options_set(wd->o_preview_preview, 1, 1, 1, 1, 0.5, 0.5, mw, mh, w, h); } -static void -_e_wid_fprev_preview_video_opened(E_Widget_Data *wd, Evas_Object *obj, void *event_info __UNUSED__) -{ - e_widget_entry_text_set(wd->o_preview_extra_entry, e_util_time_str_get(emotion_object_play_length_get(obj))); -} - static void _e_wid_fprev_preview_video_change(void *data, Evas_Object *obj) {