Fix to update RB state when genlist item is selected 75/78375/2 accepted/tizen/mobile/20160705.102545 submit/tizen/20160705.084939
authorYunjin Lee <yunjin-.lee@samsung.com>
Tue, 5 Jul 2016 08:44:28 +0000 (17:44 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Tue, 5 Jul 2016 08:45:23 +0000 (17:45 +0900)
Change-Id: Ib81e67ca577737c1110a89e472647fa00b4d72e5
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
ui/src/privacy_package_list_view.c

index cea0fb8e8bea7c0432cf940606cb83b257fb3af6..16950ac0eee618fe980bb5f5b7356e4e6c133202 100644 (file)
@@ -51,15 +51,6 @@ static void gl_del_cb(void *data, Evas_Object *obj)
        free(id);
 }
 
-static void privacy_package_selected_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       Elm_Object_Item *ei = event_info;
-       /* Unhighlight selected item */
-       elm_genlist_item_selected_set(ei, EINA_FALSE);
-       /* TBD? Add package's privacy info.
-          For example, package's selected privacy related privilege list.
-          Or remove. */
-}
 static char* gl_text_get_cb(void *data, Evas_Object *obj, const char *part)
 {
        item_data_s *id = data;
@@ -69,7 +60,6 @@ static char* gl_text_get_cb(void *data, Evas_Object *obj, const char *part)
 
 static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       struct app_data_s* ad = (struct app_data_s*)data;
        item_data_s *id = (item_data_s*)data;
        if (id->status)
                id->status = EINA_FALSE;
@@ -105,6 +95,24 @@ static void privacy_package_check_changed_cb(void *data, Evas_Object *obj, void
                LOGD("save_btn diabled");
        }
 }
+
+static void privacy_package_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    Elm_Object_Item *ei = event_info;
+    /* Unhighlight selected item */
+    elm_genlist_item_selected_set(ei, EINA_FALSE);
+
+       Eina_Bool status;
+       item_data_s *id = (item_data_s*)data;
+    if (id->status)
+        status = EINA_FALSE;
+    else
+        status = EINA_TRUE;
+       Evas_Object *check = elm_object_item_part_content_get(ei, "elm.swallow.end");
+       elm_check_state_set(check, status);
+       evas_object_smart_callback_call(check, "changed", data);
+}
+
 static void __get_package_privacy_status(pkg_data_s* pkg_data, char* privilege_name)
 {
        GList* l;