discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=70d65978c7472a0d8b02cdbd33ae4453b2db38c5
commit 70d65978c7472a0d8b02cdbd33ae4453b2db38c5 Author: Mike Blumenkrantz <zm...@samsung.com> Date: Mon Jan 13 13:40:59 2014 -0500 add "Enable advanced compositing features" option this is what I'll be using to conceal various features in the future which should not be used without some understanding of what they do (OR FACE THE CONSEQUENCES) --- src/bin/e_comp_cfdata.c | 1 + src/bin/e_comp_cfdata.h | 1 + src/bin/e_int_config_comp.c | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/src/bin/e_comp_cfdata.c b/src/bin/e_comp_cfdata.c index 79b3717..d5ecccc 100644 --- a/src/bin/e_comp_cfdata.c +++ b/src/bin/e_comp_cfdata.c @@ -53,6 +53,7 @@ e_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd) E_CONFIG_VAL(D, T, smooth_windows, UCHAR); E_CONFIG_VAL(D, T, first_draw_delay, DOUBLE); E_CONFIG_VAL(D, T, disable_screen_effects, UCHAR); + E_CONFIG_VAL(D, T, enable_advanced_features, UCHAR); E_CONFIG_VAL(D, T, fast_popups, UCHAR); E_CONFIG_VAL(D, T, fast_borders, UCHAR); E_CONFIG_VAL(D, T, fast_menus, UCHAR); diff --git a/src/bin/e_comp_cfdata.h b/src/bin/e_comp_cfdata.h index fc84392..b1620eb 100644 --- a/src/bin/e_comp_cfdata.h +++ b/src/bin/e_comp_cfdata.h @@ -31,6 +31,7 @@ struct _E_Comp_Config unsigned char nofade; double first_draw_delay; Eina_Bool disable_screen_effects; + Eina_Bool enable_advanced_features; // the following options add the "/fast" suffix to the normal groups Eina_Bool fast_popups; Eina_Bool fast_borders; diff --git a/src/bin/e_int_config_comp.c b/src/bin/e_int_config_comp.c index 3aae82d..812d61d 100644 --- a/src/bin/e_int_config_comp.c +++ b/src/bin/e_int_config_comp.c @@ -40,6 +40,7 @@ struct _E_Config_Dialog_Data int fps_average_range; double first_draw_delay; int disable_screen_effects; + int enable_advanced_features; // the following options add the "/fast" suffix to the normal groups int fast_popups; int fast_borders; @@ -112,6 +113,7 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED) cfdata->match.disable_menus = conf->match.disable_menus; cfdata->match.disable_objects = conf->match.disable_objects; cfdata->disable_screen_effects = conf->disable_screen_effects; + cfdata->enable_advanced_features = conf->enable_advanced_features; cfdata->indirect = conf->indirect; cfdata->texture_from_pixmap = conf->texture_from_pixmap; @@ -144,6 +146,17 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED) } static void +_advanced_features_changed(E_Comp_Config *conf) +{ + conf->enable_advanced_features = !conf->enable_advanced_features; + if (conf->enable_advanced_features) + e_util_dialog_internal(_("WARNING"), + _("This option WILL break your desktop if you don't know what you're doing.<br>" + "Do not file bugs about anything that occurs with this option enabled.<br>" + "You have been warned.")); +} + +static void _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) { @@ -337,6 +350,10 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data ob = e_widget_slider_add(evas, 1, 0, _("%1.2f Seconds"), 0.01, 0.5, 0.01, 0, &(cfdata->first_draw_delay), NULL, 150); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(ol, of, 1, 1, 0.5); + of = e_widget_framelist_add(evas, _("DANGEROUS"), 0); + ob = e_widget_check_add(evas, _("Enable advanced compositing features"), &(cfdata->enable_advanced_features)); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(ol, of, 1, 1, 0.5); e_widget_toolbook_page_append(otb, NULL, _("Misc"), ol, 0, 0, 0, 0, 0.5, 0.0); /////////////////////////////////////////// @@ -445,6 +462,7 @@ _advanced_apply_data(E_Config_Dialog *cfd __UNUSED__, (conf->match.disable_menus != cfdata->match.disable_menus) || (conf->match.disable_objects != cfdata->match.disable_objects) || (conf->disable_screen_effects != cfdata->disable_screen_effects) || + (conf->enable_advanced_features != cfdata->enable_advanced_features) || (conf->fast_popups != cfdata->fast_popups) || (conf->fast_borders != cfdata->fast_borders) || (conf->fast_overrides != cfdata->fast_overrides) || @@ -463,6 +481,8 @@ _advanced_apply_data(E_Config_Dialog *cfd __UNUSED__, conf->match.disable_menus = cfdata->match.disable_menus; conf->match.disable_objects = cfdata->match.disable_objects; conf->disable_screen_effects = cfdata->disable_screen_effects; + if (conf->enable_advanced_features != cfdata->enable_advanced_features) + _advanced_features_changed(conf); conf->lock_fps = cfdata->lock_fps; conf->smooth_windows = cfdata->smooth_windows; conf->grab = cfdata->grab; @@ -661,6 +681,8 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, conf->max_unmapped_pixels = cfdata->max_unmapped_pixels; conf->max_unmapped_time = cfdata->max_unmapped_time; conf->min_unmapped_time = cfdata->min_unmapped_time; + if (conf->enable_advanced_features != cfdata->enable_advanced_features) + _advanced_features_changed(conf); conf->send_flush = cfdata->send_flush; conf->send_dump = cfdata->send_dump; conf->fps_show = cfdata->fps_show; --