int diff = info->time_stamp - rsd->rotary_event_time_stamp;
if (diff < _ROTARY_SELECTOR_ROTARY_EVENT_TIME_ACCELERATION_THRESHOLD)
{
- rsd->acceleration = EINA_TRUE;
+ if (!rsd->editing)
+ rsd->acceleration = EINA_TRUE;
}
else
{
{
if (rsd->selected_index < rsd->item_count - 1)
{
+ if (rsd->editing)
+ {
+ rsd->selected_index = last_index + 1;
+ if (rsd->selected_index > rsd->item_count - 1)
+ {
+ rsd->selected_index = rsd->item_count - 1;
+ return ECORE_CALLBACK_PASS_ON;
+ }
+ _item_selected_signal_send(rsd, previous_item_index, rsd->selected_index);
+ _page_animation_run(rsd, EINA_TRUE);
+ _selector_update(rsd, EINA_TRUE, EINA_TRUE, EINA_TRUE);
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
if (!rsd->acceleration)
{
if (elm_atspi_bridge_utils_is_screen_reader_enabled() && rsd->is_first_rotary_control)
{
if (rsd->selected_index > 0)
{
+ if (rsd->editing)
+ {
+ rsd->selected_index = first_index - 1;
+ if (rsd->selected_index < 0)
+ {
+ rsd->selected_index = 0;
+ return ECORE_CALLBACK_PASS_ON;
+ }
+ _item_selected_signal_send(rsd, previous_item_index, rsd->selected_index);
+ _page_animation_run(rsd, EINA_FALSE);
+ _selector_update(rsd, EINA_TRUE, EINA_TRUE, EINA_TRUE);
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
if (!rsd->acceleration)
{
if (elm_atspi_bridge_utils_is_screen_reader_enabled() && rsd->is_first_rotary_control)