fix on off change routine
[apps/core/preloaded/ug-setting-gallery-efl.git] / src / ug-setting-gallery.c
index a3975c9..886ffdf 100755 (executable)
@@ -242,25 +242,27 @@ _gallery_genlist_icon_cb(void *data,  Evas_Object *obj, void *event_info)
 \r
        int state = 0;\r
        int index = (int )data;\r
+       bool bState = false;\r
 \r
        if (index == GALLERY_MAIN_MENU_REPEAT)\r
        {\r
-               gallery_key_init_repeat_state(&state);\r
+               bState = elm_check_state_get(ugd->repeat_btn);\r
 \r
-               if (gallery_key_set_repeat_state(!state))\r
+               if (gallery_key_set_repeat_state(bState))\r
                {\r
                        gallery_key_text_popup(ugd,SGUG_TR_FAILED);\r
                }\r
        }\r
        else if(index == GALLERY_MAIN_MENU_SHUFFLE)\r
        {\r
-               gallery_key_init_shuffle_state(&state);\r
+               bState = elm_check_state_get(ugd->shuffle_btn);\r
 \r
-               if(gallery_key_set_shuffle_state(!state))\r
+               if(gallery_key_set_shuffle_state(bState))\r
                {\r
                        gallery_key_text_popup(ugd,SGUG_TR_FAILED);\r
                }\r
        }\r
+\r
 }\r
 \r
 static Evas_Object *_gallery_create_check(Evas_Object *obj, struct ug_data *ugd, int index, Init_State_Func func, int *state)\r
@@ -301,12 +303,14 @@ _gallery_genlist_icon_get(void *data, Evas_Object *obj, const char *part)
        {\r
                if (index == GALLERY_MAIN_MENU_REPEAT)\r
                {\r
-                       check = _gallery_create_check(obj, ugd, index, gallery_key_init_repeat_state, &ugd->repeat_state);\r
+                       ugd->repeat_state = (int)gallery_key_get_repeat_state();\r
+                       check = _gallery_create_check(obj, ugd, index, NULL, &ugd->repeat_state);\r
                        ugd->repeat_btn = check;\r
                }\r
                else if(index == GALLERY_MAIN_MENU_SHUFFLE)\r
                {\r
-                       check = _gallery_create_check(obj, ugd, index, gallery_key_init_shuffle_state, &ugd->shuffle_state);\r
+                       ugd->shuffle_state = (int)gallery_key_get_shuffle_state();\r
+                       check = _gallery_create_check(obj, ugd, index, NULL, &ugd->shuffle_state);\r
                        ugd->shuffle_btn = check;\r
                }\r
        }\r
@@ -457,8 +461,8 @@ _gallery_genlist_select_cb(void *data, Evas_Object *obj, void *event_info)
 \r
        int param = (int )data;\r
 \r
-       int icon_state = 0;\r
        bool expand_state = false;\r
+       bool bState = false;\r
 \r
        Elm_Object_Item *item = (Elm_Object_Item *)event_info;\r
 \r
@@ -471,27 +475,25 @@ _gallery_genlist_select_cb(void *data, Evas_Object *obj, void *event_info)
        }\r
        else if(param == GALLERY_MAIN_MENU_REPEAT)\r
        {\r
-               gallery_key_init_repeat_state(&icon_state);\r
-               icon_state = !icon_state;\r
+               bState = !gallery_key_get_repeat_state();\r
 \r
-               if(gallery_key_set_repeat_state(icon_state))\r
+               if (gallery_key_set_repeat_state(bState))\r
                {\r
                        gallery_key_text_popup(ugd,SGUG_TR_FAILED);\r
                }\r
 \r
-               elm_check_state_set(ugd->repeat_btn, (bool)icon_state);\r
+               elm_check_state_set(ugd->repeat_btn, bState);\r
        }\r
        else if(param == GALLERY_MAIN_MENU_SHUFFLE)\r
        {\r
-               gallery_key_init_shuffle_state(&icon_state);\r
-               icon_state = !icon_state;\r
+               bState = !gallery_key_get_shuffle_state();\r
 \r
-               if(gallery_key_set_shuffle_state(icon_state))\r
+               if(gallery_key_set_shuffle_state(bState))\r
                {\r
                        gallery_key_text_popup(ugd,SGUG_TR_FAILED);\r
                }\r
 \r
-               elm_check_state_set(ugd->shuffle_btn,(bool)icon_state);\r
+               elm_check_state_set(ugd->shuffle_btn,bState);\r
        }\r
 }\r
 \r
@@ -513,6 +515,7 @@ _gallery_genlist_items_add (Evas_Object *parent, struct ug_data *ugd)
 \r
        evas_object_size_hint_weight_set(main_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
        evas_object_size_hint_align_set(main_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);\r
+       evas_object_propagate_events_set(main_genlist, EINA_FALSE);\r
 \r
        ugd->genlist = main_genlist;\r
 \r