static const double radius = 168.5; //BG_HEIGHT / 2 - mark_height / 2;
static const double mark_radius = 2.000317; //1 / sqrt(1 - pow(mark_width / 2 / radius , 2)) * 2;
static const double ANIMATION_DURATION = 0.3;
+static const double BLINK_DELAY = 0.3;
static char *bg_file_name[] = {
"date_picker_day_28_bg",
elm_datetime_value_set(datetime, &t);
}
+static Eina_Bool
+_rotary_timer_cb(void *data)
+{
+ Eext_Circle_Object *circle_obj = (Eext_Circle_Object *)data;
+ Eext_Circle_Object_Datetime_Data *widget_data = (Eext_Circle_Object_Datetime_Data *)circle_obj->widget_data;
+ Evas_Object *selected_radio;
+
+ selected_radio = _eext_circle_object_datetime_selected_field_object_get(circle_obj->widget_object);
+ elm_layout_signal_emit(selected_radio, "elm,state,rotary,inactive", "eext");
+
+ widget_data->rotary_timer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
static Eina_Bool
_rotary_changed_cb(void *data, Evas_Object *obj, Eext_Rotary_Event_Info* info)
{
_date_update(circle_obj, EINA_FALSE);
//for accessibility
- Eext_Circle_Object_Datetime_Data *datetime_data = (Eext_Circle_Object_Datetime_Data *)circle_obj->widget_data;
+ Eext_Circle_Object_Datetime_Data *widget_data = (Eext_Circle_Object_Datetime_Data *)circle_obj->widget_data;
Evas_Object *datetime = circle_obj->widget_object;
struct tm t;
char buf_read_text[255];
bindtextdomain (PACKAGE, LOCALE_DIR);
elm_atspi_accessible_translation_domain_set(obj, PACKAGE);
- switch(datetime_data->current_type)
+ switch(widget_data->current_type)
{
case ELM_DATETIME_DATE:
snprintf(buf_read_text, sizeof(buf_read_text), "%2.0f",(double)t.tm_mday);
elm_atspi_bridge_utils_say(buf_read_text, EINA_TRUE, NULL, NULL);
//
+ if (widget_data->rotary_timer)
+ {
+ ecore_timer_del(widget_data->rotary_timer);
+ widget_data->rotary_timer = NULL;
+ }
+
+ widget_data->rotary_timer = ecore_timer_add(BLINK_DELAY, _rotary_timer_cb, circle_obj);
+
return EINA_TRUE;
}