seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=5d124a279949a80671beafdcec3c5dcc00dd6bac

commit 5d124a279949a80671beafdcec3c5dcc00dd6bac
Author: Amitesh Singh <amitesh...@samsung.com>
Date:   Wed Oct 23 16:42:04 2013 +0900

    [slider] - show popup on left/right/up/down key down press and hide popup 
on            left/right/up/down key up press.
    
    Test Plan: elementary_test->slider
    
    Reviewers: seoz, Hermet
    
    Differential Revision: https://phab.enlightenment.org/D275
---
 ChangeLog            |  4 ++++
 NEWS                 |  1 +
 src/lib/elm_slider.c | 18 ++++++++++++++++++
 3 files changed, 23 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index e85f251..e403324 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1715,3 +1715,7 @@
 2013-10-21  Ryuan Choi (ryuan)
 
         * fileselector : Monitor and update changes of selected path 
automatically while EIO is working.
+
+2013-10-22  Amitesh Singh (_ami_)
+
+        * slider : Show popup on left/right/up/down key down press and hide on 
left/right/up/down key up press.
diff --git a/NEWS b/NEWS
index 67fd840..d56d0e0 100644
--- a/NEWS
+++ b/NEWS
@@ -102,6 +102,7 @@ Additions:
 
 Improvements:
 
+   * Slider : Show popup on left/right/up/down key down press and hide on 
left/right/up/down key up press.
    * Default theme is now dark (matching Enlightenment).
    * Toolbar widget is now a scrollable widget.
    * Entry widget is now a scrollable layout.
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
old mode 100644
new mode 100755
index 859a0ba..79b09dd
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -370,6 +370,23 @@ _elm_slider_smart_event(Eo *obj, void *_pd, va_list *list)
    if (elm_widget_disabled_get(obj)) return;
 
    if (type == EVAS_CALLBACK_KEY_DOWN) goto key_down;
+   else if (type == EVAS_CALLBACK_KEY_UP)
+     {
+         Evas_Event_Key_Up *ev_up =  event_info;
+
+         if ((!ev_up->string) &&
+             ((!strcmp(ev_up->key, "Left")) ||
+              (!strcmp(ev_up->key, "KP_Left")) ||
+              (!strcmp(ev_up->key, "Right")) ||
+              (!strcmp(ev_up->key, "KP_Right")) ||
+              (!strcmp(ev_up->key, "Up")) ||
+              (!strcmp(ev_up->key, "KP_Up")) ||
+              (!strcmp(ev_up->key, "Down")) ||
+              (!strcmp(ev_up->key, "KP_Down"))))
+             _popup_hide(obj, NULL, NULL, NULL);
+
+         return;
+     }
    else if (type != EVAS_CALLBACK_MOUSE_WHEEL)
      return;
 
@@ -425,6 +442,7 @@ key_down:
    else return;
 
 success:
+   _popup_show(obj, NULL, NULL, NULL);
    _slider_update(obj, EINA_TRUE);
 
    if (ret) *ret = EINA_TRUE;

-- 


Reply via email to