#include <stdlib.h>
#include <string.h>
#include <sqlite3.h>
+#include <eventsystem.h>
#include <vconf.h>
#include <vconf-keys.h>
#include <unicode/ucal.h>
#include <unicode/utmscale.h>
+#include <eventsystem.h>
+#include <bundle_internal.h>
+#include <system_settings.h>
+
#define ONE_MINUTE 60
#define PROGRESS_POPUP_SHOW 0
#define DEF_BUF_SIZE 256
static char *s_result;
static int query_callback(void *NotUsed, int argc, char **argv, char **azColName);
static bool setting_update_timezone(SettingTimeUG *ad);
+static void __setting_update_datefield_cb(void *cb);
+
static int setting_time_main_create(void *cb);
static int setting_time_main_destroy(void *cb);
.cleanup = setting_time_main_cleanup,
};
-#if UN_SUPPORT_TIME_DYNAMIC_UPDATE
-static void setting_time_reboot_resp_cb(void *data, Evas_Object *obj,
- void *event_info);
-#endif
bool __update_timezone_idler(SettingTimeUG *ad)
{
ecore_idler_del(ad->refresh_time_idler);
ad->refresh_time_idler = NULL;
}
- ad->refresh_time_idler = ecore_idler_add(setting_update_datefield, ad);
+ ad->refresh_time_idler = ecore_idler_add(setting_update_datefield_cb, ad);
}
void setting_time_update_time_date_format_string(SettingTimeUG *ad)
char *time;
static char time_arr[DEF_BUF_SIZE];
char *pa_time_format = get_pa_time_format_str();
- if (pa_time_format) {
- if (!strncmp(pa_time_format, "IDS_COM_BODY_12_HOURS", strlen("IDS_COM_BODY_12_HOURS")))
- time = __setting_phone_lang_get_by_pattern("en_US", "hhmm");
- else
- time = __setting_phone_lang_get_by_pattern("en_US", "Hm");
- }
+ setting_retm_if(NULL == pa_time_format, "pa_time_format is NULL");
+
+ char* lang = NULL;
+ int err = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &lang);
+ char *date = __setting_phone_lang_get_by_pattern(lang, "MMM/d/yyyy");
+
+ if (!strncmp(pa_time_format, "IDS_ST_BODY_12_HOURS", strlen("IDS_ST_BODY_12_HOURS")))
+ time = __setting_phone_lang_get_by_pattern(lang, "hhmm");
+ else
+ time = __setting_phone_lang_get_by_pattern(lang, "Hm");
strncpy(time_arr, time, DEF_BUF_SIZE);
time_arr[DEF_BUF_SIZE - 1] = '\0';
}
}
+static int _alarmmgr_set_timezone_helper(char *tzdata)
+{
+ int ret = alarmmgr_set_timezone(tzdata);
+ if (ret) {
+ /* set event system */
+ setting_set_event_system(SYS_EVENT_TIME_ZONE,
+ EVT_KEY_TIME_ZONE,
+ tzdata);
+ }
+
+ return ret;
+}
+
+static int _alarmmgr_set_systime_helper(time_t t_current)
+{
+ int ret;
+ ret = alarmmgr_set_systime(t_current);
+ if (ret) {
+ /* set event system */
+ setting_set_event_system(SYS_EVENT_SCREEN_AUTOROTATE_STATE,
+ EVT_KEY_TIME_CHANGED,
+ t_current);
+ }
+
+ return ret;
+}
+
+
static void __update_time_via_sim_card(void *data)
{
setting_retm_if(data == NULL, "Data parameter is NULL");
ret += vconf_get_int(VCONFKEY_TELEPHONY_NITZ_EVENT_GMT, &t_offset);
char *tzpath = vconf_get_str(VCONFKEY_TELEPHONY_NITZ_ZONE);
if (ret != 0 || isEmptyStr(tzpath)) {
- /*setting_create_simple_popup(ad, ad->ly_main, */
- /* NULL, _(NOT_SUPPORT_AUTO_UPDATE_DESC)); */
return;
}
ret = 0;/*reset.. */
safeCopyStr(tz_path, SETTING_TIME_ZONEINFO_PATH, MAX_COMMON_BUFFER_LEN / 4);
g_strlcat(tz_path, tzpath, sizeof(tz_path));
SETTING_TRACE("full tz_path:%s", tz_path);
- ret = alarmmgr_set_timezone(tz_path);
+ ret = _alarmmgr_set_timezone_helper(tz_path);
if (ret < 0) {
SETTING_TRACE("tzpath is not valid.");
return;
} else
- SETTING_TRACE("alarmmgr_set_timezone - successful : %s \n", tz_path);
+ SETTING_TRACE("_alarmmgr_set_timezone_helper - successful : %s \n", tz_path);
if (!__setting_set_city_tzone(tzpath)) {
SETTING_TRACE("__setting_set_city_tzone ERROR")
return;
SETTING_TRACE("t_nitz:%d, t_offset:%d, t_uptime:%d", t_nitz, t_offset, t_uptime);
time_t t_current = t_nitz + t_uptime - t_offset;
SETTING_TRACE("t_current:%d", t_current);
- ret = alarmmgr_set_datetime(t_current);
- setting_retm_if(ret == -1, "alarmmgr_set_datetime call failed");
+ ret = _alarmmgr_set_systime_helper(t_current);
+ setting_retm_if(ret == -1, "_alarmmgr_set_systime_helper call failed");
if (ad->data_time) {
struct tm ts_ret;
struct tm *ts = localtime_r(&t_current, &ts_ret);
} else {
-#if UN_SUPPORT_TIME_DYNAMIC_UPDATE
- ad->pop =
- setting_create_popup_with_btn(ad, ad->win_get, NULL,
- _("IDS_ST_POP_RESTART_PHONE_TO_USE_AUTOMATIC_UPDATE_Q"),
- setting_time_reboot_resp_cb,
- 0, 2,
- dgettext("sys_string", "IDS_COM_SK_OK"),
- _("IDS_COM_SK_CANCEL"));
-#else
if (ad->data_tz) {
setting_disable_genlist_item(ad->data_tz->item);
}
}
__update_time_via_sim_card(ad);
-#endif
}
}
}
time_t the_time = mktime(&_tm); /* represent local time */
/* invoke API to change time */
- int ret = alarmmgr_set_systime(the_time);
+ int ret = _alarmmgr_set_systime_helper(the_time);
#ifdef USE_TIMER_UPDATE_TIME_IN_TIME_VIEW
if (ad->update_timer) {
time_t cctime = time(NULL);
struct tm ts_ret;
struct tm *ts = localtime_r(&cctime, &ts_ret);
- SETTING_TRACE("After alarmmgr_set_systime() ....year : %d, month : %d, day : %d, hour : %d, min : %d",
+ SETTING_TRACE("After _alarmmgr_set_systime_helper() ....year : %d, month : %d, day : %d, hour : %d, min : %d",
ts_ret.tm_year, ts_ret.tm_mon, ts_ret.tm_mday, ts_ret.tm_hour, ts_ret.tm_min);
#endif
Evas_Object *popup = NULL;
evas_object_del(popup);
popup = NULL;
}
- setting_retm_if(ret == -1, "alarmmgr_set_systime call failed");
+ setting_retm_if(ret == -1, "_alarmmgr_set_systime_helper call failed");
}
#ifdef USE_TIMER_UPDATE_TIME_IN_TIME_VIEW
Eina_Bool __refresh_date_timer(void *data)
{
- /*SETTING_TRACE_BEGIN; */
+ SETTING_TRACE_BEGIN;
SettingTimeUG *ad = data;
- if (ad->data_time) {
- time_t ctime = time(NULL);
- struct tm ts_ret;
- struct tm *ts = localtime_r(&ctime, &ts_ret);
- retv_if(!ts, 1);
-
- struct tm ui_time;
- elm_datetime_value_get(ad->data_time->eo_check, &ui_time);
- if ((ctime / ONE_MINUTE) != (mktime(&ui_time) / ONE_MINUTE)) {
- SETTING_TRACE("To refresh the UI element after 1 minute passed.\t in %s", __FUNCTION__);
- elm_datetime_value_set(ad->data_time->eo_check, &ts_ret);
- setting_update_timezone(ad);
- }
- }
+
+ __setting_update_datefield_cb(ad);
return 1;
}
#endif
-static void __setting_time_main_exp_cb(void *data, Evas_Object *obj,
- void *event_info)
+void hour_format_event_handler(const char *event_name, bundle *data, void *user_data)
{
- ret_if(NULL == data || NULL == event_info);
- SETTING_TRACE_BEGIN;
- SettingTimeUG *ad = (SettingTimeUG *) data;
- Elm_Object_Item *parentItem = event_info; /* parent item */
- Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
- Evas_Object *scroller = elm_object_item_widget_get(parentItem);
-
- Evas_Object *rgd;
- if (data_parentItem == ad->data_time_fmt) {
- setting_genlist_item_groupstyle_set(data_parentItem, data_parentItem->exp_style);
-
- rgd = elm_radio_add(scroller);
- elm_radio_value_set(rgd, -1);
- setting_create_Gendial_exp_sub_field_with_group_style(scroller,
- &itc_multiline_1text_1icon,
- /*&(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- VCONFKEY_TIME_FORMAT_12,
- "IDS_COM_BODY_12_HOURS",
- NULL, SETTING_GROUP_STYLE_CENTER);
-
- setting_create_Gendial_exp_sub_field_with_group_style(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- VCONFKEY_TIME_FORMAT_24,
- "IDS_ST_BODY_24_HOURS",
- NULL, SETTING_GROUP_STYLE_BOTTOM);
-
- setting_update_chk_status(rgd,
- data_parentItem->int_slp_setting_binded);
-
- } else if (data_parentItem == ad->data_date_fmt) {
- rgd = elm_radio_add(scroller);
- elm_radio_value_set(rgd, -1);
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_DATE_FORMAT_DD_MM_YYYY,
- "IDS_ST_BODY_DDMMYYYY_DOT",
- NULL);
-
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_DATE_FORMAT_MM_DD_YYYY,
- "IDS_ST_BODY_MM_DD_YYYY_DOT",
- NULL);
-
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_DATE_FORMAT_YYYY_MM_DD,
- "IDS_COM_BODY_YYYYMMDD",
- NULL);
-
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, NULL, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_DATE_FORMAT_YYYY_DD_MM,
- "IDS_ST_BODY_YYYY_DD_MM_DOT",
- NULL);
-
- setting_update_chk_status(rgd,
- data_parentItem->int_slp_setting_binded);
-
- } else if (data_parentItem == ad->data_firstday_week_fmt) {
- rgd = elm_radio_add(scroller);
- elm_radio_value_set(rgd, -1);
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, rgd, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_WEEKOFDAY_FORMAT_SUNDAY,
- "IDS_ST_BODY_SUNDAY", NULL);
-
- setting_create_Gendial_exp_sub_field(scroller,
- &itc_multiline_1text_1icon,
- /* &(ad->itc_1icon_1text_sub), */
- NULL, rgd, parentItem,
- SWALLOW_Type_1RADIO, rgd,
- SETTING_WEEKOFDAY_FORMAT_MONDAY,
- "IDS_ST_BODY_MONDAY", NULL);
-
- setting_update_chk_status(rgd,
- data_parentItem->int_slp_setting_binded);
- }
+ const char *hour_format_set = NULL;
+ SETTING_TRACE("hour format set event(%s) received", event_name);
+
+ hour_format_set = bundle_get_val(data, EVT_KEY_HOUR_FORMAT);
+ SETTING_TRACE("hour_format_set(%s)", hour_format_set);
}
+int hour_format_event_reg_id;
+
static int setting_time_main_create(void *cb)
{
SETTING_TRACE_BEGIN;
SettingTimeUG *ad = (SettingTimeUG *) cb;
- char *l_btn = NULL;
char *title = _(DATE_TIME_STR_DATE_AND_TIME);
char *caller = NULL;
ad->is_datefield_selected = EINA_FALSE;
ad->caller = caller;
- l_btn = _("IDS_COM_BODY_BACK");
title = DATE_TIME_STR_DATE_AND_TIME;
gchar *title_str = NULL;
ad->ly_main =
setting_create_layout_navi_bar_genlist(ad->win_main_layout,
ad->win_get, title_str,
- l_btn, NULL,
+ NULL,
+ NULL,
setting_time_main_click_softkey_left_cb,
NULL, ad, &scroller,
&ad->navi_bar);
safeCopyStr(tz_path, SETTING_TIME_ZONEINFO_PATH, MAX_COMMON_BUFFER_LEN / 4);
g_strlcat(tz_path, tzpath, sizeof(tz_path));
SETTING_TRACE("full tz_path:%s", tz_path);
- ret = alarmmgr_set_timezone(tz_path);
+ ret = _alarmmgr_set_timezone_helper(tz_path);
if (ret < 0) {
SETTING_TRACE("tzpath is not valid.");
} else
- SETTING_TRACE("alarmmgr_set_timezone - successful : %s \n", tz_path);
+ SETTING_TRACE("_alarmmgr_set_timezone_helper - successful : %s \n", tz_path);
if (!__setting_set_city_tzone(tzpath)) {
SETTING_TRACE("__setting_set_city_tzone ERROR")
}
SETTING_TRACE("t_nitz:%d, t_offset:%d, t_uptime:%d", t_nitz, t_offset, t_uptime);
time_t t_current = t_nitz + t_uptime - t_offset;
SETTING_TRACE("t_current:%d", t_current);
- ret = alarmmgr_set_systime(t_current);
+ ret = _alarmmgr_set_systime_helper(t_current);
}
FREE(tzpath);
}
timezone_str, displayTimezone, _(str_buf));
ret = snprintf(time_zone_sub_str, CITY_BUF_SIZE + GMT_BUF_SIZE + 2, "%s, GMT %s",
displayTimezone, _(str_buf));
-
FREE(timezone_str);
retv_if(ret < 0, 0);
} else {
}
/* UI create "Time format" */
- setting_enable_expandable_genlist(scroller, ad,
- __setting_time_main_exp_cb, NULL);
-
- char *pa_time_format = get_pa_time_format_str();
- ad->data_time_fmt = setting_create_Gendial_exp_parent_field(scroller,
- &(ad->itc_2text_3_parent),
- setting_time_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_INVALID,
- DATE_TIME_STR_TIME_FORMAT,
- pa_time_format,
- SETTING_GROUP_STYLE_TOP, SETTING_GROUP_STYLE_NONE);
+ value = VCONFKEY_TIME_FORMAT_12;
+ setting_get_int_slp_key(INT_SLP_SETTING_REGIONFORMAT_TIME1224, &value, &err);
+ ad->data_time_fmt = setting_create_Gendial_field_def(scroller,
+ &(ad->itc_1text_1icon),
+ setting_time_main_mouse_up_Gendial_list_cb,
+ ad,
+ SWALLOW_Type_1ICON_1RADIO,
+ NULL,
+ NULL,
+ (value == VCONFKEY_TIME_FORMAT_24),
+ "IDS_ST_MBODY_24_HOUR_CLOCK",
+ NULL,
+ setting_time_main_chk_btn_cb);
if (ad->data_time_fmt) {
- ad->data_time_fmt->int_slp_setting_binded =
- INT_SLP_SETTING_REGIONFORMAT_TIME1224;
- ad->data_time_fmt->group_style = SETTING_GROUP_STYLE_NONE;
-
- if (ad->is_expand_time_format_list && ad->data_time_fmt->item) {
- elm_genlist_item_expanded_set(ad->data_time_fmt->item, TRUE);
- }
+ __BACK_POINTER_SET(ad->data_time_fmt);
+ ad->data_time_fmt->userdata = ad;
} else {
SETTING_TRACE_ERROR("ad->data_time_fmt is NULL");
}
- G_FREE(pa_time_format);
+ ADD_GL_HELP_NO_SEP(scroller, "IDS_ST_SBODY_SHOW_THE_TIME_IN_24_HOUR_FORMAT_INSTEAD_OF_12_HOUR_HAM_PM_FORMAT");
#if APPLIED_DATATIME_DATA_FORMAT
char *pa_date_format = get_pa_date_format_str();
setting_time_main_mouse_up_Gendial_list_cb,
ad, SWALLOW_Type_INVALID,
DATE_TIME_STR_TIME_FORMAT,
- pa_time_format, SETTING_GROUP_STYLE_CENTER,
- SETTING_GROUP_STYLE_CENTER);
+ pa_time_format);
if (ad->data_date_fmt) {
ad->data_date_fmt->int_slp_setting_binded =
INT_SLP_SETTING_DATE_FORMAT;
G_FREE(pa_date_format);
#endif
-#if APPLIED_DATATIME_FIRSTDAY_WEEK
- char *pa_week = get_pa_week_format_str();
- ad->data_firstday_week_fmt =
- setting_create_Gendial_exp_parent_field(scroller,
- &(ad->itc_2text_3_parent),
- setting_time_main_mouse_up_Gendial_list_cb,
- ad, SWALLOW_Type_INVALID,
- "IDS_CLD_BODY_FIRST_DAY_OF_WEEK",
- pa_week, SETTING_GROUP_STYLE_CENTER,
- SETTING_GROUP_STYLE_BOTTOM);
- if (ad->data_firstday_week_fmt) {
- ad->data_firstday_week_fmt->int_slp_setting_binded =
- INT_SLP_SETTING_WEEK_FORMAT;
- } else {
- SETTING_TRACE_ERROR("ad->data_firstday_week_fmt is NULL");
- }
- G_FREE(pa_week);
-#endif
-
- /*item = elm_genlist_item_append(scroller, &itc_bottom_seperator, NULL, NULL, */
- /* ELM_GENLIST_ITEM_NONE, NULL, NULL); */
- /*elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); */
-
-#if 0
- if (!enable_automatic) {
- if (ad->data_auto) {
- setting_disable_genlist_item(ad->data_auto->item);
- }
- }
-#endif
-
if (auto_flag) {
if (ad->data_tz) {
setting_disable_genlist_item(ad->data_tz->item);
#ifdef USE_TIMER_UPDATE_TIME_IN_TIME_VIEW
ad->update_timer = ecore_timer_add(3, (Ecore_Task_Cb) __refresh_date_timer, ad);
#endif
+
+ /* eventsystem */
+ if (ES_R_OK != eventsystem_register_event(SYS_EVENT_HOUR_FORMAT,
+ &hour_format_event_reg_id,
+ (eventsystem_handler)hour_format_event_handler, cb)) {
+ SETTING_TRACE_ERROR("error");
+ }
+
return SETTING_RETURN_SUCCESS;
}
setting_view_time_main.is_create = 0;
}
+ if (ES_R_OK != eventsystem_unregister_event(hour_format_event_reg_id)) {
+ SETTING_TRACE_ERROR("error");
+ }
+
return SETTING_RETURN_SUCCESS;
}
ecore_idler_del(ad->refresh_time_idler);
ad->refresh_time_idler = NULL;
}
- ad->refresh_time_idler = ecore_idler_add(setting_update_datefield, ad);
+ ad->refresh_time_idler = ecore_idler_add(setting_update_datefield_cb, ad);
}
return SETTING_RETURN_SUCCESS;
}
if (!tzpath) {
SETTING_TRACE("tzpath from worldclock UG is null.");
+ setting_update_timezone(ad);
return;
} else {
SETTING_TRACE("tzpath : %s", tzpath);
g_strlcat(tz_path, tzpath, sizeof(tz_path));
SETTING_TRACE("full tz_path:%s", tz_path);
- int ret = alarmmgr_set_timezone(tz_path);
+ int ret = _alarmmgr_set_timezone_helper(tz_path);
if (ret < 0) {
SETTING_TRACE("tzpath is not valid.");
if (tzpath)
FREE(city);
return;
} else
- SETTING_TRACE("alarmmgr_set_timezone - successful : %s \n", tz_path);
+ SETTING_TRACE("_alarmmgr_set_timezone_helper - successful : %s \n", tz_path);
ret = vconf_set_str(VCONFKEY_SETAPPL_CITYNAME_INDEX_INT, city);
setting_retm_if(ret != 0, "set vconf failed");
}
Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->navi_bar);
ret_if(!navi_it);
- Evas_Object *back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
-
- if (back_btn != NULL) {
- elm_object_style_set(back_btn, NAVI_BACK_BUTTON_STYLE); /* take into effect */
- }
elm_object_tree_focus_allow_set(ad->ly_main, EINA_TRUE);
}
return;
}
-
-Eina_Bool setting_update_datefield(void *cb)
+static void __setting_update_datefield_cb(void *cb)
{
SETTING_TRACE_BEGIN;
retvm_if(cb == NULL, EINA_FALSE, "Data parameter is NULL");
struct tm *ts = localtime_r(&cctime, &ts_ret);
SETTING_TRACE("year : %d, month : %d, day : %d, hour : %d, min : %d",
ts_ret.tm_year, ts_ret.tm_mon, ts_ret.tm_mday, ts_ret.tm_hour, ts_ret.tm_min);
- SETTING_TRACE("time : %s", ctime(&cctime));
if (ts) {
-#if 0
- if (ad->data_time->eo_check)
- elm_datetime_value_set(ad->data_time->eo_check, &ts_ret);
-#endif
- char *date = __setting_phone_lang_get_by_pattern("en_US", "MMM/d/yyyy");
+ char* region = NULL;
+ int err = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, ®ion );
+ char *date = __setting_phone_lang_get_by_pattern(region, "MMM/d/yyyy");
char *time;
static char date_arr[DEF_BUF_SIZE], time_arr[DEF_BUF_SIZE];
char *pa_time_format = get_pa_time_format_str();
- if (!strncmp(pa_time_format, "IDS_COM_BODY_12_HOURS", strlen("IDS_COM_BODY_12_HOURS")))
- time = __setting_phone_lang_get_by_pattern("en_US", "hhmm");
+ setting_retvm_if(NULL == pa_time_format, FALSE, "pa_time_format is NULL");
+ if (!strncmp(pa_time_format, "IDS_ST_BODY_12_HOURS", strlen("IDS_ST_BODY_12_HOURS")))
+ time = __setting_phone_lang_get_by_pattern(region, "hhmm");
else
- time = __setting_phone_lang_get_by_pattern("en_US", "Hm");
+ time = __setting_phone_lang_get_by_pattern(region, "Hm");
strncpy(date_arr, date, DEF_BUF_SIZE);
strncpy(time_arr, time, DEF_BUF_SIZE);
date_arr[DEF_BUF_SIZE - 1] = '\0';
time_arr[DEF_BUF_SIZE - 1] = '\0';
- elm_object_text_set(ad->data_time->btn_left, date_arr);
- evas_object_resize(ad->data_time->btn_left, 300, -1);
- elm_object_text_set(ad->data_time->btn_right, time_arr);
- evas_object_resize(ad->data_time->btn_right, 270, -1);
+ if (ad->data_time->btn_left)
+ elm_object_text_set(ad->data_time->btn_left, date_arr);
+ else {
+ SETTING_TRACE_ERROR("ad->data_time->btn_left is NULL");
+ }
+ if (ad->data_time->btn_right)
+ elm_object_text_set(ad->data_time->btn_right, time_arr);
+ else {
+ SETTING_TRACE_ERROR("ad->data_time->btn_right is NULL");
+ }
+ SETTING_TRACE_BEGIN;
FREE(pa_time_format);
}
}
- if (ad->refresh_time_idler) {
- ecore_idler_del(ad->refresh_time_idler);
- ad->refresh_time_idler = NULL;
- }
- return 0;
+}
+
+Eina_Bool setting_update_datefield_cb(void *data)
+{
+ SETTING_TRACE_BEGIN;
+ /* error check */
+ retvm_if(data == NULL, FALSE, "Data parameter is NULL");
+
+ SettingTimeUG *ad = (SettingTimeUG *) data;
+
+ __setting_update_datefield_cb(ad);
+
+ ad->refresh_time_idler = NULL;
+ return ECORE_CALLBACK_CANCEL;
}
/* ***************************************************
ug_destroy_me(ad->ug);
}
-#if UN_SUPPORT_TIME_DYNAMIC_UPDATE
-static void setting_time_reboot_resp_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- SETTING_TRACE_BEGIN;
- int response_type = btn_type(obj);
- if (POPUP_RESPONSE_OK == response_type) {
- setting_time_main_btn_update_ok_cb(data);
- } else if (POPUP_RESPONSE_CANCEL == response_type) {
- setting_time_main_btn_update_cancel_cb(data);
- }
-
- SettingTimeUG *ad = data;
- if (ad->pop) {
- evas_object_del(ad->pop);
- ad->pop = NULL;
- }
-}
-#endif
static void __time_auto_update(void *data)
{
(Setting_GenGroupItem_Data *) data;
ad = list_item->userdata;
list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
- /*if (ad->data_auto) */
- /* ad->chk_auto = ad->data_auto->eo_check; */
-
-#if 0
- if (ad->data_time) {
- elm_object_focus_set(ad->data_time->eo_check, EINA_FALSE);
- }
-#endif
int err;
if (obj == ad->data_auto->eo_check) {
setting_enable_evas_object(ad->data_time->btn_right);
setting_enable_genlist_item(ad->data_time->item);
}
+ } else {
+ __time_auto_update(ad);
+ }
+ }
+//#define FUNCTION_SYSTEM_SETTING 1
+#if FUNCTION_SYSTEM_SETTING
+ /* Time format */
+ if (ad->data_time_fmt == list_item) {
+ int err = 0;
+ int value = VCONFKEY_TIME_FORMAT_12;
+ if (list_item->chk_status) {
+ err = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, true);
} else {
-#if UN_SUPPORT_TIME_DYNAMIC_UPDATE
- ad->pop =
- setting_create_popup_with_btn(ad, ad->win_get, NULL,
- _("IDS_ST_POP_RESTART_PHONE_TO_USE_AUTOMATIC_UPDATE_Q"),
- setting_time_reboot_resp_cb,
- 0, 2,
- dgettext("sys_string",
- "IDS_COM_SK_OK"),
- _("IDS_COM_SK_CANCEL"));
+ err = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, false);
+ }
+ }
#else
- __time_auto_update(ad);
-#endif
+ /* Time format */
+ if (ad->data_time_fmt == list_item) {
+ int err = 0;
+ int value = VCONFKEY_TIME_FORMAT_12;
+ if (list_item->chk_status) {
+ value = VCONFKEY_TIME_FORMAT_24;
+ setting_set_event_system(SYS_EVENT_HOUR_FORMAT, EVT_KEY_HOUR_FORMAT, EVT_VAL_HOURFORMAT_24);
+ } else {
+ setting_set_event_system(SYS_EVENT_HOUR_FORMAT, EVT_KEY_HOUR_FORMAT, EVT_VAL_HOURFORMAT_12);
}
+ setting_set_int_slp_key(INT_SLP_SETTING_REGIONFORMAT_TIME1224, value, &err);
}
+#endif
SETTING_TRACE_END;
}
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");
SettingTimeUG *ad = (SettingTimeUG *) data;
SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
-#if 0
- if (ad->data_time && ad->data_time != list_item) {
- elm_object_focus_set(ad->data_time->eo_check, EINA_FALSE);
- }
-#endif
-
if (ad->data_tz == list_item) {
ad->is_datefield_selected = EINA_FALSE;
if (1 == setting_time_check_automatic_time_update_state()) {
- setting_create_simple_popup(ad, ad->win_get,
- NULL, _(AUTO_TIME_UPDATE_ON));
+ setting_create_popup(ad, ad->win_get, NULL, _(AUTO_TIME_UPDATE_ON), NULL, 0, false, false, 0);
} else {
setting_time_main_launch_worldclock_sg(ad);
}
} else if (ad->data_time == list_item) {
ad->is_datefield_selected = EINA_TRUE;
if (1 == setting_time_check_automatic_time_update_state()) {
- setting_create_simple_popup(ad, ad->win_get,
- NULL, _(AUTO_TIME_UPDATE_ON));
+ setting_create_popup(ad, ad->win_get, NULL, _(AUTO_TIME_UPDATE_ON), NULL, 0, false, false, 0);
} else {
/* setting_view_change(&setting_view_time_main, &setting_view_time_time, ad); */
}
}
} else {
-#if UN_SUPPORT_TIME_DYNAMIC_UPDATE
- ad->pop =
- setting_create_popup_with_btn(ad, ad->win_get, NULL,
- _("IDS_ST_POP_RESTART_PHONE_TO_USE_AUTOMATIC_UPDATE_Q"),
- setting_time_reboot_resp_cb,
- 0, 2,
- dgettext("sys_string", "IDS_COM_SK_OK"),
- _("IDS_COM_SK_CANCEL"));
-#else
__time_auto_update(ad);
-#endif
}
-
- } else if (ad->data_time_fmt == list_item
- || ad->data_date_fmt == list_item
- || ad->data_firstday_week_fmt == list_item) {
- ad->is_datefield_selected = EINA_FALSE;
- bool status = !elm_genlist_item_expanded_get(item);
- elm_genlist_item_expanded_set(item, status);
+ } else if (ad->data_time_fmt == list_item) {
+ int err = 0;
+ setting_update_gl_item_chk_status(list_item, !list_item->chk_status);
+ int value = VCONFKEY_TIME_FORMAT_12;
+ if (list_item->chk_status)
+ value = VCONFKEY_TIME_FORMAT_24;
+ setting_set_int_slp_key(INT_SLP_SETTING_REGIONFORMAT_TIME1224, value, &err);
}
}
int len = 0;
UChar *str = NULL;
len = safeStrLen(chars);
- str = (UChar *) malloc(sizeof(UChar) * (len + 1));
+ str = (UChar *) malloc(sizeof(UChar)*(len + 1));
if (!str)
return NULL;
u_uastrcpy(str, chars);
UErrorCode ec = U_ZERO_ERROR;
UChar *str = uastrcpy(timezone);
- ucal_setDefaultTimeZone(str, &ec);
- if (U_SUCCESS(ec)) {
- SETTING_TRACE("ucal_setDefaultTimeZone() SUCCESS ");
- } else {
- SETTING_TRACE("ucal_setDefaultTimeZone() FAILED : %s ",
- u_errorName(ec));
+ if (str) {
+ ucal_setDefaultTimeZone(str, &ec);
+ if (U_SUCCESS(ec)) {
+ SETTING_TRACE("ucal_setDefaultTimeZone() SUCCESS ");
+ } else {
+ SETTING_TRACE("ucal_setDefaultTimeZone() FAILED : %s ",
+ u_errorName(ec));
+ }
+ FREE(str);
}
- FREE(str);
}
/**
status = U_ZERO_ERROR;
/* get timezone display name (check dst) */
- if (data) {
- if (data->tm_isdst)
- ucal_getTimeZoneDisplayName(cal, UCAL_DST, localeID, displayName, SETTING_STR_SLP_LEN, &status);
- else
- ucal_getTimeZoneDisplayName(cal, UCAL_STANDARD, localeID, displayName, SETTING_STR_SLP_LEN, &status);
- }
-
- if (U_FAILURE(status))
- SETTING_TRACE_ERROR("ucal_getTimeZoneDisplayName got an error : %s, %d", displayName, status);
- status = U_ZERO_ERROR;
-
- ucal_close(cal);
+ if (cal) {
+ if (data) {
+ if (data->tm_isdst)
+ ucal_getTimeZoneDisplayName(cal, UCAL_DST, localeID, displayName, SETTING_STR_SLP_LEN, &status);
+ else
+ ucal_getTimeZoneDisplayName(cal, UCAL_STANDARD, localeID, displayName, SETTING_STR_SLP_LEN, &status);
+ }
- int len = 0;
- int len_str = 0;
- int len_utf8 = 0;
-
- len = u_strlen(displayName);
- len_str = sizeof(char) * 4 * (len + 1);
- timezone_str = (char *)calloc(1, len_str);
- if (!timezone_str) {
- SETTING_TRACE_ERROR("timezone string is null");
- return NULL;
+ if (U_FAILURE(status)) {
+ SETTING_TRACE_ERROR("ucal_getTimeZoneDisplayName got an error : %s, %d", displayName, status);
+ status = U_ZERO_ERROR;
+ } else {
+ int len = 0;
+ int len_str = 0;
+ int len_utf8 = 0;
+
+ len = u_strlen(displayName);
+ len_str = sizeof(char)*4*(len+1);
+ timezone_str = (char *)calloc(1, len_str);
+ if (!timezone_str) {
+ SETTING_TRACE_ERROR("timezone string is null");
+ return NULL;
+ }
+ u_strToUTF8(timezone_str, len_str, &len_utf8, displayName, len, &status);
+ SETTING_TRACE("*************************** timezone : %s, %s", displayName, timezone_str);
+ }
+ ucal_close(cal);
}
- u_strToUTF8(timezone_str, len_str, &len_utf8, displayName, len, &status);
-
- SETTING_TRACE("timezone : %s, %s", displayName, timezone_str);
-
SETTING_TRACE_END;
return timezone_str;