Focus : Up / Down keys are enabled to focus items on the other page. submit/tizen_2.2/20130716.173435 submit/tizen_2.2/20130716.210725 submit/tizen_2.2/20130717.053207
authorJin Yoon <jinny.yoon@samsung.com>
Mon, 15 Jul 2013 00:54:14 +0000 (09:54 +0900)
committerJin Yoon <jinny.yoon@samsung.com>
Mon, 15 Jul 2013 00:55:46 +0000 (09:55 +0900)
data/org.tizen.menu-screen.xml.in
packaging/org.tizen.menu-screen.spec
src/all_apps/.layout.c.swp [deleted file]
src/key.c

index 68e4420aeb334acf098898a8b3a9d9b46bb94f82..c79faecb323e000f4d2334bc70552787c9ea0e64 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="1.2.0" install-location="internal-only">
+<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="1.2.1" install-location="internal-only">
        <label>Simple Menu-screen</label>
        <author email="jinny.yoon@samsung.com" href="www.samsung.com">Jin Yoon</author>
        <author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
index 66de9379a0e349f849ea973f27d57f2393fc131e..f2991547cd073fd62600ed2b930372a7972bb7c6 100644 (file)
@@ -16,7 +16,7 @@
 
 Name:       org.tizen.menu-screen
 Summary:    An utility library of the menu screen
-Version:    1.2.0
+Version:    1.2.1
 Release:    1.1
 Group:      TO_BE/FILLED_IN
 License:    Flora Software License
diff --git a/src/all_apps/.layout.c.swp b/src/all_apps/.layout.c.swp
deleted file mode 100644 (file)
index e2fe7a7..0000000
Binary files a/src/all_apps/.layout.c.swp and /dev/null differ
index 5b2462811a44f52352591e038a10851dd9830fc5..7ddd826a56abdfe87574c69d3c7a709e6d12e418 100644 (file)
--- a/src/key.c
+++ b/src/key.c
@@ -51,6 +51,8 @@ static struct {
 
 #define KEY_LEFT "Left"
 #define KEY_RIGHT "Right"
+#define KEY_UP "Up"
+#define KEY_DOWN "Down"
 static Eina_Bool _key_release_cb(void *data, int type, void *event)
 {
        Evas_Event_Key_Up *ev = event;
@@ -78,7 +80,6 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
                Evas_Object *scroller = evas_object_data_get(all_apps, "scroller");
                break_if(NULL == scroller);
 
-               int left = 0;
                if (!strcmp(ev->keyname, KEY_SELECT) || !strcmp(ev->keyname, KEY_BACK)) {
                        if (popup_exist()) {
                                popup_destroy_all();
@@ -88,8 +89,10 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
                        if (all_apps_layout_is_edited(all_apps)) {
                                all_apps_layout_unedit(all_apps);
                        }
-               } else if ((left = !strcmp(ev->keyname, KEY_LEFT)) ||
-                                       !strcmp(ev->keyname, KEY_RIGHT))
+               } else if (!strcmp(ev->keyname, KEY_LEFT) ||
+                                       !strcmp(ev->keyname, KEY_RIGHT) ||
+                                       !strcmp(ev->keyname, KEY_UP) ||
+                                       !strcmp(ev->keyname, KEY_DOWN))
                {
                        int cur_idx = page_scroller_get_current_page_no(scroller);
                        int idx = 0, x = 0, w = 0;
@@ -101,9 +104,11 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
                                break;
                        }
 
-                       int vector = left ? -1 : 1;
-                       if (x % w) {
-                               page_scroller_focus_into_vector(scroller, vector);
+                       /* If there are no items to be focused after pressing keys,
+                          Menu-screen forces to focus the first item of the other page */
+                       int rest = x % w;
+                       if (rest) {
+                               page_scroller_focus_into_vector(scroller, rest > w / 2 ? -1 : 1);
                        }
                }
        } while (0);