Added src to work checkbox when touching genitem. 99/108999/1
authorjinwang.an <jinwang.an@samsung.com>
Fri, 6 Jan 2017 11:36:33 +0000 (20:36 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Fri, 6 Jan 2017 11:36:33 +0000 (20:36 +0900)
Change-Id: I64b08c0e3b920fef2ca268f2960728651d80e5cf
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
include/setting-sound.h
src/setting-display.c
src/setting-sound.c
src/setting-vibration.c

index 605cee5da39bf9ad0328ff9e975f89f084b3b666..fb89b2d755c5af6952e3052a934badaf431e8a78 100644 (file)
@@ -71,7 +71,6 @@ typedef struct _Sound_Item_Data {
        int index;
        int menu_array_idx;
        Elm_Object_Item *item;
-       Evas_Object *check;
 } Sound_Item_Data;
 
 char *_gl_Sound_title_get(void *data, Evas_Object *obj, const char *part);
index 1e4b3c7fc12d98b3bc766661bcc19962c87e90c3..59d199f65f2586e9821233e71a572205868bb4b1 100644 (file)
@@ -56,6 +56,7 @@ static Evas_Object *g_btn_plus = NULL;
 static Evas_Object *g_center_img = NULL;
 static Evas_Object *g_btn_minus = NULL;
 static Evas_Object *g_slider = NULL;
+static Evas_Object *g_noti_check = NULL;
 
 static int is_changed = 0;
 static bool running = false;
@@ -67,6 +68,7 @@ static void _clock_cb(void *data, Evas_Object *obj, void *event_info);
 static void _display_brightness_cb(void *data, Evas_Object *obj, void *event_info);
 static Evas_Object *_gl_display_noti_indicator_check_get(void *data, Evas_Object *obj, const char *part);
 static void _display_gl_display_noti_indicator_cb(void *data, Evas_Object *obj, void *event_info);
+static void _display_gl_display_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info);
 static void _display_gl_display_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info);
 static void _show_noti_indicator_list(void *data);
 static void change_screen_time_cb(keynode_t *key, void *data);
@@ -91,7 +93,7 @@ static struct _font_menu_item font_menu_its[] = {
 };
 
 static struct _display_menu_item noti_menu_its[] = {
-       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_DISPLAY_NOTIFICATION_INDICATOR_SW,      NULL},
+       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_DISPLAY_NOTIFICATION_INDICATOR_SW,      _display_gl_display_noti_indicator_check_cb},
        { "IDS_ST_MBODY_HELP",  SETTING_DISPLAY_NOTIFICATION_INDICATOR_HELP,    _display_gl_display_noti_indicator_help_cb },
 };
 
@@ -2561,6 +2563,28 @@ void _noti_indicator_help_popup_cb(void *data, Evas_Object *obj, void *event_inf
 
 }
 
+static void _display_gl_display_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       int value = 0;
+       Elm_Object_Item *it = (Elm_Object_Item *)event_info;
+       appdata *ad = data;
+
+       if (ad == NULL) {
+               DBG("%s", "_touch_sound_cb - appdata or check is null");
+               return;
+       }
+       vconf_get_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, &value);
+       value = value ? 0 : 1;
+       vconf_set_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, value);
+
+
+       if (g_noti_check != NULL)
+               elm_check_state_set(g_noti_check, (value) ? EINA_TRUE : EINA_FALSE);
+
+       elm_genlist_item_selected_set(it, EINA_FALSE);
+
+}
+
 static void _display_gl_display_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info)
 {
        elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
@@ -2600,6 +2624,7 @@ static Evas_Object *_gl_display_noti_indicator_check_get(void *data, Evas_Object
                elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, check);
                elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, check);
                elm_atspi_accessible_relationship_append(check, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
+               g_noti_check = check;
 
        }
 
index 008934dc4084011fb71bd5235d60c836511bcb17..eb7089d777c034e164ddaa127c1b9f61c218b8bb 100644 (file)
@@ -88,6 +88,7 @@ static Ecore_Timer *vibration_timer = NULL;
 
 static int is_wav_playing = SOUND_STATE_STOP;
 static int sound_id = -1;
+static Evas_Object *g_touch_check = NULL;
 
 
 static void sound_vconf_changed_cb(keynode_t *key, void *data);
@@ -362,7 +363,9 @@ void _touch_sound_cb(void *data, Evas_Object *obj, void *event_info)
 
        elm_genlist_item_selected_set(it, EINA_FALSE);
 
-       elm_genlist_item_update(it);
+       if (g_touch_check != NULL)
+               elm_check_state_set(g_touch_check, (ad->is_enable_touch_sound) ? EINA_TRUE : EINA_FALSE);
+
 }
 
 void _vibrate_cb(void *data, Evas_Object *obj, void *event_info)
@@ -536,7 +539,7 @@ Evas_Object *_gl_sound_check_get(void *data, Evas_Object *obj, const char *part)
                evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                evas_object_propagate_events_set(check, EINA_FALSE);
 
-               id->check = check;
+               g_touch_check = check;
 
                index++;
 
index 9de708bbecc69661db3fd2100fa8828cefbb1156..c3fc809cafba87ee49f3a7acefb11dc3e353ea92 100644 (file)
@@ -123,7 +123,6 @@ Evas_Object *_gl_vibration_check_get(void *data, Evas_Object *obj, const char *p
 {
        Evas_Object *check = NULL;
 
-       Sound_Item_Data *id = data;
        int is_long_buzz = 0;
 
        if (!strcmp(part, "elm.icon")) {
@@ -140,8 +139,6 @@ Evas_Object *_gl_vibration_check_get(void *data, Evas_Object *obj, const char *p
                evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                evas_object_propagate_events_set(check, EINA_FALSE);
 
-               id->check = check;
-
        }
 
        return check;