summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--legacy/elementary/ChangeLog4
-rw-r--r--legacy/elementary/NEWS1
-rw-r--r--legacy/elementary/src/lib/elm_spinner.c27
3 files changed, 24 insertions, 8 deletions
diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog
index 4eced1316e..e4d978097d 100644
--- a/legacy/elementary/ChangeLog
+++ b/legacy/elementary/ChangeLog
@@ -1616,3 +1616,7 @@
1616 1616
1617 * elm_object_item : Introduces new APIs, elm_object_item_track(), 1617 * elm_object_item : Introduces new APIs, elm_object_item_track(),
1618 elm_object_item_untrack(), elm_object_item_track_get(). 1618 elm_object_item_untrack(), elm_object_item_track_get().
1619
16202013-09-14 Daniel Juyung Seo (SeoZ)
1621
1622 * spinner : fixed arrow key focus movement bug.
diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS
index 78c1369a82..ffd4a8739d 100644
--- a/legacy/elementary/NEWS
+++ b/legacy/elementary/NEWS
@@ -281,6 +281,7 @@ Fixes:
281 * Flip : Fix the flip page to not flip on a direction if the direction is disabled. 281 * Flip : Fix the flip page to not flip on a direction if the direction is disabled.
282 * Spinner : change part name to access.text from access_text on default style. 282 * Spinner : change part name to access.text from access_text on default style.
283 * Fix fileselector only send "selected" signal without selection when file path is typed on the path entry. 283 * Fix fileselector only send "selected" signal without selection when file path is typed on the path entry.
284 * Fix spinner arrow key focus movement bug.
284 285
285Removals: 286Removals:
286 287
diff --git a/legacy/elementary/src/lib/elm_spinner.c b/legacy/elementary/src/lib/elm_spinner.c
index 1afe98bda2..7a91f1aa6e 100644
--- a/legacy/elementary/src/lib/elm_spinner.c
+++ b/legacy/elementary/src/lib/elm_spinner.c
@@ -436,6 +436,7 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
436 void *event_info = va_arg(*list, void *); 436 void *event_info = va_arg(*list, void *);
437 Eina_Bool *ret = va_arg(*list, Eina_Bool *); 437 Eina_Bool *ret = va_arg(*list, Eina_Bool *);
438 if (ret) *ret = EINA_FALSE; 438 if (ret) *ret = EINA_FALSE;
439 Eina_Bool horz = !!strcmp(elm_widget_style_get(obj), "vertical");
439 440
440 if (elm_widget_disabled_get(obj)) return; 441 if (elm_widget_disabled_get(obj)) return;
441 if (type == EVAS_CALLBACK_KEY_DOWN) 442 if (type == EVAS_CALLBACK_KEY_DOWN)
@@ -443,10 +444,15 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
443 Evas_Event_Key_Down *ev = event_info; 444 Evas_Event_Key_Down *ev = event_info;
444 445
445 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; 446 if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
446 else if (!strcmp(ev->key, "Left") || 447 else if (
447 ((!strcmp(ev->key, "KP_Left")) && (!ev->string)) || 448 ( (!strcmp(ev->key, "Left") ||
448 !strcmp(ev->key, "Down") || 449 ((!strcmp(ev->key, "KP_Left")) && (!ev->string)))
449 ((!strcmp(ev->key, "KP_Down")) && (!ev->string))) 450 && horz )
451 ||
452 ( (!strcmp(ev->key, "Down") ||
453 ((!strcmp(ev->key, "KP_Down")) && (!ev->string)))
454 && !horz )
455 )
450 { 456 {
451 _val_dec_start(obj); 457 _val_dec_start(obj);
452 elm_layout_signal_emit(obj, "elm,left,anim,activate", "elm"); 458 elm_layout_signal_emit(obj, "elm,left,anim,activate", "elm");
@@ -454,10 +460,15 @@ _elm_spinner_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
454 if (ret) *ret = EINA_TRUE; 460 if (ret) *ret = EINA_TRUE;
455 return; 461 return;
456 } 462 }
457 else if (!strcmp(ev->key, "Right") || 463 else if (
458 ((!strcmp(ev->key, "KP_Right")) && (!ev->string)) || 464 ( (!strcmp(ev->key, "Right") ||
459 !strcmp(ev->key, "Up") || 465 ((!strcmp(ev->key, "KP_Right")) && (!ev->string)))
460 ((!strcmp(ev->key, "KP_Up")) && (!ev->string))) 466 && horz )
467 ||
468 ( (!strcmp(ev->key, "Up") ||
469 ((!strcmp(ev->key, "KP_Up")) && (!ev->string)))
470 && !horz )
471 )
461 { 472 {
462 _val_inc_start(obj); 473 _val_inc_start(obj);
463 elm_layout_signal_emit(obj, "elm,right,anim,activate", "elm"); 474 elm_layout_signal_emit(obj, "elm,right,anim,activate", "elm");