#endif
}
-bool is_system_service(const char *pkg_name)
-{
- //SLP native apps list,
- if (0 == safeStrCmp(pkg_name, "com.samsung.menu-screen")
- || 0 == safeStrCmp(pkg_name, "com.samsung.live-data-provider")
- || 0 == safeStrCmp(pkg_name, "com.samsung.live-magazine")
- || 0 == safeStrCmp(pkg_name, "com.samsung.pwlock")
- || 0 == safeStrCmp(pkg_name, "com.samsung.quickpanel")
- || 0 == safeStrCmp(pkg_name, "com.samsung.vtmain")
- || 0 == safeStrCmp(pkg_name, "com.samsung.call")
- || 0 == safeStrCmp(pkg_name, "usb_setting")
- || 0 == safeStrCmp(pkg_name, "com.samsung.indicator")
- || 0 == safeStrCmp(pkg_name, "com.samsung.cluster-home")
- )
- {
- return TRUE;
- }
-
- //OSP service app list,
- bool ret = FALSE;
-#if SUPPORT_STATIC_LOAD
- int idx = 0;
- if (!system_service_list[0]) //just load the file
- {
- FILE *fp = fopen(SYSTEM_SERVICE_LIST_PATH, "r");
- if (fp) {
- char result[MAX_PKG_NAME_LEN+1] = {0, };
- while (fgets(result, MAX_PKG_NAME_LEN, fp))
- {
- result[strlen(result) - 1] = '\0';//offset 1
- system_service_list[idx++] = strdup(result);
- }
- fclose(fp);
- }
-
- }
-
- for (idx = 0; idx < MAX_SYSTEM_SERVICE_NUM && system_service_list[idx]; idx++)
- {
- if (0 == safeStrCmp(pkg_name, system_service_list[idx])) {
- ret = TRUE;
- break;
- }
- }
-#else
- FILE *fp = fopen(SYSTEM_SERVICE_LIST_PATH, "r");
- if (fp) {
- char result[MAX_PKG_NAME_LEN+1] = {0, };
- while (fgets(result, MAX_PKG_NAME_LEN, fp))
- {
- result[strlen(result) - 1] = '\0';//offset 1
- if (0 == safeStrCmp(pkg_name, result)) {
- ret = TRUE;
- break;
- }
- }
- fclose(fp);
- }
-#endif
- SETTING_TRACE("ret:%d", ret);
- return ret;
-}
-
-
-/**
- * should use g_free to free returned string
- */
-char *get_default_font(int language)
-{
- char *font_name = NULL;
-
- switch(language)
- {
- case SETTING_LANG_KOREA:
- font_name = g_strdup("SLPSansKorean");
- break;
- case SETTING_LANG_CHINA:
- /* output_font : SLPSansFallback*/
- case SETTING_LANG_CANTONESE:
- /* output_font : SLPSansFallback*/
- case SETTING_LANG_TAIWAN:
- font_name = g_strdup("SLPSansFallback");
- break;
- case SETTING_LANG_JAPAN:
- font_name = g_strdup("UDGothic");
- break;
- case SETTING_LANG_AUTOMATIC:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_ENGLISH:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_GERMAN:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_DUTCH:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_SPAINISH:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_PORTUGUESE:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_GREEK:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_ITALIAN:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_FRENCH:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_TURKISH:
- /* output_font : HelveticaNeue*/
- case SETTING_LANG_RUSSIAN:
- font_name = g_strdup("HelveticaNeue");
- break;
- default:
- font_name = g_strdup("HelveticaNeue");
- break;
- }
- return font_name;
-}
-
-
-void *font_conf_doc_parse(char *doc_name, char *font_name)
-{
- SETTING_TRACE_BEGIN;
- setting_retvm_if(doc_name == NULL, NULL, "Param data is NULL");
- setting_retvm_if(font_name == NULL, NULL, "Param data is NULL");
- xmlDocPtr doc = NULL;
- xmlNodePtr cur = NULL;
- xmlNodePtr cur2 = NULL;
- xmlNodePtr cur3 = NULL;
- xmlChar *key = NULL;
-
- doc = xmlParseFile(doc_name);
- setting_retvm_if(doc == NULL, NULL, "Document not parsed successfully.");
-
- cur = xmlDocGetRootElement(doc);
-
- if (cur == NULL) {
- SETTING_TRACE_DEBUG("empty document");
- xmlFreeDoc(doc);
- doc = NULL;
- return NULL;
- }
-
- if(xmlStrcmp(cur->name, (const xmlChar *)"fontconfig")) {
- SETTING_TRACE_DEBUG("document of the wrong type, root node != fontconfig");
- xmlFreeDoc(doc);
- doc = NULL;
- return NULL;
- }
-
- cur = cur->xmlChildrenNode;
-
- Eina_Bool is_changed = EINA_FALSE;
- while(cur != NULL)
- {
- if((!xmlStrcmp(cur->name, (const xmlChar *)"match")))
- {
- cur2 = cur->xmlChildrenNode;
- while(cur2 != NULL)
- {
- if((!xmlStrcmp(cur2->name, (const xmlChar *)"edit")))
- {
- xmlChar *name = xmlGetProp(cur2, (const xmlChar *)"name");
- SETTING_TRACE_DEBUG("name is: %s", name);
- /* if name is not 'family', break */
- if (xmlStrcmp(name, (const xmlChar *)"family"))
- {
- xmlFree(name);
- name = NULL;
- break;
- }
- xmlFree(name);
- name = NULL;
-
- cur3 = cur2->xmlChildrenNode;
- while(cur3 != NULL)
- {
- if((!xmlStrcmp(cur3->name, (const xmlChar *)"string")))
- {
- xmlNodeSetContent(cur3->xmlChildrenNode, (const xmlChar *)font_name);
- key = xmlNodeListGetString(doc, cur3->xmlChildrenNode, 1);
- SETTING_TRACE_DEBUG("after changed, string is: %s", key);
- xmlFree(key);
- key = NULL;
- is_changed = EINA_TRUE;
- }
- cur3 = cur3->next;
- }
- }
- cur2 = cur2->next;
- }
- } else if ((!xmlStrcmp(cur->name, (const xmlChar *)"alias")))
- {
- cur2 = cur->xmlChildrenNode;
- while (cur2 != NULL)
- {
- if ((!xmlStrcmp(cur2->name, (const xmlChar *)"family")))
- {
- xmlNodeSetContent(cur2->xmlChildrenNode, (const xmlChar *)font_name);
- key = xmlNodeListGetString(doc, cur2->xmlChildrenNode, 1);
- SETTING_TRACE_DEBUG("after changed, string is: %s", key);
- xmlFree(key);
- key = NULL;
- is_changed = EINA_TRUE;
- } else if ((!xmlStrcmp(cur2->name, (const xmlChar *)"prefer")))
- {
- cur3 = cur2->xmlChildrenNode;
- while (cur3 != NULL)
- {
- if((!xmlStrcmp(cur3->name, (const xmlChar *)"family")))
- {
- xmlNodeSetContent(cur3->xmlChildrenNode, (const xmlChar *)font_name);
- key = xmlNodeListGetString(doc, cur3->xmlChildrenNode, 1);
- SETTING_TRACE_DEBUG("after changed, string is: %s", key);
- xmlFree(key);
- key = NULL;
- is_changed = EINA_TRUE;
- cur3 = cur3->next;
- break; /* just set first element, so break */
- }
- cur3 = cur3->next;
- }
- }
- cur2 = cur2->next;
- }
- }
- cur = cur->next;
- }
-
- if (is_changed) {
- return doc;
- } else {
- xmlFreeDoc(doc);
- doc = NULL;
- return NULL;
- }
-}
-
/**
* should use g_free to free return string
EINA_LIST_FOREACH_SAFE(fo_list, ll, l_next, efo)
{
- if (!safeStrCmp(efo->text_class, "slp_medium")) {
+ if (!safeStrCmp(efo->text_class, "tizen_medium")) {
elm_config_font_overlay_set(efo->text_class, (const char*)font_name, efo->size);
slp_medium_exist = EINA_TRUE;
- } else if (!safeStrCmp(efo->text_class, "slp_roman")) {
+ } else if (!safeStrCmp(efo->text_class, "tizen_roman")) {
elm_config_font_overlay_set(efo->text_class, (const char*)font_name, efo->size);
slp_roman_exist = EINA_TRUE;
- } else if (!safeStrCmp(efo->text_class, "slp_bold")) {
+ } else if (!safeStrCmp(efo->text_class, "tizen_bold")) {
elm_config_font_overlay_set(efo->text_class, (const char*)font_name, efo->size);
slp_bold_exist = EINA_TRUE;
- } else if (!safeStrCmp(efo->text_class, "slp_regular")) {
+ } else if (!safeStrCmp(efo->text_class, "tizen_regular")) {
elm_config_font_overlay_set(efo->text_class, (const char*)font_name, efo->size);
slp_regular_exist = EINA_TRUE;
}
/* if slp_XX do not exist, need to set them, font size is -100(100%) */
if (slp_medium_exist == EINA_FALSE) {
- elm_config_font_overlay_set("slp_medium", (const char*)font_name, MIDDLE_FONT_DPI);
+ elm_config_font_overlay_set("tizen_medium", (const char*)font_name, MIDDLE_FONT_DPI);
}
if (slp_roman_exist == EINA_FALSE) {
- elm_config_font_overlay_set("slp_roman", (const char*)font_name, MIDDLE_FONT_DPI);
+ elm_config_font_overlay_set("tizen_roman", (const char*)font_name, MIDDLE_FONT_DPI);
}
if (slp_bold_exist == EINA_FALSE) {
- elm_config_font_overlay_set("slp_bold", (const char*)font_name, MIDDLE_FONT_DPI);
+ elm_config_font_overlay_set("tizen_bold", (const char*)font_name, MIDDLE_FONT_DPI);
}
if (slp_regular_exist == EINA_FALSE) {
- elm_config_font_overlay_set("slp_regular", (const char*)font_name, MIDDLE_FONT_DPI);
+ elm_config_font_overlay_set("tizen_regular", (const char*)font_name, MIDDLE_FONT_DPI);
}
// Tizen
elm_config_font_overlay_set("tizen", (const char*)font_name, MIDDLE_FONT_DPI);
}
- elm_config_font_overlay_set("slp", (const char*)font_name, MIDDLE_FONT_DPI);
+ elm_config_font_overlay_set("tizen", (const char*)font_name, MIDDLE_FONT_DPI);
// Tizen
elm_config_font_overlay_set("tizen", (const char*)font_name, MIDDLE_FONT_DPI);
#include <system_settings.h>
#define SETTING_FONT_MAX_LEN 10
+#define FONT_BUF_SIZE 256
static int setting_font_main_create(void *cb);
static int setting_font_main_destroy(void *cb);
.cleanup = setting_font_main_cleanup,
};
+
+/**
+ * [API] font-size
+ */
static char* __setting_font_main_get_font_size(int value)
{
const char* font_size_arr[] = {
}
}
+
+/**
+ * [API] get a font list from current system
+ * REFACTORING: move this feature to system-settings
+ */
static Eina_List *__setting_font_main_available_list_get()
{
SETTING_TRACE_BEGIN
}
}
+
+int get_font_name_str(char* font_type_name, char* trans_font_type_name, int bufsize)
+{
+ if(safeStrCmp(font_type_name, "Choco cooky") == 0)
+ snprintf(trans_font_type_name, bufsize, "%s", _("IDS_ST_BODY_CHOCO_COOKY"));
+ else if(safeStrCmp(font_type_name, "Cool jazz") == 0)
+ snprintf(trans_font_type_name, bufsize, "%s", _("IDS_ST_BODY_COOL_JAZZ"));
+ else if (safeStrCmp(font_type_name, "HelveticaNeue") == 0)
+ snprintf(trans_font_type_name, bufsize, "%s", _("IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME"));
+ else
+ snprintf(trans_font_type_name, bufsize, "%s", font_type_name);
+
+ return 1;
+}
+
+int get_font_name_tag(char* font_data, char* temp, int bufsize)
+{
+ SETTING_TRACE("font data : %s", (char*)font_data);
+
+ char* pos = font_data;
+ char new_name[bufsize];
+ int i=0;
+ int count = 0;
+ while(*pos != '\0')
+ {
+ SETTING_TRACE(">>> %c", *pos);
+ if (*pos == ' ')
+ {
+ SETTING_TRACE(">>> empty ' ' ");
+ new_name[count] = '\\';
+ count++;
+ new_name[count] = ' ';
+ } else {
+ new_name[count] = font_data[i];
+ }
+
+ count++;
+ pos++;
+ i++;
+ }
+ new_name[count] = '\0';
+
+ SETTING_TRACE(">>> new_name length : %d : string : %s", count, (char*)new_name);
+ snprintf(temp, bufsize, "<font=%s>%s</font>", new_name, font_data);
+ return 1;
+}
+
static void __setting_font_main_genlist_item_create(void *data)
{
SETTING_TRACE_BEGIN;
item = elm_genlist_item_append(ad->genlist, &(ad->itc_seperator), NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
char *font_type_name = NULL;
- font_type_name = cur_font_get();
+ int ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_type_name);
+ SETTING_TRACE("---------------- system-setting call : (%s) ", font_type_name);
- char trans_font_type_name[256] = {0,};
+ #if 0
+ char trans_font_type_name[256] = {0,};
if(safeStrCmp(font_type_name, "Choco cooky") == 0)
snprintf(trans_font_type_name, 256, "%s", _("IDS_ST_BODY_CHOCO_COOKY"));
else if(safeStrCmp(font_type_name, "Cool jazz") == 0)
snprintf(trans_font_type_name, 256, "%s", _("IDS_ST_BODY_COOL_JAZZ"));
- else
+ else if (safeStrCmp(font_type_name, "HelveticaNeue") == 0)
snprintf(trans_font_type_name, 256, "%s", _("IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME"));
-
+ else
+ snprintf(trans_font_type_name, 256, "%s", font_type_name);
+ #else
+ char trans_font_type_name[FONT_BUF_SIZE] = {0,};
+ ret = get_font_name_str(font_type_name, trans_font_type_name, FONT_BUF_SIZE);
+ //SETTING_TRACE_DEBUG("font data : %s", (char*)font_data);
+ #endif
SETTING_TRACE_DEBUG("current font : %s, trans font name: %s", font_type_name, trans_font_type_name);
ad->font_type = setting_create_Gendial_exp_parent_field(ad->genlist,
/**
+ * [API] set current font
* font change
*/
static void __setting_font_main_font_set(char *font_name)
{
retm_if(font_name == NULL, "Invalid argument: font_name is NULL");
- xmlDocPtr doc = (xmlDocPtr)font_conf_doc_parse(SETTING_FONT_CONF_FILE, font_name);
-
- if(doc != NULL) {
- xmlSaveFormatFile(SETTING_FONT_CONF_FILE, doc, 0);
- xmlFreeDoc(doc);
- doc = NULL;
- }
-
- font_config_set(font_name);
+ int ret;
+ ret = system_settings_set_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, font_name);
- /* notification */
- Ecore_X_Window ecore_win = ecore_x_window_root_first_get();
- Ecore_X_Atom atom = ecore_x_atom_get("FONT_TYPE_change");
- ecore_x_window_prop_string_set(ecore_win, atom, "slp");
}
static void __setting_font_main_popup_cb(void *data, Evas_Object *obj, void *event_info)
case POPUP_RESPONSE_OK:
{
/* extract font name from tag mixed string */
+ SETTING_TRACE("??? --> popup - get FONT : %s ", ad->subitem->keyStr);
+
+ SETTING_TRACE("sub_desc --> popup - get FONT : %s ", ad->subitem->sub_desc);
+
char *temp = NULL;
temp = strchr(ad->subitem->keyStr, '>');
temp += 1;
char *last = NULL;
last = strrchr(temp, '<');
+ #if 0
char font_name[64] = {0,};
safeCopyStr(font_name, temp, (int)(last-temp));
-
+ #else
+ // sub - descc
+ char *font_name = g_strdup(ad->subitem->sub_desc);
+ #endif
/* 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);
Setting_GenGroupItem_Data *item = NULL;
EINA_LIST_FOREACH(font_list, l, font_data)
{
+ char temp[FONT_BUF_SIZE] = {0,};
+ int ret = get_font_name_tag(font_data, temp, FONT_BUF_SIZE);
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", _("IDS_ST_BODY_CHOCO_COOKY"));
- else if(safeStrCmp(font_data, "Cool jazz") == 0)
- snprintf(temp, 256, "<font=%s>%s</font>", "Cooljazz", _("IDS_ST_BODY_COOL_JAZZ"));
- else
- snprintf(temp, 256, "<font=%s>%s</font>", "HelveticaNeue", _("IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME"));
item = setting_create_Gendial_exp_sub_field(scroller, &(ad->itc_1text_1icon_2),
__setting_font_main_sub_list_sel_cb, ad,
if (item) {
item->userdata = ad;
- if (!safeStrCmp(ad->font_name, (const char*)font_data)) {
+ //item->sub_desc = font_data;
+ item->sub_desc = strdup(font_data);
+ //if (!safeStrCmp(ad->font_name, (const char*)font_data)) {
+ if (!safeStrCmp(ad->font_name, (const char*)item->sub_desc)) {
matched_font = i;
}
}
NULL,
ad, &ad->genlist, &ad->navibar);
- setting_enable_expandable_genlist(ad->genlist, ad,
- __setting_font_main_exp_cb, NULL);
+ setting_enable_expandable_genlist(ad->genlist, ad, __setting_font_main_exp_cb, NULL);
__setting_font_main_genlist_item_create(ad);