tizen 2.3 release
[apps/home/ug-nfc-efl.git] / ug-nfc-setting-efl / src / ug-nfc-setting-predefined-item.c
index 0485941..df68d48 100644 (file)
@@ -1,7 +1,7 @@
 /*
   * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
   *
-  * Licensed under the Flora License, Version 1.1 (the "License");
+  * Licensed under the Flora License, Version 1.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
 
 #include "ug-nfc-setting-db.h"
 
 
-#define MAX_PREDEFINED_ITEM_COUNT      100
-
-typedef struct _predefined_item_data_t
-{
+typedef struct {
        char *app_id;
        char *pkgName;
        char *iconPath;
        char *msgDes;
-}predefined_item_data;
+} pd_data;
 
 
-int dbtable_h = 0;
-int predefined_item_count = 0;
-GArray *predefined_item_list;
-ugdata_t *ud = NULL;
-
-static Elm_Object_Item *on_off_item = NULL;
+static int dbtable_h;
+static int pd_item_cnt;
+static GArray *pd_item_l;
 
 static Elm_Genlist_Item_Class itc_sep;
-static Elm_Genlist_Item_Class itc_2text;
-static Elm_Genlist_Item_Class itc_radio;
-Evas_Object *radio_main = NULL;
-static int state_index = 0; //selected radio index
-
+static Elm_Genlist_Item_Class itc_1text2icon;
 
-static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info)
+static void __nfc_vconf_changed_cb(keynode_t *key, void *data)
 {
-       LOGD("BEGIN >>>>");
+       ugdata_t *ug_data = (ugdata_t *)data;
+       Elm_Object_Item *it, *next;
+       int boolval;
 
-       _change_nfc_predefined_item_setting(ud);
-       if (on_off_item)
-               elm_genlist_item_update(on_off_item);
+       if (!ug_data || !key->keyname)
+               return;
 
-       LOGD("END <<<<");
-}
+       LOGD("key->keyname [%s]", key->keyname);
 
-static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
-       int index = (int) data;
-       char *text = NULL;
-
-       LOGD("[Genlist] index : %d", index);
-       LOGD("[Genlist] part : %s", part);
+       if (strncmp(key->keyname, VCONFKEY_NFC_STATE,
+                       strlen(VCONFKEY_NFC_STATE)) != 0) {
+               return;
+       }
 
-       if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1"))
-       {
-               if (index == -1)
-               {
-                       text = strdup(IDS_PREDEFINED_ITEM);
-               }
-               else
-               {
-                       predefined_item_data *item = NULL;
-
-                       item = g_array_index(predefined_item_list, predefined_item_data *, index);
-                       if ((item != NULL) && (item->msgDes != NULL))
-                       {
-                               text = strdup(item->msgDes);
-                               LOGD("pkgName : %s", item->msgDes);
-                       }
+       if (!vconf_get_bool(key->keyname, &boolval) && !boolval) {
+               if (vconf_set_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE,
+                       VCONFKEY_NFC_PREDEFINED_ITEM_OFF)) {
+                               LOGE("vconf_set_bool failed");
                }
+               elm_check_state_set(ug_data->pd_on_off, EINA_FALSE);
        }
-       else if (!strcmp(part, "elm.text.2"))
-       {
-               if (index == -1)
-               {
-                       char *app_id = NULL;
 
-                       app_id = vconf_get_str(VCONFKEY_NFC_PREDEFINED_ITEM);
-                       if (app_id != NULL)
-                       {
-                               LOGD("app_id [%s]", app_id);
-                               _ug_nfc_setting_db_get_pkgName(app_id, &text);
+       if (!vconf_get_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE, &boolval)) {
+               it = elm_genlist_first_item_get(ug_data->pd_genlist);
+               while (it != NULL) {
+                       next = elm_genlist_item_next_get(it);
 
-                               free(app_id);
-                       }
+                       if (boolval)
+                               elm_object_item_disabled_set(it, EINA_FALSE);
+                       else
+                               elm_object_item_disabled_set(it, EINA_TRUE);
+
+                       it = next;
                }
        }
-
-       return text;
 }
 
-static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
+static void __title_pd_on_off_clicked_cb(void *data, Evas_Object *obj,
+       void *event_info)
 {
-       int index = (int) data;
-       Evas_Object *content = NULL;
+       ugdata_t *ug_data = (ugdata_t *)data;
+       Elm_Object_Item *it, *next;
+       int boolval;
 
-       LOGD("[Genlist] index : %d", index);
-       LOGD("[Genlist] part : %s", part);
+       if (ug_data == NULL) {
+               LOGE("data is null");
+               return;
+       }
 
-       if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
-       {
-               if (index == -1)
-               {
-                       int result;
-                       int on;
+       __change_predefined_item_onoff_setting(ug_data);
 
-                       content = elm_check_add(obj);
-                       evas_object_propagate_events_set(content, EINA_FALSE);
-                       evas_object_smart_callback_add(content, "changed", _check_changed_cb, NULL);
+       if (!vconf_get_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE, &boolval)) {
+               it = elm_genlist_first_item_get(ug_data->pd_genlist);
+               while (it != NULL) {
+                       next = elm_genlist_item_next_get(it);
 
-                       if (((result = vconf_get_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE, &on)) == 0) && (on != 0))
-                       {
-                               LOGD("vconf_get_bool true");
-                               elm_check_state_set(content, EINA_TRUE);
-                       }
+                       if (boolval)
+                               elm_object_item_disabled_set(it, EINA_FALSE);
                        else
-                       {
-                               LOGD("vconf_get_bool false");
-                               elm_check_state_set(content, EINA_FALSE);
-                       }
-                       elm_object_style_set(content, "on&off");
-               }
-               else
-               {
-                       predefined_item_data *item = NULL;
-
-                       item = g_array_index(predefined_item_list, predefined_item_data *, index);
-
-                       content = elm_radio_add(obj);
-                       elm_radio_state_value_set(content, index);
-                       elm_radio_group_add(content, radio_main);
-
-                       if ((item != NULL) && (item->app_id != NULL))
-                       {
-                               char *app_id = NULL;
-
-                               app_id = vconf_get_str(VCONFKEY_NFC_PREDEFINED_ITEM);
-                               if (app_id != NULL)
-                               {
-                                       if (!strcmp(app_id, item->app_id))
-                                       {
-                                               state_index = index;
-                                               elm_radio_value_set(content, state_index);
-                                       }
-                                       free(app_id);
-                               }
-                       }
+                               elm_object_item_disabled_set(it, EINA_TRUE);
 
-                       evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-                       evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+                       it = next;
                }
        }
-       else
-       {
-               if (index >= 0)
-               {
-                       predefined_item_data *item = NULL;
+}
 
-                       item = g_array_index(predefined_item_list, predefined_item_data *, index);
+static char *__gl_text_get(void *data, Evas_Object *obj, const char *part)
+{
+       int index = (int) data;
+       pd_data *item = NULL;
+       char *text = NULL;
 
-                       if ((item != NULL) && (item->iconPath != NULL))
-                       {
-                               LOGD("iconPath [%s]", item->iconPath);
+       //LOGD("index : %d", index);
+       //LOGD("[Genlist] part : %s", part);
 
-                               content = elm_image_add(obj);
-                               elm_image_file_set(content, item->iconPath, NULL);
-                               elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE);
-                       }
+       if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1")) {
+               item = g_array_index(pd_item_l, pd_data *, index);
+               if ((item != NULL) && (item->msgDes != NULL)) {
+                       text = strdup(item->msgDes);
+                       //LOGD("msgDes : %s", item->msgDes);
                }
-       }
 
-       return content;
-}
+       }
 
-static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
-{
-       return EINA_FALSE;
+       return text;
 }
 
-static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
+static Evas_Object *__gl_content_get(void *data, Evas_Object *obj,
+       const char *part)
 {
-       Elm_Object_Item *ui_item = (Elm_Object_Item *) event_info;
-       int result = -1;
-       int index = 0;
-
-       elm_genlist_item_selected_set(ui_item, 0);
+       int index = (int) data;
+       pd_data *item = NULL;
+       Evas_Object *content = NULL;
+       Evas_Object *radio_group;
 
-       if (ui_item)
-       {
-               index = (int) elm_object_item_data_get(ui_item);
+       //LOGD("[Genlist] index : %d", index);
+       //LOGD("[Genlist] part : %s", part);
 
-               if (index == -1)
-               {
-                       _change_nfc_predefined_item_setting(ud);
-                       elm_genlist_item_update(ui_item);
-               }
-               else
-               {
-                       predefined_item_data *item = NULL;
+       if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1")) {
+               item = g_array_index(pd_item_l, pd_data *, index);
 
-                       item = g_array_index(predefined_item_list, predefined_item_data *, index);
+               radio_group = evas_object_data_get(obj, "radio");
+               content = elm_radio_add(obj);
+               elm_radio_state_value_set(content, index);
+               elm_radio_group_add(content, radio_group);
 
-                       state_index = index;
+               if ((item != NULL) && (item->app_id != NULL)) {
+                       char *app_id;
 
-                       if ((item != NULL) && (item->app_id != NULL))
-                       {
-                               LOGD("Selected app_id[%s]", item->app_id);
-                               result = vconf_set_str(VCONFKEY_NFC_PREDEFINED_ITEM, item->app_id);
-                               if (!result )
-                               {
-                                       LOGD("vconf_set_str success");
-                               }
-                               else
-                               {
-                                       LOGD("vconf_set_str failed");
+                       app_id = vconf_get_str(VCONFKEY_NFC_PREDEFINED_ITEM);
+                       if (app_id != NULL) {
+                               if (!strcmp(app_id, item->app_id)) {
+                                       elm_radio_value_set(content, index);
                                }
+                               free(app_id);
                        }
-                       elm_genlist_item_update(ui_item);
+               }
+
+               evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(content, EVAS_HINT_FILL,
+                       EVAS_HINT_FILL);
 
-                       if (on_off_item)
-                               elm_genlist_item_update(on_off_item);
+       } else {
+               item = g_array_index(pd_item_l, pd_data *, index);
+
+               if ((item != NULL) && (item->iconPath != NULL)) {
+                       content = elm_image_add(obj);
+                       elm_image_file_set(content, item->iconPath, NULL);
+                       elm_image_resizable_set(content, EINA_TRUE, EINA_TRUE);
                }
        }
+
+       return content;
 }
 
-#if 0
-static void _gl_realized(void *data, Evas_Object *obj, void *event_info)
+static Eina_Bool __gl_state_get(void *data, Evas_Object *obj,
+       const char *part)
 {
-       LOGD("BEGIN >>>>");
+       return EINA_FALSE;
+}
 
+static void __gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
        Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-       int index = 0;
+       int index;
+       pd_data *pd_item = NULL;
 
-       if (item)
-       {
-               index = (int) elm_object_item_data_get(item);
 
-               if (index == -1)
-               {
-                       elm_object_item_signal_emit(event_info, "elm,state,top", "");
-               }
-               else if (index == predefined_item_count-1)
-               {
-                       elm_object_item_signal_emit(event_info, "elm,state,bottom", "");
-               }
-               else
-               {
-                       elm_object_item_signal_emit(event_info, "elm,state,center", "");
-               }
-       }
+       if (!item)
+               return;
 
-       LOGD("END <<<<");
-}
-#endif
+       elm_genlist_item_selected_set(item, 0);
 
-bool _ug_nfc_check_predefined_item_available(void)
-{
-       LOGD("BEGIN >>>>");
+       index = (int) elm_object_item_data_get(item);
 
-       if (!_ug_nfc_setting_db_open_table(&dbtable_h))
-       {
-               _ug_nfc_setting_db_close_table(dbtable_h);
-               return true;
-       }
-       else
-       {
-               return false;
-       }
+       pd_item = g_array_index(pd_item_l, pd_data *, index);
 
-       LOGD("END <<<<");
+       if ((pd_item != NULL) && (pd_item->app_id != NULL)) {
+               if (vconf_set_str(VCONFKEY_NFC_PREDEFINED_ITEM,
+                       pd_item->app_id)) {
+                       LOGE("vconf_set_str failed");
+               }
+       }
+       elm_genlist_item_update(item);
 }
 
-static void __create_predefined_item_data(void)
+static void __create_pd_data(void)
 {
-       LOGD("BEGIN >>>>");
-
-       predefined_item_data *item = NULL;
+       pd_data *item = NULL;
        int index;
 
-       if (_ug_nfc_setting_db_open_table(&dbtable_h))
-       {
-               LOGD("_ug_nfc_setting_db_open_table is failed!!!!!");
+       if (_ug_nfc_setting_db_open_table(&dbtable_h)) {
+               LOGE("_ug_nfc_setting_db_open_table is failed!!!!!");
                return;
        }
 
        /* get item count */
-       _ug_nfc_setting_db_get_count(&predefined_item_count);
-       LOGD("predefined_item_count [%d]", predefined_item_count);
+       _ug_nfc_setting_db_get_count(&pd_item_cnt);
+       LOGD("pd_item_cnt [%d]", pd_item_cnt);
 
        /* create item list */
-       predefined_item_list = g_array_new(FALSE, FALSE, sizeof(predefined_item_data *));
-
-       for (index = 0; index < predefined_item_count; index++)
-       {
-               item = (predefined_item_data *) malloc(sizeof(predefined_item_data));
-               if (!item)
-               {
-                       LOGD("failed to allocation");
+       pd_item_l = g_array_new(FALSE, FALSE,
+               sizeof(pd_data *));
+
+       for (index = 0; index < pd_item_cnt; index++) {
+               item = (pd_data *) malloc(sizeof(pd_data));
+               if (!item) {
+                       LOGE("failed to allocation");
                        continue;
                }
 
-               if (!_ug_nfc_setting_db_get_next_record(dbtable_h, &item->app_id, &item->pkgName, &item->iconPath, &item->msgDes))
-               {
-                       LOGD("app_id:%s, pkgName:%s, iconPath:%s, msgDes:%s", item->app_id, item->pkgName, item->iconPath, item->msgDes);
+               if (!_ug_nfc_setting_db_get_next_record(dbtable_h,
+                       &item->app_id,
+                       &item->pkgName,
+                       &item->iconPath,
+                       &item->msgDes)) {
 
-                       g_array_append_val(predefined_item_list, item);
-               }
-               else
-               {
+                       //LOGD("app_id:%s, pkgName:%s, iconPath:%s, msgDes:%s", item->app_id, item->pkgName, item->iconPath, item->msgDes);
+
+                       g_array_append_val(pd_item_l, item);
+               } else {
                        free(item);
                }
        }
 
        _ug_nfc_setting_db_close_table(dbtable_h);
-
-       LOGD("END <<<<");
 }
 
-static void __destroy_predefined_item_data(void)
+static void __destroy_pd_data(void)
 {
-       LOGD("BEGIN >>>>");
-
-       if (predefined_item_list != NULL)
-       {
-               predefined_item_data *old_info = NULL;
+       if (pd_item_l != NULL) {
+               pd_data *old_info = NULL;
                int index;
 
-               for (index = 0; index < predefined_item_count; index++)
-               {
-                       old_info = g_array_index(predefined_item_list, predefined_item_data *, index);
+               for (index = 0; index < pd_item_cnt; index++) {
+                       old_info = g_array_index(pd_item_l, pd_data *, index);
 
-                       if (old_info != NULL)
-                       {
+                       if (old_info != NULL) {
                                free(old_info->app_id);
                                free(old_info->pkgName);
                                free(old_info->iconPath);
@@ -353,104 +265,160 @@ static void __destroy_predefined_item_data(void)
                                free(old_info);
                        }
                }
-               g_array_free(predefined_item_list, FALSE);
+               g_array_free(pd_item_l, FALSE);
        }
-
-       LOGD("END <<<<");
 }
 
-Evas_Object *_ug_nfc_create_predefined_item_list(void *data)
+static void __genlist_free_cb(void *data, Evas *e, Evas_Object *obj,
+       void *ei)
 {
-       LOGD("BEGIN >>>>");
+       Evas_Object *radio_group = evas_object_data_get(obj, "radio");
 
+       if (radio_group)
+               evas_object_del(radio_group);
+}
+
+Evas_Object *__create_predefined_item_list(void *data)
+{
        ugdata_t *ug_data = (ugdata_t *)data;
-       Evas_Object *genlist = NULL;
-       Elm_Object_Item* separator = NULL;
-       int index = 0;
+       Evas_Object *genlist, *radio_group;
+       Elm_Object_Item* separator;
+       int index, boolval;
 
+       /* create item data */
+       __create_pd_data();
 
        /* make a list */
        genlist = elm_genlist_add(ug_data->base_naviframe);
-       if (genlist == NULL)
-       {
-               LOGD("genlist is null");
+       if (!genlist) {
+               LOGE("genlist is null");
                return NULL;
        }
-#if 0
-       evas_object_smart_callback_add(genlist, "realized", _gl_realized, NULL);
-#endif
+
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+       evas_object_event_callback_add(genlist, EVAS_CALLBACK_FREE,
+               __genlist_free_cb, NULL);
+
+
+       radio_group = elm_radio_add(genlist);
+       elm_radio_state_value_set(radio_group, 0);
+       elm_radio_value_set(radio_group, 0);
+       evas_object_data_set(genlist, "radio", radio_group);
+
        itc_sep.item_style = "dialogue/separator";
        itc_sep.func.text_get = NULL;
        itc_sep.func.content_get = NULL;
        itc_sep.func.state_get = NULL;
        itc_sep.func.del = NULL;
 
-       itc_2text.item_style = "dialogue/2text.1icon.10";
-       itc_2text.func.text_get = _gl_text_get;
-       itc_2text.func.content_get = _gl_content_get;
-       itc_2text.func.state_get = _gl_state_get;
-       itc_2text.func.del = NULL;
-
-       itc_radio.item_style = "1text.2icon.2";
-       itc_radio.func.text_get = _gl_text_get;
-       itc_radio.func.content_get = _gl_content_get;
-       itc_radio.func.state_get = _gl_state_get;
-       itc_radio.func.del = NULL;
-
-
-       if (!radio_main)
-       {
-               radio_main = elm_radio_add(genlist);
-               elm_radio_state_value_set(radio_main, 0);
-               elm_radio_value_set(radio_main, 0);
-       }
-
-       /* create item data */
-       __create_predefined_item_data();
+       itc_1text2icon.item_style = "1text.2icon.2";
+       itc_1text2icon.func.text_get = __gl_text_get;
+       itc_1text2icon.func.content_get = __gl_content_get;
+       itc_1text2icon.func.state_get = __gl_state_get;
+       itc_1text2icon.func.del = NULL;
 
        /* separator */
-       separator = elm_genlist_item_append(genlist, &itc_sep, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       elm_genlist_item_select_mode_set(separator, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+       separator = elm_genlist_item_append(genlist, &itc_sep, NULL, NULL,
+               ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_genlist_item_select_mode_set(separator,
+               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
        elm_object_item_access_unregister(separator);
 
-       /* add check button */
-       on_off_item = elm_genlist_item_append(genlist, &itc_2text, (void *)-1, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
-
        /* add radio list */
-       for (index = 0; index < predefined_item_count; index++)
-       {
-               elm_genlist_item_append(genlist, &itc_radio, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
+       if (!vconf_get_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE, &boolval)) {
+               for (index = 0; index < pd_item_cnt; index++) {
+                       Elm_Object_Item *it;
+
+                       it = elm_genlist_item_append(genlist,
+                               &itc_1text2icon, (void *)index,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_sel, NULL);
+                       if (boolval)
+                               elm_object_item_disabled_set(it, EINA_FALSE);
+                       else
+                               elm_object_item_disabled_set(it, EINA_TRUE);
+
+                       /* SEPARATOR */
+                       separator = elm_genlist_item_append(genlist, &itc_sep,
+                               NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+                       elm_genlist_item_select_mode_set(separator,
+                               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+                       elm_object_item_access_unregister(separator);
+               }
        }
 
        evas_object_show(genlist);
 
-       ud = ug_data;
-
-       LOGD("END <<<<");
+       vconf_notify_key_changed(VCONFKEY_NFC_STATE ,
+                       __nfc_vconf_changed_cb, ug_data);
 
        return genlist;
 }
 
-void _ug_nfc_destroy_predefined_item_list(void *data, Evas_Object *obj, void *event_info)
+static Eina_Bool __destroy_predefined_item_list(void *data,
+       Elm_Object_Item *it)
 {
-       LOGD("BEGIN >>>>");
+       ugdata_t *ug_data = (ugdata_t *)data;
 
-       ugdata_t *ug_data = data;
+       __destroy_pd_data();
 
-       elm_naviframe_item_pop(ug_data->base_naviframe);
+       pd_item_cnt = 0;
 
-       __destroy_predefined_item_data();
+       if (ug_data && ug_data->ns_genlist) {
+               elm_genlist_realized_items_update(ug_data->ns_genlist);
+       }
 
-       predefined_item_count = 0;
+       vconf_ignore_key_changed(VCONFKEY_NFC_STATE,
+               __nfc_vconf_changed_cb);
 
-       if (radio_main)
-       {
-               evas_object_del(radio_main);
-               radio_main = NULL;
-       }
+       return EINA_TRUE;
+}
 
-       LOGD("END <<<<");
+bool _ug_nfc_check_predefined_item_available(void)
+{
+       if (!_ug_nfc_setting_db_open_table(&dbtable_h)) {
+               _ug_nfc_setting_db_close_table(dbtable_h);
+               return true;
+       } else {
+               return false;
+       }
 }
 
+void _ug_nfc_predefined_item_create(void *data)
+{
+       ugdata_t *ug_data = (ugdata_t *)data;
+       Evas_Object *genlist;
+       int boolval;
+
+       if (!ug_data) {
+               LOGE("invalid paramater");
+               return;
+       }
+
+       /* create setting view */
+       ug_data->pd_genlist = genlist = __create_predefined_item_list(ug_data);
+       if (!genlist)
+               return;
+
+       /* Push navifreme */
+       ug_data->base_navi_it = elm_naviframe_item_push(ug_data->base_naviframe,
+               IDS_USE_NFC_IN_HOME, NULL, NULL, genlist, NULL);
+       elm_naviframe_item_pop_cb_set(ug_data->base_navi_it,
+               __destroy_predefined_item_list, ug_data);
+
+       ug_data->pd_on_off = elm_check_add(ug_data->base_naviframe);
+       elm_object_style_set(ug_data->pd_on_off, "naviframe/title_on&off");
+       elm_object_item_part_content_set(ug_data->base_navi_it,
+               "title_right_btn", ug_data->pd_on_off);
+       evas_object_smart_callback_add(ug_data->pd_on_off, "changed",
+               __title_pd_on_off_clicked_cb, ug_data);
+
+       if (!vconf_get_bool(VCONFKEY_NFC_PREDEFINED_ITEM_STATE, &boolval) &&
+               boolval) {
+               elm_check_state_set(ug_data->pd_on_off, EINA_TRUE);
+       } else {
+               elm_check_state_set(ug_data->pd_on_off, EINA_FALSE);
+       }
+}