RSA code sync
[apps/core/preloaded/settings.git] / setting-font / src / setting-font-main.c
index 0f2b094..61316ff 100755 (executable)
@@ -169,6 +169,8 @@ static void __setting_font_main_genlist_item_create(void *data)
                char *font_type_name = NULL;
                font_type_name = cur_font_get();
 
+               SETTING_TRACE_DEBUG("current font : %s", font_type_name);
+
                ad->font_type = setting_create_Gendial_exp_parent_field(ad->genlist,
                                                                &(ad->itc_2text_3_parent),
                                                                NULL, NULL,
@@ -246,15 +248,27 @@ static void __setting_font_main_popup_cb(void *data, Evas_Object *obj, void *eve
        switch (btn_type(obj)) {
        case POPUP_RESPONSE_OK:
                {
-                       ad->font_type->sub_desc = (char *)g_strdup(_(ad->subitem->keyStr));
+                       /* extract font name from tag mixed string */
+                       char *temp = NULL;
+                       temp = strchr(ad->subitem->keyStr, '>');
+                       temp += 1;
+                       char *last = NULL;
+                       last = strrchr(temp, '<');
+
+                       char font_name[64] = {0,};
+                       safeCopyStr(font_name, temp, (int)(last-temp));
+
+                       /* set font name to font main and font config */
+                       ad->font_type->sub_desc = (char *)g_strdup(_(font_name));
                        elm_object_item_data_set(ad->font_type->item, ad->font_type);
                        elm_genlist_item_update(ad->font_type->item);
 
                        ad->prev_font = ad->subitem->chk_status;
                        G_FREE(ad->font_name);
-                       ad->font_name = (char *)g_strdup(_(ad->subitem->keyStr));
-                       SETTING_TRACE("ad->subitem->keyStr = %s", ad->subitem->keyStr);
-                       __setting_font_main_font_set(ad->subitem->keyStr);
+                       ad->font_name = (char *)g_strdup(_(font_name));
+                       SETTING_TRACE("ad->subitem->keyStr = %s", font_name);
+
+                       __setting_font_main_font_set(font_name);
                        ug_destroy_me(ad->ug);
                        break;
                }
@@ -343,10 +357,19 @@ static void __setting_font_main_exp_cb(void *data, Evas_Object *obj, void *event
                Setting_GenGroupItem_Data *item = NULL;
                EINA_LIST_FOREACH(font_list, l, font_data)
                {
-                       item = setting_create_Gendial_exp_sub_field(scroller, &(ad->itc_1icon_1text_sub),
+                       SETTING_TRACE_DEBUG("font data : %s", (char*)font_data);
+                       char temp[256] = {0,};
+                       if(safeStrCmp(font_data, "Choco cooky") == 0)
+                               snprintf(temp, 256, "<font=%s>%s</font>", "Chococooky", font_data);
+                       else if(safeStrCmp(font_data, "Cool jazz") == 0)
+                               snprintf(temp, 256, "<font=%s>%s</font>", "Cooljazz", font_data);
+                       else
+                               snprintf(temp, 256, "<font=%s>%s</font>", "HelveticaNeue", font_data);
+
+                       item = setting_create_Gendial_exp_sub_field(scroller, &(ad->itc_1text_1icon_2),
                                                     __setting_font_main_sub_list_sel_cb, ad,
                                                     parentItem, SWALLOW_Type_1RADIO, rgd,
-                                                    i, (const char*)font_data,
+                                                    i, temp,
                                                     NULL);
 
                        if (item) {
@@ -406,11 +429,18 @@ static int setting_font_main_create(void *cb)
 
 static int setting_font_main_destroy(void *cb)
 {
+       SETTING_TRACE_BEGIN;
        /* error check */
        retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
 
        SettingFontUG *ad = (SettingFontUG *) cb;
 
+       if(ad->font_name)
+       {
+               G_FREE(ad->font_name);
+               ad->font_name = NULL;
+       }
+
        if (ad->popup) {
                evas_object_del(ad->popup);
                ad->popup = NULL;
@@ -418,9 +448,11 @@ static int setting_font_main_destroy(void *cb)
 
        if (ad->ly_main != NULL) {
                evas_object_del(ad->ly_main);
-               setting_view_font_main.is_create = 0;
+               ad->ly_main = NULL;
        }
 
+       setting_view_font_main.is_create = 0;
+       SETTING_TRACE_END;
        return SETTING_RETURN_SUCCESS;
 }