X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_config.c;h=033c30e6bbdca79f0bc093482de3170aa3437b29;hb=02416fdf5874983611580cfaa34f18d045e92c8d;hp=0292f2d60e456fa142eee834b2a9cbdfca534c63;hpb=39fbded81af7da697632aaa298787a3166d83ede;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c index 0292f2d..033c30e 100644 --- a/src/lib/elm_config.c +++ b/src/lib/elm_config.c @@ -74,7 +74,7 @@ static size_t _elm_user_dir_snprintf(char *dst, #ifdef HAVE_ELEMENTARY_X static Ecore_Event_Handler *_prop_change_handler = NULL; static Ecore_X_Window _root_1st = 0; -#define ATOM_COUNT 22 +#define ATOM_COUNT 23 static Ecore_X_Atom _atom[ATOM_COUNT]; static Ecore_X_Atom _atom_config = 0; static const char *_atom_names[ATOM_COUNT] = @@ -97,6 +97,7 @@ static const char *_atom_names[ATOM_COUNT] = "ENLIGHTENMENT_THUMBSCROLL_MOMENTUM_THRESHOLD", "ENLIGHTENMENT_THUMBSCROLL_FRICTION", "ENLIGHTENMENT_THUMBSCROLL_BORDER_FRICTION", + "ENLIGHTENMENT_THUMBSCROLL_SENSITIVITY_FRICTION", "ENLIGHTENMENT_THUMBSCROLL_PAGE_SCROLL_FRICTION", "ENLIGHTENMENT_THUMBSCROLL_BRING_IN_SCROLL_FRICTION", "ENLIGHTENMENT_THUMBSCROLL_ZOOM_FRICTION", @@ -120,10 +121,11 @@ static const char *_atom_names[ATOM_COUNT] = #define ATOM_E_THUMBSCROLL_MOMENTUM_THRESHOLD 15 #define ATOM_E_THUMBSCROLL_FRICTION 16 #define ATOM_E_THUMBSCROLL_BORDER_FRICTION 17 -#define ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION 18 -#define ATOM_E_THUMBSCROLL_BRING_IN_SCROLL_FRICTION 19 -#define ATOM_E_THUMBSCROLL_ZOOM_FRICTION 20 -#define ATOM_E_CONFIG 21 +#define ATOM_E_THUMBSCROLL_SENSITIVITY_FRICTION 18 +#define ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION 19 +#define ATOM_E_THUMBSCROLL_BRING_IN_SCROLL_FRICTION 20 +#define ATOM_E_THUMBSCROLL_ZOOM_FRICTION 21 +#define ATOM_E_CONFIG 22 static Eina_Bool _prop_config_get(void); static Eina_Bool _prop_change(void *data __UNUSED__, @@ -437,9 +439,8 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) - _elm_config->thumbscroll_momentum_threshold = - (double)val / 1000.0; + _elm_config->thumbscroll_momentum_threshold = + (double)val / 1000.0; } } else if (event->atom == _atom[ATOM_E_THUMBSCROLL_FRICTION]) @@ -450,8 +451,7 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) - _elm_config->thumbscroll_friction = (double)val / 1000.0; + _elm_config->thumbscroll_friction = (double)val / 1000.0; } } else if (event->atom == _atom[ATOM_E_THUMBSCROLL_BORDER_FRICTION]) @@ -462,9 +462,20 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) - _elm_config->thumbscroll_border_friction = - (double)val / 1000.0; + _elm_config->thumbscroll_border_friction = + (double)val / 1000.0; + } + } + else if (event->atom == _atom[ATOM_E_THUMBSCROLL_SENSITIVITY_FRICTION]) + { + unsigned int val = 1000; + + if (ecore_x_window_prop_card32_get(event->win, + event->atom, + &val, 1) > 0) + { + _elm_config->thumbscroll_sensitivity_friction = + (double)val / 1000.0; } } else if (event->atom == _atom[ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION]) @@ -475,9 +486,8 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) - _elm_config->page_scroll_friction = - (double)val / 1000.0; + _elm_config->page_scroll_friction = + (double)val / 1000.0; } } else if (event->atom == @@ -489,9 +499,8 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) - _elm_config->bring_in_scroll_friction = - (double)val / 1000.0; + _elm_config->bring_in_scroll_friction = + (double)val / 1000.0; } } else if (event->atom == @@ -503,7 +512,6 @@ _prop_change(void *data __UNUSED__, event->atom, &val, 1) > 0) { - if (val > 0) _elm_config->zoom_friction = (double)val / 1000.0; } } @@ -570,10 +578,16 @@ _desc_init(void) ELM_CONFIG_VAL(D, T, thumbscroll_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, thumbscroll_bounce_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, thumbscroll_border_friction, T_DOUBLE); + ELM_CONFIG_VAL(D, T, thumbscroll_sensitivity_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, page_scroll_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, bring_in_scroll_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, zoom_friction, T_DOUBLE); ELM_CONFIG_VAL(D, T, thumbscroll_bounce_enable, T_UCHAR); + ELM_CONFIG_VAL(D, T, scroll_smooth_time_interval, T_DOUBLE); + ELM_CONFIG_VAL(D, T, scroll_smooth_amount, T_DOUBLE); + ELM_CONFIG_VAL(D, T, scroll_smooth_history_weight, T_DOUBLE); + ELM_CONFIG_VAL(D, T, scroll_smooth_future_time, T_DOUBLE); + ELM_CONFIG_VAL(D, T, scroll_smooth_time_window, T_DOUBLE); ELM_CONFIG_VAL(D, T, scale, T_DOUBLE); ELM_CONFIG_VAL(D, T, bgpixmap, T_INT); ELM_CONFIG_VAL(D, T, compositing, T_INT); @@ -601,6 +615,8 @@ _desc_init(void) ELM_CONFIG_VAL(D, T, longpress_timeout, T_DOUBLE); ELM_CONFIG_VAL(D, T, effect_enable, T_UCHAR); ELM_CONFIG_VAL(D, T, desktop_entry, T_UCHAR); + ELM_CONFIG_VAL(D, T, password_show_last, T_UCHAR); + ELM_CONFIG_VAL(D, T, password_show_last_timeout, T_DOUBLE); #undef T #undef D #undef T_INT @@ -901,9 +917,8 @@ sys: continue; } } - return flist; - eina_iterator_free(file_it); + return flist; list_free: EINA_LIST_FREE(flist, dir) @@ -1003,6 +1018,8 @@ _config_sub_apply(void) { edje_frametime_set(1.0 / _elm_config->fps); edje_scale_set(_elm_config->scale); + edje_password_show_last_set(_elm_config->password_show_last); + edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout); if (_elm_config->modules) _elm_module_parse(_elm_config->modules); } @@ -1124,6 +1141,12 @@ _config_load(void) _elm_config->bring_in_scroll_friction = 0.5; _elm_config->zoom_friction = 0.5; _elm_config->thumbscroll_border_friction = 0.5; + _elm_config->thumbscroll_sensitivity_friction = 0.25; // magic number! just trial and error shows this makes it behave "nicer" and not run off at high speed all the time + _elm_config->scroll_smooth_time_interval = 0.008; + _elm_config->scroll_smooth_amount = 1.0; + _elm_config->scroll_smooth_history_weight = 0.3; + _elm_config->scroll_smooth_future_time = 0.0; + _elm_config->scroll_smooth_time_window = 0.2; _elm_config->scale = 1.0; _elm_config->bgpixmap = 0; _elm_config->compositing = 1; @@ -1150,8 +1173,9 @@ _config_load(void) _elm_config->longpress_timeout = 1.0; _elm_config->effect_enable = EINA_TRUE; _elm_config->desktop_entry = EINA_FALSE; - _elm_config->is_mirrored = EINA_FALSE; /* Read sys value in env_get() */ + _elm_config->password_show_last = EINA_FALSE; + _elm_config->password_show_last_timeout = 2.0; } static const char * @@ -1393,7 +1417,7 @@ _env_get(void) (!strcasecmp(s, "opengl_x11"))) eina_stringshare_replace(&_elm_config->engine, ELM_OPENGL_X11); else if ((!strcasecmp(s, "x11-8")) || - (!strcasecmp(s, "x18")) || + (!strcasecmp(s, "x8")) || (!strcasecmp(s, "software-8-x11")) || (!strcasecmp(s, "software_8_x11"))) eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_8_X11); @@ -1402,11 +1426,13 @@ _env_get(void) (!strcasecmp(s, "software-16-x11")) || (!strcasecmp(s, "software_16_x11"))) eina_stringshare_replace(&_elm_config->engine, ELM_SOFTWARE_16_X11); +/* else if ((!strcasecmp(s, "xrender")) || (!strcasecmp(s, "xr")) || (!strcasecmp(s, "xrender-x11")) || (!strcasecmp(s, "xrender_x11"))) eina_stringshare_replace(&_elm_config->engine, ELM_XRENDER_X11); + */ else if ((!strcasecmp(s, "fb")) || (!strcasecmp(s, "software-fb")) || (!strcasecmp(s, "software_fb"))) @@ -1438,7 +1464,7 @@ _env_get(void) else if ((!strncmp(s, "shot:", 5))) eina_stringshare_replace(&_elm_config->engine, s); } - + s = getenv("ELM_VSYNC"); if (s) _elm_config->vsync = !!atoi(s); @@ -1473,6 +1499,28 @@ _env_get(void) _elm_config->thumbscroll_border_friction = friction; } + s = getenv("ELM_THUMBSCROLL_SENSITIVITY_FRICTION"); + if (s) + { + friction = atof(s); + if (friction < 0.1) + friction = 0.1; + + if (friction > 1.0) + friction = 1.0; + + _elm_config->thumbscroll_sensitivity_friction = friction; + } + s = getenv("ELM_SCROLL_SMOOTH_TIME_INTERVAL"); + if (s) _elm_config->scroll_smooth_time_interval = atof(s); + s = getenv("ELM_SCROLL_SMOOTH_AMOUNT"); + if (s) _elm_config->scroll_smooth_amount = atof(s); + s = getenv("ELM_SCROLL_SMOOTH_HISTORY_WEIGHT"); + if (s) _elm_config->scroll_smooth_history_weight = atof(s); + s = getenv("ELM_SCROLL_SMOOTH_FUTURE_TIME"); + if (s) _elm_config->scroll_smooth_future_time = atof(s); + s = getenv("ELM_SCROLL_SMOOTH_TIME_WINDOW"); + if (s) _elm_config->scroll_smooth_time_window = atof(s); s = getenv("ELM_THEME"); if (s) eina_stringshare_replace(&_elm_config->theme, s); @@ -1538,6 +1586,17 @@ _env_get(void) s = getenv("ELM_FINGER_SIZE"); if (s) _elm_config->finger_size = atoi(s); + s = getenv("ELM_PASSWORD_SHOW_LAST"); + if (s) _elm_config->password_show_last = !!atoi(s); + + s = getenv("ELM_PASSWORD_SHOW_LAST_TIMEOUT"); + if (s) + { + double pw_show_last_timeout = atof(s); + if (pw_show_last_timeout >= 0.0) + _elm_config->password_show_last_timeout = pw_show_last_timeout; + } + s = getenv("ELM_FPS"); if (s) _elm_config->fps = atof(s); if (_elm_config->fps < 1.0) _elm_config->fps = 1.0; @@ -1622,15 +1681,22 @@ _elm_config_init(void) _desc_init(); _profile_fetch_from_conf(); _config_load(); - _env_get(); - _config_apply(); - _elm_config_font_overlay_apply(); - _elm_recache(); +// NOTE: Do not merge upstream code. Just leave it. +// _env_get(); +// _config_apply(); +// _elm_config_font_overlay_apply(); +// _elm_recache(); } void _elm_config_sub_init(void) { + // NOTE: Do not merge upstream code. Just leave it. + _env_get(); + _config_apply(); + _elm_config_font_overlay_apply(); + _elm_recache(); + #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name)) if (ENGINE_COMPARE(ELM_SOFTWARE_X11) || ENGINE_COMPARE(ELM_SOFTWARE_16_X11) || @@ -1716,8 +1782,8 @@ _elm_config_sub_init(void) } _elm_profile = s; if (changed) _prop_config_get(); - } - } + } + } #endif } _config_sub_apply();