Fix Bug [JIRA:TT-50]: 13/37613/2 accepted/tizen/tv/20150401.123948 submit/tizen_tv/20150401.080439
authorKim Tae Soo <taesoo46.kim@samsung.com>
Wed, 1 Apr 2015 06:05:26 +0000 (15:05 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Wed, 1 Apr 2015 06:22:43 +0000 (15:22 +0900)
Focus expression of genlist disappear when genlist is scrolled by key event.
This issue is because signal for even/odd row color is processed after focus is processed.
Modified to decide to process signal for even/odd row color according to the focus-state of each item.

Change-Id: I4ff925fb8b1e461ceb139adad0f7a652e7cd9bef
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
res/edc/widgets/genlist.edc

index d246efc..a6165cd 100644 (file)
@@ -265,6 +265,7 @@ group {
        }
        script {
                public evenodd_status = 0;
+               public focus_status = 0;
        }
        programs {
                program {
@@ -272,12 +273,13 @@ group {
                        signal:  "elm,state,focused";
                        source:  "elm";
                        script {
-                               set_state(PART:"bg", "focused", 0.0);
-                               set_state(PART:"elm.swallow.icon", "focused", 0.0);
-                               set_state(PART:"elm.text", "focused", 0.0);
-                               set_state(PART:"elm.text1", "focused", 0.0);
-                               set_state(PART:"elm.text2", "focused", 0.0);
-                               set_state(PART:"elm.text3", "focused", 0.0);
+                               set_int(focus_status, 1);
+                               set_state(PART:"bg", "focused", 0.0);
+                               set_state(PART:"elm.swallow.icon", "focused", 0.0);
+                               set_state(PART:"elm.text", "focused", 0.0);
+                               set_state(PART:"elm.text1", "focused", 0.0);
+                               set_state(PART:"elm.text2", "focused", 0.0);
+                               set_state(PART:"elm.text3", "focused", 0.0);
                        }
                }
                program {
@@ -285,16 +287,17 @@ group {
                        signal:  "elm,state,unfocused";
                        source:  "elm";
                        script {
-                               if (get_int(evenodd_status) == 0) {
-                                set_state(PART:"bg", "default", 0.0);
-                               } else {
-                                set_state(PART:"bg", "default_odd", 0.0);
-                               }
-                               set_state(PART:"elm.swallow.icon", "default", 0.0);
-                               set_state(PART:"elm.text", "default", 0.0);
-                               set_state(PART:"elm.text1", "default", 0.0);
-                               set_state(PART:"elm.text2", "default", 0.0);
-                               set_state(PART:"elm.text3", "default", 0.0);
+                               set_int(focus_status, 0);
+                               if (get_int(evenodd_status) == 0) {
+                                       set_state(PART:"bg", "default", 0.0);
+                               } else {
+                                       set_state(PART:"bg", "default_odd", 0.0);
+                               }
+                               set_state(PART:"elm.swallow.icon", "default", 0.0);
+                               set_state(PART:"elm.text", "default", 0.0);
+                               set_state(PART:"elm.text1", "default", 0.0);
+                               set_state(PART:"elm.text2", "default", 0.0);
+                               set_state(PART:"elm.text3", "default", 0.0);
                        }
                }
                program {
@@ -303,7 +306,11 @@ group {
                        source:  MUSIC_BASE_VIEW;
                         script {
                                 set_int(evenodd_status, 0);
-                                set_state(PART:"bg", "default", 0.0);
+                                if (get_int(focus_status) == 0) {
+                                       set_state(PART:"bg", "default", 0.0);
+                                } else {
+                                       set_state(PART:"bg", "focused", 0.0);
+                                }
                         }
                }
                program {
@@ -311,8 +318,12 @@ group {
                        signal:  MUSIC_SIGNAL_ODD_ROW;
                        source:  MUSIC_BASE_VIEW;
                        script {
-                               set_int(evenodd_status, 1);
-                               set_state(PART:"bg", "default_odd", 0.0);
+                          set_int(evenodd_status, 1);
+                          if (get_int(focus_status) == 0) {
+                               set_state(PART:"bg", "default_odd", 0.0);
+                          } else {
+                               set_state(PART:"bg", "focused", 0.0);
+                          }
                        }
                }
        }
@@ -531,6 +542,7 @@ group {
        }
        script {
                public evenodd_status = 0;
+               public focus_status = 0;
        }
        programs {
                program {
@@ -538,6 +550,7 @@ group {
                        signal:  "elm,state,focused";
                        source:  "elm";
                        script {
+                               set_int(focus_status, 1);
                                set_state(PART:"bg", "focused", 0.0);
                                set_state(PART:"elm.text", "focused", 0.0);
                                set_state(PART:"elm.text1", "focused", 0.0);
@@ -550,6 +563,7 @@ group {
                        signal:  "elm,state,unfocused";
                        source:  "elm";
                        script {
+                               set_int(focus_status, 0);
                                if (get_int(evenodd_status) == 0) {
                                        set_state(PART:"bg", "default", 0.0);
                                } else {
@@ -567,7 +581,11 @@ group {
                        source:  MUSIC_BASE_VIEW;
                        script {
                                set_int(evenodd_status, 0);
-                               set_state(PART:"bg", "default", 0.0);
+                               if (get_int(focus_status) == 0) {
+                                 set_state(PART:"bg", "default", 0.0);
+                               } else {
+                                 set_state(PART:"bg", "focused", 0.0);
+                               }
                        }
                }
                program {
@@ -576,7 +594,11 @@ group {
                        source:  MUSIC_BASE_VIEW;
                        script {
                                set_int(evenodd_status, 1);
-                               set_state(PART:"bg", "default_odd", 0.0);
+                         if (get_int(focus_status) == 0) {
+                               set_state(PART:"bg", "default_odd", 0.0);
+                         } else {
+                               set_state(PART:"bg", "focused", 0.0);
+                         }
                        }
                }
        }
@@ -1199,7 +1221,11 @@ group {
                        source:  MUSIC_PLAYBACK_VIEW;
                        script {
                                set_int(evenodd_status, 0);
-                               set_state(PART:"bg", "default", 0.0);
+                               if (get_int(focus_status) == 0) {
+                                       set_state(PART:"bg", "default", 0.0);
+                               } else {
+                                       set_state(PART:"bg", "focused", 0.0);
+                               }
                        }
                }
                program {
@@ -1208,7 +1234,11 @@ group {
                        source:  MUSIC_PLAYBACK_VIEW;
                        script {
                                set_int(evenodd_status, 1);
-                               set_state(PART:"bg", "default_odd", 0.0);
+                               if (get_int(focus_status) == 0) {
+                                       set_state(PART:"bg", "default_odd", 0.0);
+                               } else {
+                                       set_state(PART:"bg", "focused", 0.0);
+                               }
                        }
                }
                program {
@@ -1488,8 +1518,12 @@ group {
                        signal:  MUSIC_SIGNAL_EVEN_ROW;
                        source:  MUSIC_BASE_VIEW;
                         script {
-                                set_int(evenodd_status, 0);
-                                set_state(PART:"bg", "default", 0.0);
+                                       set_int(evenodd_status, 0);
+                                       if (get_int(focus_status) == 0) {
+                                               set_state(PART:"bg", "default", 0.0);
+                                       } else {
+                                               set_state(PART:"bg", "focused", 0.0);
+                                       }
                         }
                }
                program {
@@ -1497,8 +1531,12 @@ group {
                        signal:  MUSIC_SIGNAL_ODD_ROW;
                        source:  MUSIC_BASE_VIEW;
                        script {
-                               set_int(evenodd_status, 1);
-                               set_state(PART:"bg", "default_odd", 0.0);
+                               set_int(evenodd_status, 1);
+                               if (get_int(focus_status) == 0) {
+                                       set_state(PART:"bg", "default_odd", 0.0);
+                               } else {
+                                       set_state(PART:"bg", "focused", 0.0);
+                               }
                        }
                }
                program {