*/
#include <setting-phone-region-format.h>
#include <setting-common-draw-widget.h>
+#include <eventsystem.h>
+
+#include <system_settings.h>
#define MAX_REGION_STRLEN 256
.cleanup = setting_phone_region_format_cleanup,
};
-
-
/**
* @brief Function of add color to display string by html charactor
*
UErrorCode status = U_ZERO_ERROR;
UCollator *coll = ucol_open(getenv("LANG"), &status);
- UCollationResult ret = ucol_strcoll(coll, region1, -1, region2, -1);
+ if (coll) {
+ UCollationResult ret = ucol_strcoll(coll, region1, -1, region2, -1);
- ucol_close(coll);
+ ucol_close(coll);
- switch (ret) {
+ switch (ret) {
case UCOL_EQUAL:
return 0;
case UCOL_GREATER:
return 1;
case UCOL_LESS:
return -1;
- default:
- return 0;
+ }
}
+ return SETTING_RETURN_FAIL;
}
* @return #0 is correct
*/
static int setting_phone_region_format_get_region_fmt(char *list[],
- int item_idx[],
- /*[OUT]*/ char *region_keyStr[],
- int *region_num)
+ int item_idx[],
+ /*[OUT]*/ char *region_keyStr[],
+ int *region_num)
{
const char *loc_list = NULL;
int loc_count = 0;
SETTING_TRACE("localeID = %s", localeID);
for (; i < loc_count; i++) {
+
+
if (tmp_region_num >= REGION_ITEM_MAX) {
break;
}
loc_list = uloc_getAvailable(i);
+ setting_retvm_if(NULL == loc_list, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER, "loc_list is NULL");
+
+ char* e = strchr(loc_list, '_');
+ char* result;
+ if (e) {
+ int index = (int)(e-loc_list);
+ result = substring(loc_list, 0, index);
+ //SETTING_TRACE("lang code : %s", result);
+ } else {
+ //SETTING_TRACE("lang code itself : %s", loc_list);
+ result = loc_list;
+ }
+
+ //****************************************************************************
+ //****************************************************************************
+ //****************************************************************************
+ // current font doesn't support the font
+ // filter out if result == 'bo'
+ if (0 == safeStrCmp(result, "bo")
+ || 0 == safeStrCmp(result, "dz") ) continue;
+ //****************************************************************************
+ //****************************************************************************
+ //****************************************************************************
- /* SETTING_TRACE("loc_list = %s", loc_list); */
uloc_getDisplayLanguage(loc_list, localeID, lang, LANGUAGE_STR_LEN, &language_status);
if (U_FAILURE(language_status)) {
SETTING_TRACE_ERROR("language_status got an error %s:%d ", language_status, language_status);
str_variant = setting_phone_lang_str_to_utf8(variant);
str_displayname = setting_phone_lang_str_to_utf8(displayname);
+ //SETTING_TRACE(" lang : %s, country : %s ---> str_displayname : %s ", str_lang, str_country, str_displayname);
+
+ if (0 == safeStrCmp(str_lang, result)) {
+ //SETTING_TRACE(" str_lang is equal to result %s %s ", str_lang, result);
+ FREE(str_lang);
+ FREE(str_country);
+ FREE(str_variant);
+ FREE(str_displayname);
+ continue;
+
+ }
+
+ if (str_lang == NULL) {
+ //SETTING_TRACE(" str_lang is NULL. ");
+ FREE(str_lang);
+ FREE(str_country);
+ FREE(str_variant);
+ FREE(str_displayname);
+ continue;
+ } else if (0 == safeStrCmp(str_lang, "")) {
+ //SETTING_TRACE(" str_lang is Empty string. ");
+ FREE(str_lang);
+ FREE(str_country);
+ FREE(str_variant);
+ FREE(str_displayname);
+ continue;
+ }
+
/* filter which has variant */
if (str_lang != NULL && str_country != NULL
- && safeStrLen(str_country) > 1 && safeStrLen(str_variant) == 0) {
+ && safeStrLen(str_country) > 1 && safeStrLen(str_variant) == 0) {
Setting_Region_Table *item_data = (Setting_Region_Table *) calloc(1, sizeof(Setting_Region_Table));
/*setting_retvm_if(item_data == NULL, -1, "calloc failed") */
}
region_list = eina_list_sort(region_list, eina_list_count(region_list),
- setting_phone_region_format_compare_cb);
+ setting_phone_region_format_compare_cb);
Eina_List *iter = NULL;
Setting_Region_Table *item_data = NULL;
* @param data The view data passed between all callbacks
*/
EXPORT_PUBLIC int setting_phone_region_format_set_dateformat(const char *region,
- void *data)
+ void *data)
{
SETTING_TRACE_BEGIN;
setting_retvm_if(!region, SETTING_RETURN_FAIL, "region parameter is NULL");
setting_retvm_if(!uret, SETTING_RETURN_FAIL, "u_uastrncpy is fail");
if (ad->pattern_generator == NULL
- || safeStrCmp(region, ad->prev_locale) != 0) {
+ || safeStrCmp(region, ad->prev_locale) != 0) {
if (ad->pattern_generator != NULL) {
udatpg_close(ad->pattern_generator);
ad->pattern_generator = NULL;
}
int32_t bestPatternCapacity =
- (int32_t)(sizeof(bestPattern) / sizeof((bestPattern)[0]));
+ (int32_t)(sizeof(bestPattern) / sizeof((bestPattern)[0]));
(void)udatpg_getBestPattern(ad->pattern_generator, customSkeleton,
- u_strlen(customSkeleton), bestPattern,
- bestPatternCapacity, &status);
+ u_strlen(customSkeleton), bestPattern,
+ bestPatternCapacity, &status);
ret_str = u_austrcpy(bestPatternString, bestPattern);
setting_retvm_if(!ret_str, SETTING_RETURN_FAIL, "u_uastrncpy is fail");
}
SETTING_TRACE("bestPatternString : %s, format: %s, index: %d",
- bestPatternString, region_format,
- date_format_vconf_value);
+ bestPatternString, region_format,
+ date_format_vconf_value);
int err = SETTING_RETURN_SUCCESS;
setting_set_int_slp_key(INT_SLP_SETTING_DATE_FORMAT, date_format_vconf_value, &err);
ad->selected_region_idx = -1;
int search_count = 0;
- if (isEmptyStr(ad->search_text) || is_substr_ncase(_("IDS_COM_BODY_AUTOMATIC"), ad->search_text)) {
+ if (isEmptyStr(ad->search_text) || is_substr_ncase(_("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC"), ad->search_text)) {
- char *buf = __setting_phone_region_format_get_str_colr(ad, _("IDS_COM_BODY_AUTOMATIC"));
+ char *buf = __setting_phone_region_format_get_str_colr(ad, _("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC"));
/*SETTING_TRACE_DEBUG("buf: %s", buf); */
item_data = setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1text_tb),
- setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
- ad->chk_region,
- SWALLOW_Type_INVALID, NULL, NULL,
- -1,
- buf, NULL, NULL);
+ &(ad->itc_1text_tb),
+ setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
+ ad->chk_region,
+ SWALLOW_Type_INVALID, NULL, NULL,
+ -1,
+ buf, NULL, NULL);
if (item_data) {
item_data->userdata = ad;
- item_data->keyStr2 = _("IDS_COM_BODY_AUTOMATIC");
- item_data->group_style = SETTING_GROUP_STYLE_TOP;
+ item_data->keyStr2 = _("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC");
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
search_count++;
+ FREE(buf);
}
int i = 0;
for (; i < ad->region_num; i++) {
if (isEmptyStr(ad->search_text) ||
- is_substr_ncase(ad->region_desc[i], ad->search_text)) {
+ is_substr_ncase(ad->region_desc[i], ad->search_text)) {
char *buf = __setting_phone_region_format_get_str_colr(ad, ad->region_desc[i]);
/*SETTING_TRACE_DEBUG("buf: %s", buf); */
item_data =
- setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1text_tb),
- setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
- ad->chk_region,
- SWALLOW_Type_INVALID, NULL, NULL,
- ad->region_index[i],
- buf, NULL, NULL);
+ setting_create_Gendial_field_def(ad->gl_region,
+ &(ad->itc_1text_tb),
+ setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
+ ad->chk_region,
+ SWALLOW_Type_INVALID, NULL, NULL,
+ ad->region_index[i],
+ buf, NULL, NULL);
if (item_data) {
item_data->userdata = ad;
item_data->keyStr2 = ad->region_desc[i];
- if (search_count == 0) {
- item_data->group_style = SETTING_GROUP_STYLE_TOP;
- } else {
- item_data->group_style = SETTING_GROUP_STYLE_CENTER;
- }
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
- if (ad->region_vconf_str) {
- if (!safeStrCmp(ad->region_vconf_str, ad->region_keyStr[i])) {
- ad->selected_region_idx = i;
- }
+ FREE(buf);
+ setting_retvm_if(NULL == ad->region_vconf_str, FALSE, "ad->region_vconf_str is NULL");
+ if (!safeStrCmp(ad->region_vconf_str, ad->region_keyStr[i])) {
+ ad->selected_region_idx = i;
}
search_count++;
- FREE(buf);
}
}
- if (search_count == 1) {
- if (item_data) {
- item_data->group_style = SETTING_GROUP_STYLE_NONE;
- }
- } else if (search_count > 1) {
+ if (search_count > 1) {
Setting_GenGroupItem_Data *last_item =
- (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
- if (last_item) {
- last_item->group_style = SETTING_GROUP_STYLE_BOTTOM;
+ (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
+ }
+
+ if (search_count == 0) {
+ if(!ad->nocontents)
+ {
+ ad->nocontents = elm_layout_add(ad->win_get);
+ elm_layout_theme_set(ad->nocontents, "layout", "nocontents", "search");
+ elm_object_part_text_set(ad->nocontents, "elm.text", _("IDS_ST_BODY_NO_RESULTS_FOUND"));
+ }
+ if (ad->nocontents != elm_object_part_content_get(ad->ly_sub_region, "elm.swallow.content"))
+ {
+ ad->gl_region = elm_object_part_content_unset(ad->ly_sub_region, "elm.swallow.content");
+ evas_object_hide(ad->gl_region);
+ elm_object_part_content_set(ad->ly_sub_region, "elm.swallow.content", ad->nocontents);
+ }
+ }
+ else
+ {
+ if (ad->gl_region != elm_object_part_content_get(ad->ly_sub_region, "elm.swallow.content"))
+ {
+ ad->nocontents = elm_object_part_content_unset(ad->ly_sub_region, "elm.swallow.content");
+ evas_object_hide(ad->nocontents);
+ elm_object_part_content_set(ad->ly_sub_region, "elm.swallow.content", ad->gl_region);
}
}
- if (ad->selected_region_idx > -1) {
- elm_radio_value_set(ad->chk_region, ad->selected_region_idx);
+#if 0
+ int automatic_select = 0;
+ vconf_get_bool(VCONFKEY_SETAPPL_REGION_AUTOMATIC_BOOL, &automatic_select);
+ if(automatic_select){
+ ad->selected_region_idx = 0;
}
- if (search_count == 0) {
- setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1icon_with_no_line), NULL, NULL,
- SWALLOW_Type_INVALID, NULL, NULL, 0,
- _("IDS_ST_BODY_NO_RESULTS_FOUND"), NULL, NULL);
+ if (ad->selected_region_idx > -1) {
+ elm_radio_value_set(ad->chk_region, ad->selected_region_idx);
}
+#endif
ad->search_idler = NULL;
ad->searchlist_update_timer = NULL;
return ECORE_CALLBACK_CANCEL;
}
-
-
/**
* @brief Callback of entry change
*
ad->searchlist_update_timer = ecore_timer_add(0.01, __region_genlist_update, ad);
}
-
-
/**
* @brief Callback of genlist item click event
*
* @param event_info The select item
*/
static void setting_phone_region_format_mouse_up_Gendial_list_radio_cb(void *data,
- Evas_Object *obj,
- void *event_info)
+ Evas_Object *obj,
+ void *event_info)
{
SETTING_TRACE_BEGIN;
setting_retm_if(data == NULL, "Data parameter is NULL");
Elm_Object_Item *item = (Elm_Object_Item *) event_info;
elm_genlist_item_selected_set(item, 0);
Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
+ setting_retm_if(NULL == list_item, "list_item is NULL");
+
SettingPhoneUG *ad = (SettingPhoneUG *) list_item->userdata;
int ret;
char region[MAX_REGION_STRLEN] = {0,};
SETTING_TRACE_DEBUG("item keystr: %s", list_item->keyStr2);
- if (!safeStrCmp(_("IDS_COM_BODY_AUTOMATIC"), list_item->keyStr2)) {
+ if (!safeStrCmp(_("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC"), list_item->keyStr2)) {
vconf_set_bool(VCONFKEY_SETAPPL_REGION_AUTOMATIC_BOOL, TRUE);
/*set region same to language */
char *lang = NULL;
lang = vconf_get_str(VCONFKEY_LANGSET);
- if (strlen(region) < 256 && strlen(lang) < 256) {
- strcpy(region, lang);
- } else {
- return;
+ if (lang) {
+ if (strlen(region) < 256) {
+ strncpy(region, lang, 255);
+ } else {
+ FREE(lang);
+ return;
+ }
+ FREE(lang);
}
- FREE(lang);
SETTING_TRACE_DEBUG("auto region: %s", region);
} else {
vconf_set_bool(VCONFKEY_SETAPPL_REGION_AUTOMATIC_BOOL, FALSE);
ret = setting_phone_region_format_set_dateformat(ad->region_keyStr[ad->prev_region], ad);
setting_retm_if(ret == SETTING_RETURN_FAIL, "[Error] set date format fail");
}
- ret = vconf_set_str(VCONFKEY_REGIONFORMAT, region);
+ ret = set_regionformat_helper(region);
setting_retm_if(ret != 0, "[Error] set value of VCONFKEY_REGIONFORMAT fail");
if (!safeStrCmp(ad->region_search_id, "region")) {
Setting_GenGroupItem_Data *item_data = NULL;
if (ad->gl_region_cur_index >= ad->region_num) {
Setting_GenGroupItem_Data *last_item =
- (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
- if (last_item) {
- last_item->group_style = SETTING_GROUP_STYLE_BOTTOM;
- }
+ (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
if (ad->animator) {
ecore_animator_del(ad->animator);
Elm_Object_Item *item = NULL;
item = elm_genlist_item_append(ad->gl_region, &itc_bottom_seperator, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
return ECORE_CALLBACK_CANCEL;
}
int i = ad->gl_region_cur_index++;
if (isEmptyStr(ad->search_text) || is_substr_ncase(ad->region_desc[i], ad->search_text)) {
item_data =
- setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1text_tb),
- setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
- ad->chk_region,
- SWALLOW_Type_INVALID, NULL, NULL,
- ad->region_index[i],
- ad->region_desc[i]/* HERE */, NULL, NULL);
+ setting_create_Gendial_field_def(ad->gl_region,
+ &(ad->itc_1text_tb),
+ setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
+ ad->chk_region,
+ SWALLOW_Type_INVALID, NULL, NULL,
+ ad->region_index[i],
+ ad->region_desc[i]/* HERE */, NULL, NULL);
if (item_data) {
item_data->userdata = ad;
- item_data->group_style = SETTING_GROUP_STYLE_CENTER;
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
ad->pop_progress = NULL;
}
ad->pop_progress = setting_create_popup_with_progressbar(ad, ad->win_get,
- PROGRESSBAR_STYLE,
- NULL, KeyStr_Loading, NULL, 0, TRUE, TRUE);
+ PROGRESSBAR_STYLE,
+ NULL, KeyStr_Loading, NULL, 0, TRUE, TRUE, 0);
if (ad->popup_timer) {
ecore_timer_del(ad->popup_timer);
ad->selected_region_idx = -1;
item_data =
- setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1text_tb),
- setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
- ad->chk_region,
- SWALLOW_Type_INVALID, NULL, NULL,
- -1,
- _("IDS_COM_BODY_AUTOMATIC"), NULL, NULL);
+ setting_create_Gendial_field_def(ad->gl_region,
+ &(ad->itc_1text_tb),
+ setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
+ ad->chk_region,
+ SWALLOW_Type_INVALID, NULL, NULL,
+ -1,
+ _("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC"), NULL, NULL);
if (item_data) {
item_data->userdata = ad;
- item_data->keyStr2 = _("IDS_COM_BODY_AUTOMATIC");
- item_data->group_style = SETTING_GROUP_STYLE_TOP;
+ item_data->keyStr2 = _("IDS_ST_BODY_ANSWERINGMODE_AUTOMATIC");
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
int i = 0;
for (; i < ad->region_num; i++) {
if (isEmptyStr(ad->search_text) ||
- is_substr_ncase(ad->region_desc[i], ad->search_text)) {
+ is_substr_ncase(ad->region_desc[i], ad->search_text)) {
item_data =
- setting_create_Gendial_field_def(ad->gl_region,
- &(ad->itc_1text_tb),
- setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
- ad->chk_region,
- SWALLOW_Type_INVALID, NULL, NULL,
- ad->region_index[i],
- ad->region_desc[i], NULL, NULL);
+ setting_create_Gendial_field_def(ad->gl_region,
+ &(ad->itc_1text_tb),
+ setting_phone_region_format_mouse_up_Gendial_list_radio_cb,
+ ad->chk_region,
+ SWALLOW_Type_INVALID, NULL, NULL,
+ ad->region_index[i],
+ ad->region_desc[i], NULL, NULL);
if (item_data) {
item_data->userdata = ad;
item_data->keyStr2 = ad->region_desc[i];
- item_data->group_style = SETTING_GROUP_STYLE_CENTER;
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
ad->prev_region = ad->selected_region_idx;
}
if (ad->gl_region_cur_index < ad->region_num &&
- ad->gl_region_index > SETTING_PHONE_REGION_FORMAT_ANIMATOR_START_INDEX) {
+ ad->gl_region_index > SETTING_PHONE_REGION_FORMAT_ANIMATOR_START_INDEX) {
/*to continue adding items using animator */
SETTING_TRACE("to continue adding items using animator");
if (ad->animator) {
SETTING_TRACE("had finished adding items");
Setting_GenGroupItem_Data *last_item =
- (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
- if (last_item) {
- last_item->group_style = SETTING_GROUP_STYLE_BOTTOM;
- }
+ (Setting_GenGroupItem_Data *)elm_object_item_data_get(elm_genlist_last_item_get(ad->gl_region));
}
}
app_control_h service = ad->bundle_data;
app_control_get_extra_data(service, "viewtype", &ad->region_search_id);
if (!safeStrCmp(ad->region_search_id, "region")) {
- Evas_Object *layout_main = setting_create_win_layout(ad->win_main_layout, ad->win_get);
+ Evas_Object *layout_main = setting_create_win_layout(ad->win_get);
retvm_if(layout_main == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER, "layout_main create fail");
ad->ly_region = layout_main;
}
/* */
- setting_create_Gendial_itc("1icon/with_no_line", &(ad->itc_1icon_with_no_line));
+ setting_create_Gendial_itc("1icon", &(ad->itc_1icon_with_no_line));
ad->itc_1icon_with_no_line.func.content_get = _item_content_get;
Elm_Object_Item *navi_it = setting_push_layout_navi_bar(REGION_FORMAT_LOWER,
- "IDS_COM_BODY_BACK",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL, ad, sub_layout, ad->navi_bar, NULL);
+ "IDS_ST_BUTTON_BACK",
+ NULL,
+ NULL,
+ setting_phone_region_format_click_softkey_cancel_cb,
+ NULL,
+ NULL, ad, sub_layout, ad->navi_bar, NULL);
elm_naviframe_item_pop_cb_set(navi_it, gl_sel_cb, ad);
evas_object_data_set(ad->navi_bar, "sip.naviframe.title_obj", "SEARCH");
ad->gl_region = elm_genlist_add(ad->navi_bar);
+ elm_genlist_mode_set(ad->gl_region, ELM_LIST_COMPRESS); /* resolve abnormal height issue */
+ elm_genlist_homogeneous_set(ad->gl_region, EINA_TRUE);
+ //elm_genlist_realization_mode_set(ad->gl_region, EINA_TRUE);
+ elm_genlist_clear(ad->gl_region); /* first to clear list */
retvm_if(ad->gl_region == NULL, SETTING_DRAW_ERR_FAIL_SCROLLER, "ad->gl_region is NULL");
- elm_genlist_realization_mode_set(ad->gl_region, EINA_TRUE);
- elm_object_style_set(ad->gl_region, "dialogue");
-
- evas_object_smart_callback_add(ad->gl_region, "realized", __gl_realized_cb, NULL);
+ //evas_object_smart_callback_add(ad->gl_region, "realized", __gl_realized_cb, NULL);
ad->chk_region = elm_radio_add(ad->gl_region);
elm_radio_state_value_set(ad->chk_region, -1);
elm_radio_value_set(ad->chk_region, -1);
int ret = setting_phone_region_format_get_region_fmt(ad->region_desc,
- ad->region_index,
- ad->region_keyStr,
- &ad->region_num);
+ ad->region_index,
+ ad->region_keyStr,
+ &ad->region_num);
if (ret != 0) {
SETTING_TRACE_ERROR("get region format list failed");
}
}
}
+ /* SET SEARCHBAR AREA SIZE */
+ int value = 0;
+ ret = system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &value);
+
+ if (value == SYSTEM_SETTINGS_FONT_SIZE_GIANT) {
+ elm_object_signal_emit(ad->search_bar, "set,show,giant", "*");
+ } else {
+ elm_object_signal_emit(ad->search_bar, "set,show,normal", "*");
+ }
+
elm_object_part_content_set(sub_layout, "elm.swallow.content", ad->gl_region);
+ ad->ly_sub_region = sub_layout;
+
+
setting_view_phone_region_format.is_create = 1;
return SETTING_RETURN_SUCCESS;
}