forked from enlightenment/enlightenment
feature: add fileman option to clamp video size for video previews
T102
This commit is contained in:
parent
3aa7a32618
commit
bc3e1fd94f
|
@ -45,6 +45,7 @@ struct _E_Widget_Data
|
|||
Eina_Bool prev_is_txt : 1;
|
||||
Eina_Bool prev_is_font : 1;
|
||||
Eina_Bool prev_is_video : 1;
|
||||
Eina_Bool clamp_video : 1;
|
||||
};
|
||||
|
||||
static void _e_wid_fprev_preview_update(void *data, Evas_Object *obj, void *event_info);
|
||||
|
@ -254,6 +255,18 @@ _e_wid_fprev_preview_video_position(E_Widget_Data *wd, Evas_Object *obj, void *e
|
|||
e_widget_size_min_set(wd->obj, mw, mh);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_wid_fprev_preview_video_resize(E_Widget_Data *wd, Evas_Object *obj, void *event_info __UNUSED__)
|
||||
{
|
||||
int w, h, mw, mh;
|
||||
|
||||
emotion_object_size_get(obj, &w, &h);
|
||||
|
||||
if (!wd->clamp_video) return;
|
||||
e_widget_size_min_get(wd->o_preview_preview, &mw, &mh);
|
||||
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__)
|
||||
{
|
||||
|
@ -322,6 +335,7 @@ _e_wid_fprev_preview_video_widgets(E_Widget_Data *wd)
|
|||
e_widget_table_object_append(wd->o_preview_properties_table,
|
||||
wd->o_preview_preview, 0, 0, 2, 2, 1, 1, 1, 1);
|
||||
|
||||
evas_object_smart_callback_add(o, "frame_resize", (Evas_Smart_Cb)_e_wid_fprev_preview_video_resize, wd);
|
||||
evas_object_smart_callback_add(o, "length_change", (Evas_Smart_Cb)_e_wid_fprev_preview_video_opened, wd);
|
||||
evas_object_smart_callback_add(o, "frame_decode", (Evas_Smart_Cb)_e_wid_fprev_preview_video_position, wd);
|
||||
|
||||
|
@ -1237,3 +1251,13 @@ e_widget_filepreview_filemode_force(Evas_Object *obj)
|
|||
_e_wid_fprev_preview_file_widgets(wd, 0, 0, 0);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_widget_filepreview_clamp_video_set(Evas_Object *obj, Eina_Bool clamp)
|
||||
{
|
||||
E_Widget_Data *wd;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(obj);
|
||||
wd = e_widget_data_get(obj);
|
||||
EINA_SAFETY_ON_NULL_RETURN(wd);
|
||||
wd->clamp_video = !!clamp;
|
||||
}
|
||||
|
|
|
@ -848,6 +848,7 @@ _e_fwin_icon_popup(void *data)
|
|||
list = e_widget_list_add(e_comp_get(zone)->evas, 0, 0);
|
||||
|
||||
o = e_widget_filepreview_add(e_comp_get(zone)->evas, mw, mh, 0);
|
||||
e_widget_filepreview_clamp_video_set(o, fileman_config->tooltip.clamp_size);
|
||||
e_widget_filepreview_path_set(o, buf, fwin->popup_icon->mime);
|
||||
e_widget_list_object_append(list, o, 1, 0, 0.5);
|
||||
e_widget_size_min_get(list, &mw, &mh);
|
||||
|
|
|
@ -28,6 +28,8 @@ struct _E_Config_Dialog_Data
|
|||
double delay;
|
||||
double size;
|
||||
Eina_Bool enable;
|
||||
Eina_Bool clamp_size;
|
||||
Evas_Object *check_clamp_size;
|
||||
Evas_Object *delay_slider_text;
|
||||
Evas_Object *delay_slider;
|
||||
Evas_Object *size_slider_text;
|
||||
|
@ -158,6 +160,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
cfdata->tooltip.delay = fileman_config->tooltip.delay;
|
||||
cfdata->tooltip.size = fileman_config->tooltip.size;
|
||||
cfdata->tooltip.enable = fileman_config->tooltip.enable;
|
||||
cfdata->tooltip.clamp_size = fileman_config->tooltip.clamp_size;
|
||||
cfdata->selection.windows_modifiers = fileman_config->selection.windows_modifiers;
|
||||
cfdata->list.sort.dirs.first = fileman_config->list.sort.dirs.first;
|
||||
cfdata->list.sort.extension = fileman_config->list.sort.extension;
|
||||
|
@ -201,6 +204,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__,
|
|||
fileman_config->tooltip.delay = cfdata->tooltip.delay;
|
||||
fileman_config->tooltip.size = cfdata->tooltip.size;
|
||||
fileman_config->tooltip.enable = cfdata->tooltip.enable;
|
||||
fileman_config->tooltip.clamp_size = cfdata->tooltip.clamp_size;
|
||||
fileman_config->selection.windows_modifiers = cfdata->selection.windows_modifiers;
|
||||
fileman_config->list.sort.dirs.first = cfdata->list.sort.dirs.first;
|
||||
fileman_config->list.sort.dirs.last = !(cfdata->list.sort.dirs.first);
|
||||
|
@ -248,6 +252,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__,
|
|||
(fileman_config->tooltip.delay != cfdata->tooltip.delay) ||
|
||||
(fileman_config->tooltip.size != cfdata->tooltip.size) ||
|
||||
(fileman_config->tooltip.enable != cfdata->tooltip.enable) ||
|
||||
(fileman_config->tooltip.clamp_size != cfdata->tooltip.clamp_size) ||
|
||||
(fileman_config->selection.windows_modifiers != cfdata->selection.windows_modifiers) ||
|
||||
(fileman_config->list.sort.dirs.first != cfdata->list.sort.dirs.first) ||
|
||||
(fileman_config->list.sort.dirs.last != !(cfdata->list.sort.dirs.first)) ||
|
||||
|
@ -283,6 +288,7 @@ _tooltip_changed(void *data, Evas_Object *obj __UNUSED__)
|
|||
{
|
||||
E_Config_Dialog_Data *cfdata = data;
|
||||
|
||||
e_widget_disabled_set(cfdata->tooltip.check_clamp_size, !cfdata->tooltip.enable);
|
||||
e_widget_disabled_set(cfdata->tooltip.delay_slider_text, !cfdata->tooltip.enable);
|
||||
e_widget_disabled_set(cfdata->tooltip.delay_slider, !cfdata->tooltip.enable);
|
||||
e_widget_disabled_set(cfdata->tooltip.size_slider_text, !cfdata->tooltip.enable);
|
||||
|
@ -459,6 +465,9 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__,
|
|||
(int*)&(cfdata->tooltip.enable));
|
||||
e_widget_on_change_hook_set(ob, _tooltip_changed, cfdata);
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
cfdata->tooltip.check_clamp_size = ob = e_widget_check_add(evas, _("Clamp video size"),
|
||||
(int*)&(cfdata->tooltip.clamp_size));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
cfdata->tooltip.delay_slider_text = ob = e_widget_label_add(evas, _("Tooltip delay"));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
cfdata->tooltip.delay_slider = ob = e_widget_slider_add(evas, 1, 0, _("%1.1f"), 0.0, 5.0, 0.5, 0,
|
||||
|
|
|
@ -260,6 +260,7 @@ _e_mod_fileman_config_load(void)
|
|||
E_CONFIG_VAL(D, T, tooltip.delay, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, tooltip.size, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, tooltip.enable, UCHAR);
|
||||
E_CONFIG_VAL(D, T, tooltip.clamp_size, UCHAR);
|
||||
E_CONFIG_VAL(D, T, view.spring_delay, INT);
|
||||
E_CONFIG_VAL(D, T, view.toolbar_orient, UINT);
|
||||
E_CONFIG_LIST(D, T, paths, paths_edd);
|
||||
|
|
|
@ -46,6 +46,7 @@ struct _Config
|
|||
double delay;
|
||||
double size;
|
||||
Eina_Bool enable;
|
||||
Eina_Bool clamp_size;
|
||||
} tooltip;
|
||||
/* display of icons */
|
||||
struct
|
||||
|
|
Loading…
Reference in New Issue