summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-11-24 18:39:11 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-11-24 18:39:11 +0000
commit07274b94953c507f76ef04abe045b9039a0cb9bb (patch)
treea126f0cc73ed9d52ec5595ffe21f21de72794d09 /src
parent901ad50f25c946f1c6b6191cf22c4efc819208d5 (diff)
downloadenlightenment-07274b94953c507f76ef04abe045b9039a0cb9bb.tar.gz
e transitions - add theme anim duration multiplier setting
this is a universal knob for "make those transtions faster". set it ot 0 and edje animations will essentially stop and be instant (take 0 time). if set to 1 - they will go at "theme defined", 2.0 == take twice as long etc. ... so for people who want "things to go faster" slid this down to where you like it. they dont actually go faster... e goes just as fast - just some transtion takes less time (fewer frames)... :) this has been in elm and edje for a long time but this makes the setting obvious to find.
Diffstat (limited to 'src')
-rw-r--r--src/modules/conf_theme/e_int_config_transitions.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/modules/conf_theme/e_int_config_transitions.c b/src/modules/conf_theme/e_int_config_transitions.c
index 256726b585..b985378361 100644
--- a/src/modules/conf_theme/e_int_config_transitions.c
+++ b/src/modules/conf_theme/e_int_config_transitions.c
@@ -19,6 +19,8 @@ struct _E_Config_Dialog_Data
char *transition_desk;
char *transition_change;
+ double duration_factor;
+
Evas_Object *event_list;
Evas_Object *trans_list;
Evas_Object *tp;
@@ -58,6 +60,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->transition_desk = strdup(e_config->transition_desk);
if (e_config->transition_change)
cfdata->transition_change = strdup(e_config->transition_change);
+ cfdata->duration_factor = elm_config_transition_duration_factor_get();
}
static void *
@@ -93,7 +96,9 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd
(cfdata->transition_desk && e_config->transition_desk &&
strcmp(cfdata->transition_desk, e_config->transition_desk)) ||
(cfdata->transition_change && e_config->transition_change &&
- strcmp(cfdata->transition_change, e_config->transition_change));
+ strcmp(cfdata->transition_change, e_config->transition_change)) ||
+ (!EINA_DBL_EQ(elm_config_transition_duration_factor_get(),
+ cfdata->duration_factor));
}
static int
@@ -150,6 +155,14 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata
/* e_config->transition_change = eina_stringshare_add(cfdata->transition_change); */
}
+ if (!EINA_DBL_EQ(elm_config_transition_duration_factor_get(),
+ cfdata->duration_factor))
+ {
+ elm_config_transition_duration_factor_set(cfdata->duration_factor);
+ elm_config_save();
+ elm_config_all_flush();
+ }
+
e_config_save_queue();
EINA_LIST_FREE(trans, str)
@@ -162,7 +175,7 @@ static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data *cfdata)
{
E_Zone *zone;
- Evas_Object *o, *of, *il;
+ Evas_Object *o, *of, *il, *sl;
Eina_List *l;
char *t;
@@ -216,6 +229,11 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dia
e_widget_framelist_object_append(of, il);
e_widget_table_object_append(o, of, 0, 1, 2, 1, 1, 1, 1, 1);
+ of = e_widget_framelist_add(evas, _("Animation Period Multiplier"), 0);
+ sl = e_widget_slider_add(evas, 1, 0, _("%1.1f"), 0.0, 5.0, 0.1, 0,
+ &(cfdata->duration_factor), NULL, 150);
+ e_widget_framelist_object_append(of, sl);
+ e_widget_table_object_append(o, of, 0, 2, 2, 1, 1, 1, 1, 1);
return o;
}