[Genlist] Fix touch sound & selected
authorTae-Hwan Kim <the81.kim@samsung.com>
Sat, 23 Mar 2013 06:18:16 +0000 (15:18 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Thu, 28 Mar 2013 03:57:14 +0000 (12:57 +0900)
1. mouse,clicked, not mouse,down should make touch sound.
2. Check should be selected whenever genlist is selected except some
cases which view depth-in is used when genlist is selected.

Change-Id: Ie5f3f190fd4f5aa3001fbd66c220602a8e184222

themes/widgets/genlist/genlist_decorate.edc
themes/widgets/genlist/genlist_macro.edc
themes/widgets/genlist/genlist_normal.edc

index e5369c6..5239981 100644 (file)
          )
       }
       programs {
-         program { name: "play_sound";
-            signal: "mouse,down,1";
-            source: "elm.*";
+         program { name: "play_sound_text";
+            signal: "mouse,clicked,1";
+            source: "elm.text";
             action: PLAY_SAMPLE "button-pressed" 1.0;
          }
-         program { name: "play_sound_bg";
-            signal: "mouse,down,1";
+         program { name: "play_sound_bg_color";
+            signal: "mouse,clicked,1";
             source: "bg_color";
             action: PLAY_SAMPLE "button-pressed" 1.0;
          }
index 0b22a94..5b28ace 100755 (executable)
                align: 0.5 0.5; \
                color: 0 0 0 0; \
             } \
+            description { state: "disabled" 0.0; \
+               inherit: "default"; \
+            } \
          } \
          GENLIST_PART_PERSPECTIVE_POINT
 
 #define GENLIST_PART_FLIP \
          GENLIST_PART_RECT("elm.flip.bg", \
             mouse_events: 0; \
-            repeat_events: 0;\
             description { state: "default" 0.0;\
                visible: 0; \
             } \
             signal: "elm,state,enabled"; \
             source: "elm"; \
             action: STATE_SET "default" 0.0; \
+            target: "base"; \
             TARGET \
          } \
          program { name: "disabled"; \
             signal: "elm,state,disabled"; \
             source: "elm"; \
             action: STATE_SET "disabled" 0.0; \
+            target: "base"; \
             TARGET \
          }
 
+// If check is swallowed, genlist selected/unselected should be synched with check.
+#define GENLIST_PROGRAM_CHECK(CHECK) \
+         program { name: "selected_check"; \
+            signal: "mouse,down,1"; \
+            source: CHECK; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"base", st, 30, vl); \
+               if (strcmp(st, "disabled")) \
+                  run_program(PROGRAM:"selected"); \
+            } \
+         } \
+         program { name: "unselected_check"; \
+            signal: "mouse,up,1"; \
+            source: CHECK; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"base", st, 30, vl); \
+               if (strcmp(st, "disabled")) \
+                  run_program(PROGRAM:"unselected"); \
+            } \
+         }
+
 #define GENLIST_PROGRAM_SELECT( TARGET ) \
          program { name: "selected"; \
             signal: "elm,state,selected"; \
             source: "elm"; \
             action: STATE_SET "selected" 0.0; \
             TARGET \
-            after: "play_button_press"; \
          } \
          program { name: "selected,nosound"; \
             signal: "elm,state,selected"; \
             action: STATE_SET "default" 0.0; \
             TARGET \
          } \
+         program { name: "play_sound_base"; \
+            signal: "mouse,clicked,1"; \
+            source: "base"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"base", st, 30, vl); \
+               if (strcmp(st, "disabled")) \
+                  run_program(PROGRAM:"play_button_press"); \
+            } \
+         } \
          program { name: "play_button_press"; \
             action: PLAY_SAMPLE "button-pressed" 1.0; \
          }
       GENLIST_PROGRAM_EDITMODE \
    }
 
-#define GENLIST_PROGRAMS_MULTILINE( TARGET ) \
-         programs { \
-            GENLIST_PROGRAM_DISABLED_DIALOGUE( TARGET ) \
-            GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
-            GENLIST_PROGRAM_FLIP \
-         }
-
 #define GENLIST_PROGRAMS_READ_TEXT( TARGET ) \
    programs { \
       GENLIST_PROGRAM_DEFAULT( TARGET \
index ed032ce..a91046c 100755 (executable)
       parts {
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon", "elm.padding.left")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon")
    }
 
 // 2.2.1.16 (textblock)
       parts {
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon", "elm.padding.left")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon")
    }
 
 // 2.2.1.17
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon.1", "elm.padding.left")
          GENLIST_PART_ICON_BTN_02_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon")
    }
 
 // 2.2.1.17 (textblock)
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon.1", "elm.padding.left")
          GENLIST_PART_ICON_BTN_02_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon")
    }
 
 // 2.2.1.18
          GENLIST_PART_FLIP
       }
       GENLIST_PROGRAMS_NORMAL( target: "elm.text"; target: "elm.icon.1"; target: "elm.icon.2"; )
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.1.19
          GENLIST_PART_FLIP
       }
       GENLIST_PROGRAMS_NORMAL( target: "elm.text"; target: "elm.icon.1"; target: "elm.icon.2"; target: "elm.icon.3"; )
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.1.21
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon.1", "elm.padding.left")
          GENLIST_PART_ICON_BIG_R("elm.icon.2", "elm.padding.right")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.1.22
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon.1", "elm.padding.left")
          GENLIST_PART_ICON_BTN_02_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.1.24
          GENLIST_PART_FLIP
       }
       GENLIST_PROGRAMS_NORMAL( target: "elm.text"; target: "elm.icon.1"; target: "elm.icon.2"; target: "elm.icon.3"; )
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.1.26
       parts {
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon", "elm.padding.left")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon")
    }
 
 // 2.2.2.33
       parts {
          GENLIST_PART_ICON_CHECK_RADIO_L("elm.icon.1", "elm.padding.left")
       }
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.2.34
       }
       GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.text.2";
          target: "elm.icon.1"; target: "elm.icon.2";)
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 // 2.2.2.35
          GENLIST_PART_FLIP
       }
       GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.text.2"; )
+      GENLIST_PROGRAM_CHECK("elm.icon.1")
    }
 
 
          GENLIST_PART_PADDING_RIGHT_SIZE( 26 )
 
          GENLIST_PART_TEXT("elm.text",
-            repeat_events: 0;
             GENLIST_DESCRIPTION("elm.padding.left", "elm.icon",
                "elm.padding.top", "elm.padding.bottom",
                GENLIST_PARAM_DIALOGUE_GROUP_TITLE