forked from enlightenment/efl
efl/config: merge all gesture manager config code into efl.config
this is all just duplicated code, so we can deduplicate it with minimal effort to clean up the api Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11251
This commit is contained in:
parent
23678b3695
commit
151ec0748a
|
@ -27,6 +27,9 @@ interface @beta Efl.Config
|
|||
}
|
||||
}
|
||||
}
|
||||
events {
|
||||
config,changed: string; [[Called when a config value has been changed for the manager object. Passed string is the name of the value or NULL if all values were changed.]]
|
||||
}
|
||||
}
|
||||
|
||||
/* NOTES:
|
||||
|
|
|
@ -5148,43 +5148,43 @@ static void
|
|||
_gesture_manager_config_load(Eo *obj)
|
||||
{
|
||||
Eina_Value val;
|
||||
Efl_Canvas_Gesture_Manager *gm = efl_provider_find(obj, EFL_CANVAS_GESTURE_MANAGER_CLASS);
|
||||
Eo *gm = efl_provider_find(obj, EFL_CONFIG_INTERFACE);
|
||||
|
||||
eina_value_setup(&val, EINA_VALUE_TYPE_DOUBLE);
|
||||
eina_value_set(&val, _elm_config->glayer_long_tap_start_timeout);
|
||||
efl_gesture_manager_config_set(gm, "glayer_long_tap_start_timeout", &val);
|
||||
efl_config_set(gm, "glayer_long_tap_start_timeout", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_double_tap_timeout);
|
||||
efl_gesture_manager_config_set(gm, "glayer_double_tap_timeout", &val);
|
||||
efl_config_set(gm, "glayer_double_tap_timeout", &val);
|
||||
|
||||
elm_config_scroll_thumbscroll_friction_set(_elm_config->thumbscroll_friction);
|
||||
elm_config_scroll_thumbscroll_momentum_threshold_set(_elm_config->thumbscroll_momentum_threshold);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_line_min_length);
|
||||
efl_gesture_manager_config_set(gm, "glayer_line_min_length", &val);
|
||||
efl_config_set(gm, "glayer_line_min_length", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_line_distance_tolerance);
|
||||
efl_gesture_manager_config_set(gm, "glayer_line_distance_tolerance", &val);
|
||||
efl_config_set(gm, "glayer_line_distance_tolerance", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_line_angular_tolerance);
|
||||
efl_gesture_manager_config_set(gm, "glayer_line_angular_tolerance", &val);
|
||||
efl_config_set(gm, "glayer_line_angular_tolerance", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_zoom_finger_factor);
|
||||
efl_gesture_manager_config_set(gm, "glayer_zoom_finger_factor", &val);
|
||||
efl_config_set(gm, "glayer_zoom_finger_factor", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_zoom_distance_tolerance);
|
||||
efl_gesture_manager_config_set(gm, "glayer_zoom_distance_tolerance", &val);
|
||||
efl_config_set(gm, "glayer_zoom_distance_tolerance", &val);
|
||||
|
||||
eina_value_setup(&val, EINA_VALUE_TYPE_UINT);
|
||||
eina_value_set(&val, _elm_config->glayer_flick_time_limit_ms);
|
||||
efl_gesture_manager_config_set(gm, "glayer_flick_time_limit_ms", &val);
|
||||
efl_config_set(gm, "glayer_flick_time_limit_ms", &val);
|
||||
|
||||
eina_value_setup(&val, EINA_VALUE_TYPE_UCHAR);
|
||||
eina_value_set(&val, _elm_config->glayer_continues_enable);
|
||||
efl_gesture_manager_config_set(gm, "glayer_continues_enable", &val);
|
||||
efl_config_set(gm, "glayer_continues_enable", &val);
|
||||
|
||||
eina_value_set(&val, _elm_config->glayer_zoom_finger_enable);
|
||||
efl_gesture_manager_config_set(gm, "glayer_zoom_finger_enable", &val);
|
||||
efl_config_set(gm, "glayer_zoom_finger_enable", &val);
|
||||
}
|
||||
|
||||
static Eo *
|
||||
|
|
|
@ -2053,6 +2053,7 @@ _config_flush_get(void)
|
|||
_elm_config_key_binding_hash();
|
||||
_elm_win_access(_elm_config->access_mode);
|
||||
ecore_event_add(ELM_EVENT_CONFIG_ALL_CHANGED, NULL, NULL, NULL);
|
||||
efl_event_callback_call(_efl_config_obj, EFL_CONFIG_EVENT_CONFIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static const char *
|
||||
|
@ -4509,6 +4510,7 @@ _elm_config_reload(void)
|
|||
_elm_old_clouseau_reload();
|
||||
_elm_config_key_binding_hash();
|
||||
ecore_event_add(ELM_EVENT_CONFIG_ALL_CHANGED, NULL, NULL, NULL);
|
||||
efl_event_callback_call(_efl_config_obj, EFL_CONFIG_EVENT_CONFIG_CHANGED, NULL);
|
||||
if (ptheme) eina_stringshare_del(ptheme);
|
||||
if (pmodules) eina_stringshare_del(pmodules);
|
||||
if (picon_theme) eina_stringshare_del(picon_theme);
|
||||
|
@ -4936,6 +4938,7 @@ _efl_config_global_efl_config_config_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNU
|
|||
return EINA_FALSE; \
|
||||
} \
|
||||
elm_config_ ## opt ## _set(v); \
|
||||
efl_event_callback_call(_efl_config_obj, EFL_CONFIG_EVENT_CONFIG_CHANGED, (void*)name); \
|
||||
return EINA_TRUE; \
|
||||
} \
|
||||
} while (0)
|
||||
|
@ -4972,6 +4975,7 @@ _efl_config_global_efl_config_config_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNU
|
|||
return EINA_FALSE; \
|
||||
} \
|
||||
elm_config_ ## opt ## _set(v); \
|
||||
efl_event_callback_call(_efl_config_obj, EFL_CONFIG_EVENT_CONFIG_CHANGED, (void*)name); \
|
||||
return EINA_TRUE; \
|
||||
} \
|
||||
} while (0)
|
||||
|
@ -5073,6 +5077,7 @@ _efl_config_global_efl_config_config_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNU
|
|||
}
|
||||
elm_config_audio_mute_set(chan, !!v);
|
||||
#ifdef ENABLE_MULTISENSE
|
||||
efl_event_callback_call(_efl_config_obj, EFL_CONFIG_EVENT_CONFIG_CHANGED, (void*)name);
|
||||
return EINA_TRUE;
|
||||
#else
|
||||
return EINA_FALSE;
|
||||
|
|
|
@ -97,6 +97,15 @@ _update_finger_sizes(Efl_Canvas_Gesture_Manager_Data *pd, int finger_size)
|
|||
zd->finger_size = finger_size;
|
||||
}
|
||||
|
||||
static void
|
||||
_gesture_manager_config_changed(void *data, const Efl_Event *ev)
|
||||
{
|
||||
Efl_Canvas_Gesture_Manager_Data *pd = data;
|
||||
|
||||
if ((!ev->info) || eina_streq(ev->info, "glayer_tap_finger_size"))
|
||||
_update_finger_sizes(pd, efl_config_int_get(ev->object, "glayer_tap_finger_size"));
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Object *
|
||||
_efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd)
|
||||
{
|
||||
|
@ -112,6 +121,7 @@ _efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_M
|
|||
/* this needs to always be present */
|
||||
config = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
|
||||
efl_config_int_set(config, "glayer_tap_finger_size", EFL_GESTURE_RECOGNIZER_TYPE_TAP_FINGER_SIZE);
|
||||
efl_event_callback_add(config, EFL_CONFIG_EVENT_CONFIG_CHANGED, _gesture_manager_config_changed, pd);
|
||||
|
||||
//Register all types of recognizers at very first time.
|
||||
efl_gesture_manager_recognizer_register(obj, efl_add(EFL_CANVAS_GESTURE_RECOGNIZER_TAP_CLASS, obj));
|
||||
|
@ -127,10 +137,13 @@ _efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_M
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_gesture_manager_efl_object_destructor(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd EINA_UNUSED)
|
||||
_efl_canvas_gesture_manager_efl_object_destructor(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd)
|
||||
{
|
||||
Efl_Canvas_Gesture_Recognizer *recognizer;
|
||||
void *ptr;
|
||||
Eo *config = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
|
||||
if (config)
|
||||
efl_event_callback_del(config, EFL_CONFIG_EVENT_CONFIG_CHANGED, _gesture_manager_config_changed, pd);
|
||||
|
||||
eina_hash_free(pd->m_recognizers);
|
||||
EINA_LIST_FREE(pd->custom_recognizers, recognizer)
|
||||
|
|
|
@ -30,9 +30,6 @@ class @beta Efl.Canvas.Gesture_Manager extends Efl.Object
|
|||
}
|
||||
}
|
||||
}
|
||||
events {
|
||||
config,changed: string; [[Called when a config value has been changed for the manager object. Passed string is the name of the value.]]
|
||||
}
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
Eina_Value *
|
||||
_recognizer_config_get(const Eo *obj, const char *name)
|
||||
{
|
||||
Eo *config = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
|
||||
Eo *config = efl_provider_find(obj, EFL_CONFIG_INTERFACE);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(config, NULL);
|
||||
return efl_config_get(config, name);
|
||||
}
|
||||
|
|
|
@ -7,8 +7,8 @@ abstract @beta Efl.Canvas.Gesture_Recognizer extends Efl.Object
|
|||
Gesture recognizers listen to events that occur on a target object
|
||||
to see if a particular gesture has occurred.
|
||||
|
||||
Recognizer-specific configuration values can be modified through @Efl.Canvas.Gesture_Manager.config,
|
||||
and the recognizer's manager can be found using @Efl.Object.provider_find.
|
||||
Recognizer-specific configuration values can be modified through @Efl.Config.config,
|
||||
and the global config object can be found using @Efl.Object.provider_find.
|
||||
Default configuration values are taken from the system's configuration.
|
||||
]]
|
||||
c_prefix: efl_gesture_recognizer;
|
||||
|
|
|
@ -202,7 +202,7 @@ EFL_START_TEST(test_efl_ui_gesture_long_tap)
|
|||
Eina_Value *val;
|
||||
Eo *e = efl_provider_find(rect, EVAS_CANVAS_CLASS);
|
||||
|
||||
val = efl_gesture_manager_config_get(efl_provider_find(rect, EFL_CANVAS_GESTURE_MANAGER_CLASS), "glayer_long_tap_start_timeout");
|
||||
val = efl_config_get(efl_provider_find(rect, EFL_CONFIG_INTERFACE), "glayer_long_tap_start_timeout");
|
||||
eina_value_get(val, &timeout);
|
||||
|
||||
/* press */
|
||||
|
|
Loading…
Reference in New Issue