Create Watch faces and style menu 96/139096/5
authorjinwang.an <jinwang.an@samsung.com>
Mon, 17 Jul 2017 08:53:32 +0000 (17:53 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Fri, 21 Jul 2017 06:34:45 +0000 (15:34 +0900)
Change-Id: I5cf61109d6b212c3ba9108a4b629e408ca22c9db
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
include/setting-clock.h
include/setting-display.h
include/setting.h
src/setting-clock.c
src/setting-display.c
src/setting-volume-page.c
src/setting.c

index 7ce08f8b638970ce6c4b612eb043288a8613d8df..be4210cdf3330e0b3b52fce81d28531ae9f8c02c 100644 (file)
 #define CLOCK_DATE_AND_TIME_COUNT      3
 #define WATCH_COMPONENT_NAME "watchapp"
 
+// for test
+#define FEATURE_SETTING_EMUL
+
 enum {
        HOURLY_ALERT_OFF,
        HOURLY_ALERT_SOUND,
        HOURLY_ALERT_VIBRATION
 };
 
+enum {
+       SETTING_CLOCK_WATCH_FACE,
+       SETTING_CLOCK_NOTIFICATION_INDICATOR,
+#ifdef FEATURE_SETTING_EMUL
+       SETTING_CLOCK_WATCH_ALWAYS_ON,
+#endif
+       SETTING_CLOCK_BACKGROUND_STYLE,
+       SETTING_CLOCK_FONT,
+};
+
+enum {
+       SETTING_CLOCK_NOTIFICATION_INDICATOR_SW,
+       SETTING_CLOCK_NOTIFICATION_INDICATOR_HELP
+};
+
+enum {
+       SETTING_CLOCK_FONT_STYLE,
+       SETTING_CLOCK_FONT_SIZE
+};
 
 struct _clock_menu_item {
        char *name;
@@ -49,12 +71,24 @@ struct _clock_menu_item {
        void (*func)(void *data, Evas_Object *obj, void *event_info);
 };
 
+struct _font_menu_item {
+       char *name;
+       int type;
+       void (*func)(void *data, Evas_Object *obj, void *event_info);
+};
+
 struct _dt_menu_item {
        char *name;
        char *date_or_time;
        void (*func)(void *data, Evas_Object *obj, void *event_info);
 };
 
+typedef struct _Clock_Item_Data {
+       int index;
+       Elm_Object_Item *item;
+       Evas_Object *check;
+} Clock_Item_Data;
+
 typedef struct dt_Item_Data {
        int index;
        Elm_Object_Item *item;
@@ -69,6 +103,13 @@ typedef struct alert_Item_Data {
        Evas_Object *radio_group;
 } Alert_Item_Data;
 
+typedef struct _Font_Style_Item_Data {
+       int index;
+       char *font_name;
+       Elm_Object_Item *item;
+} Font_Style_Item_Data;
+
+
 typedef struct _clock_page_data clock_page_data;
 struct _clock_page_data {
        Evas_Object *mapbuf[32];
@@ -118,4 +159,10 @@ void _clocklist_load();
 Eina_List *_get_clock_type_list();
 void _clocklist_destroy();
 
+void _clock_gl_font_cb(void *data, Evas_Object *obj, void *event_info);
+void _clock_gl_font_style_cb(void *data, Evas_Object *obj, void *event_info);
+void _clock_gl_font_size_cb(void *data, Evas_Object *obj, void *event_info);
+void _show_font_list(void *data);
+int _show_font_style_list(void *data);
+void _show_font_size_list(void *data);
 #endif /* SETTING_CLOCK_H_ */
index d3bf1054610f9e06e6fb75020a986fc2b51a3aea..7b8ecf91dda993f621206543389917d7e280b2d1 100644 (file)
 #include "watch_setting_config.h"
 
 #define MENU_COUNT             7
-#define FONT_SIZE_COUNT                3
 #define SCREEN_TIME_COUNT      5
 #define ROTATE_SCREEN_COUNT            4
 #define AMBIENT_MODE_ENABLE            1
-#define SETTING_FONT_PRELOAD_FONT_PATH "/usr/share/fonts"
-#define SETTING_FONT_DOWNLOADED_FONT_PATH TZ_SYS_GLOBALUSER_DATA_D"/fonts"
 
 struct _display_menu_item {
        char *name;
@@ -37,26 +34,13 @@ struct _display_menu_item {
        void (*func)(void *data, Evas_Object *obj, void *event_info);
 };
 
-struct _font_menu_item {
-       char *name;
-       int type;
-       void (*func)(void *data, Evas_Object *obj, void *event_info);
-};
-
 typedef struct _Display_Item_Data {
        int index;
        Elm_Object_Item *item;
        Evas_Object *check;
 } Display_Item_Data;
 
-typedef struct _Font_Style_Item_Data {
-       int index;
-       char *font_name;
-       Elm_Object_Item *item;
-} Font_Style_Item_Data;
-
 enum {
-       SETTING_DISPLAY_WATCH_FACE,
 #ifdef FEATURE_SETTING_EMUL
        SETTING_DISPLAY_WATCH_ALWAYS_ON,
 #endif
@@ -90,12 +74,6 @@ void _display_gl_Battery_percent_cb(void *data, Evas_Object *obj, void *event_in
 void _display_gl_screen_timeout_cb(void *data, Evas_Object *obj, void *event_info);
 void _show_screen_timeout_list(void *data);
 void _display_gl_language_cb(void *data, Evas_Object *obj, void *event_info);
-void _display_gl_font_cb(void *data, Evas_Object *obj, void *event_info);
-void _display_gl_font_style_cb(void *data, Evas_Object *obj, void *event_info);
-void _display_gl_font_size_cb(void *data, Evas_Object *obj, void *event_info);
-void _show_font_list(void *data);
-int _show_font_style_list(void *data);
-void _show_font_size_list(void *data);
 void _display_gl_rotate_screen_cb(void *data, Evas_Object *obj, void *event_info);
 void _show_rotate_screen_list(void *data);
 
index 5dda785a64d55722683840e421265ec8ae30dba9..c53f10d74f2ea53f6e7b18537054b33fe889b84e 100644 (file)
 
 
 enum {
-       SETTING_MAIN_MENU_DISPLAY,
+       SETTING_MAIN_MENU_WATCH_FACE_STYLES,
        SETTING_MAIN_MENU_SOUND,
        SETTING_MAIN_MENU_DEVICE,
+       SETTING_MAIN_MENU_DISPLAY,
+       SETTING_MAIN_MENU_CALL,
+       SETTING_MAIN_MENU_MESSAGES,
        SETTING_MAIN_MENU_CONNECTIONS,
-       SETTING_MAIN_MENU_ACCOUNTS,
-       SETTING_MAIN_MENU_ACCESSIBILITY,
+       SETTING_MAIN_MENU_APP_SETTINGS,
        SETTING_MAIN_MENU_INPUT,
+       SETTING_MAIN_MENU_ACCESSIBILITY,
+       SETTING_MAIN_MENU_ACCOUNTS,
+       SETTING_MAIN_MENU_POWER_SAVING,
 #ifdef FEATURE_SETTING_EMUL
        SETTING_MAIN_MENU_DEVELOPER_OPTIONS,
 #endif
@@ -73,7 +78,11 @@ void account_cb(void *data, Evas_Object *obj, void *event_info);
 void device_cb(void *data, Evas_Object *obj, void *event_info);
 void connection_cb(void *data, Evas_Object *obj, void *event_info);
 void accessiblity_cb(void *data, Evas_Object *obj, void *event_info);
+void call_cb(void *data, Evas_Object *obj, void *event_info);
+void message_cb(void *data, Evas_Object *obj, void *event_info);
 void developer_cb(void *data, Evas_Object *obj, void *event_info);
 
+void call_cb(void *data, Evas_Object *obj, void *event_info);
+void message_cb(void *data, Evas_Object *obj, void *event_info);
 
 #endif
index 8bf2ddded7538495fc51adbef1c0d8023a13da11..71d3dc0877b59f2cb5bdd11a01aaed18f5ed32e6 100644 (file)
@@ -1,5 +1,4 @@
-/*
- * Copyright (c) 2010 Samsung Electronics, Inc.
+/* * Copyright (c) 2010 Samsung Electronics, Inc.
  * All rights reserved.
  *
  * This software is a confidential and proprietary information
 #include <alarm.h>
 #include <string.h>
 #include <stdint.h>
+#include <system_settings.h>
+#include <fontconfig/fontconfig.h>
 
 #include "setting-clock.h"
 #include "util.h"
 #include "setting.h"
 #include "setting_view_toast.h"
+#include "setting-language.h"
 
 #include "setting_data_vconf.h"
 #include "circle/efl_extension_circle_object_scroller.h"
 #include "circle/efl_extension_rotary.h"
 
+#define FONT_SIZE_COUNT                3
+#define SETTINGS_FIXED_DEFAULT_FONT_NAME "BreezeSans"
+#define VCONFKEY_SETAPPL_LCD_TIMEOUT_BACKUP_FOR_WATCH_ALWAYS_ON "db/setting/lcd_backlight_timeout_backup"
+#define SETTINGS_DEFAULT_FONT_NAME "Default"
+#define SETTING_FONT_PRELOAD_FONT_PATH "/usr/share/fonts"
+#define SETTING_FONT_DOWNLOADED_FONT_PATH TZ_SYS_GLOBALUSER_DATA_D"/fonts"
+
 EAPI Evas_Object        *elm_widget_top_get(const Evas_Object *obj);
 
 static Eina_List *g_clock_list[3];
-static void _datetime_auto_sync_cb(void *data, Evas_Object *obj, void *event_info);
-static void _datetime_date_cb(void *data, Evas_Object *obj, void *event_info);
-static void _datetime_time_cb(void *data, Evas_Object *obj, void *event_info);
-static char *get_timezone_str();
-static i18n_uchar *uastrcpy(const char *chars);
-static void ICU_set_timezone(const char *timezone);
+//static void _datetime_auto_sync_cb(void *data, Evas_Object *obj, void *event_info);
+//static void _datetime_date_cb(void *data, Evas_Object *obj, void *event_info);
+//static void _datetime_time_cb(void *data, Evas_Object *obj, void *event_info);
+//static char *get_timezone_str();
+//static i18n_uchar *uastrcpy(const char *chars);
+//static void ICU_set_timezone(const char *timezone);
 
 static void _mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
 static void _mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
@@ -44,26 +53,128 @@ static void _page_show(void *data, Evas *e, Evas_Object *obj, void *event_info);
 Evas_Object *_clock_type_cb(void *data);
 void _clock_type_cb_gen_item(void *data, Evas_Object *obj, void *event_info);
 
+static void _clock_cb(void *data, Evas_Object *obj, void *event_info);
+static Evas_Object *_gl_clock_noti_indicator_check_get(void *data, Evas_Object *obj, const char *part);
+static void _clock_gl_clock_noti_indicator_cb(void *data, Evas_Object *obj, void *event_info);
+static void _clock_gl_clock_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info);
+static void _clock_gl_clock_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info);
+static void _show_noti_indicator_list(void *data);
+#ifdef FEATURE_SETTING_EMUL
+static void _clock_gl_watch_always_on_cb(void *data, Evas_Object *obj, void *event_info);
+#endif
+static Evas_Object *_gl_clock_watch_always_check_get(void *data, Evas_Object *obj, const char *part);
+static void _clock_watch_always_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+static Evas_Object *g_font_size_genlist = NULL;
+static Evas_Object *g_font_style_genlist = NULL;
+static Evas_Object *g_font_genlist = NULL;
+
+
+static char *font_name = NULL;
+static int font_size_index      = 1;           /* default: normal */
+
+static Elm_Object_Item *font_style_item = NULL;
+static Elm_Object_Item *font_size_item = NULL;
+
+static void _font_size_gl_cb(void *data, Evas_Object *obj, void *event_info);
+static void _font_style_gl_cb(void *data, Evas_Object *obj, void *event_info);
+static void settings_font_style_changed_cb(system_settings_key_e key, void *user_data);
+static void setting_font_list_pop_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void _lang_update_font_style_list(void *data, Evas_Object *obj, void *event_info);
+
+void _clock_gl_font_style_cb(void *data, Evas_Object *obj, void *event_info);
+void _clock_gl_font_size_cb(void *data, Evas_Object *obj, void *event_info);
+
 static struct _clock_menu_item clock_menu_its[] = {
-       { "IDS_ST_BODY_CLOCK_TYPE_ABB",         1,              _clock_type_cb_gen_item },
+       //{ "IDS_ST_BODY_CLOCK_TYPE_ABB",               1,              _clock_type_cb_gen_item },
+       { "WDS_WMGR_HEADER_WATCH_FACES",                                SETTING_CLOCK_WATCH_FACE,       _clock_cb},
+       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_CLOCK_NOTIFICATION_INDICATOR,   _clock_gl_clock_noti_indicator_cb },
+#ifdef FEATURE_SETTING_EMUL
+       { "watch always on",    SETTING_CLOCK_WATCH_ALWAYS_ON,  _clock_gl_watch_always_on_cb    },
+#endif
 #ifndef FEATURE_SETTING_SDK
-       { "IDS_ST_BODY_DATE_AND_TIME_ABB",      0,      _dt_cb },
-       { "IDS_ST_BODY_HOURLY_ALERT_ABB",       0,              _hourly_alert_cb },
+//     { "IDS_ST_BODY_DATE_AND_TIME_ABB",      0,      _dt_cb },
+//     { "IDS_ST_BODY_HOURLY_ALERT_ABB",       0,              _hourly_alert_cb },
 #endif
+       { "Background style",   SETTING_CLOCK_BACKGROUND_STYLE, _clock_gl_font_cb               },
+       { "IDS_ST_BODY_FONT",                           SETTING_CLOCK_FONT,     _clock_gl_font_cb               },
+};
+
+static struct _clock_menu_item noti_menu_its[] = {
+       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_CLOCK_NOTIFICATION_INDICATOR_SW,        _clock_gl_clock_noti_indicator_check_cb},
+       { "IDS_ST_MBODY_HELP",  SETTING_CLOCK_NOTIFICATION_INDICATOR_HELP,      _clock_gl_clock_noti_indicator_help_cb },
+};
+
+//static struct _dt_menu_item dt_menu_its[] = {
+//     { "IDS_ST_BODY_AUTO_SYNC_ABB2",                 "IDS_ST_BODY_SYNC_WITH_PHONE_ABB",      _datetime_auto_sync_cb   },
+//     { "IDS_ST_BODY_SET_DATE_ABB2",                  "",                                                                     _datetime_date_cb                },
+//     { "IDS_SMEMO_BUTTON_SET_TIME_ABB",              "",                                                                     _datetime_time_cb                },
+//};
+
+static struct _font_menu_item font_menu_its[] = {
+       { "IDS_ST_BODY_FONT_STYLE",                     SETTING_CLOCK_FONT_STYLE, _clock_gl_font_style_cb },
+       { "IDS_ST_BODY_FONT_SIZE_ABB",          SETTING_CLOCK_FONT_SIZE,        _clock_gl_font_size_cb },
 };
 
-static struct _dt_menu_item dt_menu_its[] = {
-       { "IDS_ST_BODY_AUTO_SYNC_ABB2",                 "IDS_ST_BODY_SYNC_WITH_PHONE_ABB",      _datetime_auto_sync_cb   },
-       { "IDS_ST_BODY_SET_DATE_ABB2",                  "",                                                                     _datetime_date_cb                },
-       { "IDS_SMEMO_BUTTON_SET_TIME_ABB",              "",                                                                     _datetime_time_cb                },
+
+static char *font_size_str[] = {
+       "IDS_EMAIL_OPT_SMALL_M_FONT_SIZE",
+       "IDS_ST_OPT_MEDIUM_M_FONT_SIZE",
+       "IDS_ST_BODY_LARGE_M_FONT_SIZE_ABB2"
+};
+
+enum {
+       CLOCK_TITLE_CLOCK,
+       CLOCK_TITLE_LANGUAGE,
+       CLOCK_TITLE_SCREEN_TIMEOUT,
+       CLOCK_TITLE_FONT,
+       CLOCK_TITLE_FONT_STYLE,
+       CLOCK_TITLE_FONT_SIZE,
+       CLOCK_TITLE_NOTIFICATION_INDICATOR,
+       CLOCK_TITLE_ROTATE,
 };
 
+static char *
+_gl_menu_title_text_get(void *data, Evas_Object *obj, const char *part)
+{
+       char buf[1024];
+       int title_idx = (uintptr_t)data;
+       switch (title_idx) {
+       case CLOCK_TITLE_CLOCK:
+               snprintf(buf, 1023, "%s", "Watch faces and Styles");
+               break;
+       case CLOCK_TITLE_LANGUAGE:
+               snprintf(buf, 1023, "%s", _("IDS_ST_BUTTON_LANGUAGE"));
+               break;
+       case CLOCK_TITLE_SCREEN_TIMEOUT:
+               snprintf(buf, 1023, "%s", _("IDS_ST_MBODY_SCREEN_TIMEOUT_ABB"));
+               break;
+       case CLOCK_TITLE_FONT:
+               snprintf(buf, 1023, "%s", _("IDS_ST_BODY_FONT"));
+               break;
+       case CLOCK_TITLE_FONT_STYLE:
+               snprintf(buf, 1023, "%s", _("IDS_ST_BODY_FONT_STYLE"));
+               break;
+       case CLOCK_TITLE_FONT_SIZE:
+               snprintf(buf, 1023, "%s", _("IDS_ST_BODY_FONT_SIZE_ABB"));
+               break;
+       case CLOCK_TITLE_NOTIFICATION_INDICATOR:
+               snprintf(buf, 1023, "%s", _("WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR"));
+               break;
+       case CLOCK_TITLE_ROTATE:
+               snprintf(buf, 1023, "%s", _("IDS_COM_OPT_ROTATE"));
+               break;
+
+       }
+       return strdup(buf);
+}
+
 static Elm_Object_Item *auto_sync_item = NULL;
 static Elm_Object_Item *date_item = NULL;
 static Elm_Object_Item *time_item = NULL;
 static Evas_Object *g_date_time_genlist = NULL;
 static Evas_Object *g_clock_genlist = NULL;
-static Evas_Object *auto_sync_check = NULL;
+//static Evas_Object *auto_sync_check = NULL;
 static Evas_Object *g_clock_scroller = NULL;
 static Evas_Object *g_clock_box = NULL;
 /*pkgmgr_client *pc_clock = NULL; */
@@ -74,8 +185,9 @@ static int clock_idx = 0;
 static int is_alert_mode_type = 0;
 static appdata *temp_ad = NULL;
 
-int is_alert_on_or_off;
 int is_running_clock;
+static Evas_Object *g_noti_check = NULL;
+static Evas_Object *g_noti_indicator_genlist = NULL;
 
 static int _clock_type_compare_cb(const void *d1, const void *d2);
 
@@ -862,42 +974,42 @@ void _clock_type_cb_gen_item(void *data, Evas_Object *obj, void *event_info)
        return;
 }
 
-void _hourly_alert_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-
-       _show_hourly_alert_list(data);
-}
-
-static char *_date_format_get()
-{
-       int ret = 0;
-       int date_val = 0;
-
-       char *date_fmt[] = { "%d%m%Y", "%m%d%Y", "%Y%m%d", "%Y%d%m" };
-
-       ret = vconf_get_int(VCONFKEY_SETAPPL_DATE_FORMAT_INT, &date_val);
-       DBG("ret = %d", ret);
-
-       return strdup(date_fmt[date_val]);
-}
-
-static char *_time_format_get()
-{
-       int ret = 0;
-       int is_hour24 = 0;
-       int time_val = 0;
-       char *time_fmt[] = { "%d%m%Y%I:%M%p", "%d%m%Y%H:%M" };
-
-       ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &time_val);
-
-       if (ret < 0)
-               is_hour24 = 0;
-       else if (time_val == VCONFKEY_TIME_FORMAT_12 || time_val == VCONFKEY_TIME_FORMAT_24)
-               is_hour24 = time_val - 1;
-
-       return strdup(time_fmt[is_hour24]);
-}
+//void _hourly_alert_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     _show_hourly_alert_list(data);
+//}
+
+//static char *_date_format_get()
+//{
+//     int ret = 0;
+//     int date_val = 0;
+//
+//     char *date_fmt[] = { "%d%m%Y", "%m%d%Y", "%Y%m%d", "%Y%d%m" };
+//
+//     ret = vconf_get_int(VCONFKEY_SETAPPL_DATE_FORMAT_INT, &date_val);
+//     DBG("ret = %d", ret);
+//
+//     return strdup(date_fmt[date_val]);
+//}
+//
+//static char *_time_format_get()
+//{
+//     int ret = 0;
+//     int is_hour24 = 0;
+//     int time_val = 0;
+//     char *time_fmt[] = { "%d%m%Y%I:%M%p", "%d%m%Y%H:%M" };
+//
+//     ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &time_val);
+//
+//     if (ret < 0)
+//             is_hour24 = 0;
+//     else if (time_val == VCONFKEY_TIME_FORMAT_12 || time_val == VCONFKEY_TIME_FORMAT_24)
+//             is_hour24 = time_val - 1;
+//
+//     return strdup(time_fmt[is_hour24]);
+//}
 
 #if 0 /* _NOT_USED_ */
 static char *_datetime_format_get()
@@ -939,23 +1051,23 @@ static char *_datetime_format_get()
 }
 #endif
 
-static void _vconf_date_format_changed_cb(keynode_t *node, void *data)
-{
-       ICU_set_timezone(get_timezone_str());
-       Evas_Object *datetime = (Evas_Object *) data;
-       char *dt_fmt = _date_format_get();
-       elm_datetime_format_set(datetime, dt_fmt);
-       FREE(dt_fmt);
-}
-
-static void _vconf_time_format_changed_cb(keynode_t *node, void *data)
-{
-       ICU_set_timezone(get_timezone_str());
-       Evas_Object *datetime = (Evas_Object *) data;
-       char *dt_fmt = _time_format_get();
-       elm_datetime_format_set(datetime, dt_fmt);
-       FREE(dt_fmt);
-}
+//static void _vconf_date_format_changed_cb(keynode_t *node, void *data)
+//{
+//     ICU_set_timezone(get_timezone_str());
+//     Evas_Object *datetime = (Evas_Object *) data;
+//     char *dt_fmt = _date_format_get();
+//     elm_datetime_format_set(datetime, dt_fmt);
+//     FREE(dt_fmt);
+//}
+//
+//static void _vconf_time_format_changed_cb(keynode_t *node, void *data)
+//{
+//     ICU_set_timezone(get_timezone_str());
+//     Evas_Object *datetime = (Evas_Object *) data;
+//     char *dt_fmt = _time_format_get();
+//     elm_datetime_format_set(datetime, dt_fmt);
+//     FREE(dt_fmt);
+//}
 
 #if 0 /* _NOT_USED_ */
 static void _vconf_datetime_format_changed_cb(keynode_t *node, void *data)
@@ -967,69 +1079,123 @@ static void _vconf_datetime_format_changed_cb(keynode_t *node, void *data)
 }
 #endif
 
-static Eina_Bool _clear_date_changed_cb(void *data, Elm_Object_Item *it)
-{
-       unregister_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, _vconf_date_format_changed_cb);
-       unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb);
-
-       return EINA_TRUE;
-}
-
-static Eina_Bool _clear_time_changed_cb(void *data, Elm_Object_Item *it)
-{
-       unregister_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_time_format_changed_cb);
-       unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb);
-
-       return EINA_TRUE;
-}
-
-static Evas_Object *_create_scroller(Evas_Object *parent)
-{
-       Evas_Object *scroller = elm_scroller_add(parent);
-       elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
-       elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-       evas_object_show(scroller);
-
-       return scroller;
-}
-
-void _dt_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-
-       _show_date_and_time_list(data);
-}
+//static Eina_Bool _clear_date_changed_cb(void *data, Elm_Object_Item *it)
+//{
+//     unregister_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, _vconf_date_format_changed_cb);
+//     unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb);
+//
+//     return EINA_TRUE;
+//}
+//
+//static Eina_Bool _clear_time_changed_cb(void *data, Elm_Object_Item *it)
+//{
+//     unregister_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_time_format_changed_cb);
+//     unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb);
+//
+//     return EINA_TRUE;
+//}
+
+//static Evas_Object *_create_scroller(Evas_Object *parent)
+//{
+//     Evas_Object *scroller = elm_scroller_add(parent);
+//     elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
+//     elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+//     evas_object_show(scroller);
+//
+//     return scroller;
+//}
+
+//void _dt_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     _show_date_and_time_list(data);
+//}
 
 char *_gl_clock_title_get(void *data, Evas_Object *obj, const char *part)
 {
        char buf[1024] = {0, };
-       Item_Data *id = data;
+       Clock_Item_Data *id = data;
        int index = id->index;
 
        if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.1")) {
-               snprintf(buf, sizeof(buf) - 1, "%s", _(clock_menu_its[index % 3].name));
+               snprintf(buf, sizeof(buf) - 1, "%s", _(clock_menu_its[index].name));
        } else if (!strcmp(part, "elm.text.2")) {
-               if (index == 0) {
-                       Clock_Type_Item *selected_clock = _get_selected_clock();
-                       if (selected_clock) {
-                               snprintf(buf, sizeof(buf) - 1, "%s", selected_clock->name);
-                       }
-               } else if (index == 1) {
-                       return NULL;
-               } else if (index == 2) {
-                       char *_houly_alert_str[] = { "IDS_ST_BODY_OFF_M_STATUS", "IDS_ST_BODY_ON_M_STATUS" };
+               switch(index) {
+               case SETTING_CLOCK_NOTIFICATION_INDICATOR:
+                       snprintf(buf, sizeof(buf) - 1, "%s", "Show on watch face");
+               break;
+               case SETTING_CLOCK_FONT:
+                       {
+                               int font_size = -1;
+                               char *font_name = NULL;
+                               char font_buf[1024] = {0, };
+                               char *text_color = "<font color=#4DCFFFC9>%s</font>";
+                               char *text_color_two_args = "<font color=#4DCFFFC9>%s.%s</font>";
+                               if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_name)
+                                       != SYSTEM_SETTINGS_ERROR_NONE) {
+                                       ERR("failed to call system_setting_get_value_string with err");
+                               }
+
+                               if (font_name) {
+
+                                       DBG(" font_name <---------------------- (%s) ", font_name);
+
+                                       if (strstr(font_name, "Samsung")) {
+                                               snprintf(font_buf, sizeof(font_buf) - 1, "%s", _("IDS_ST_BODY_DEFAULT_FONT"));
+                                       } else {
+                                               if (!strcmp(font_name, "Choco cooky")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_LCKSCN_BODY_CHOCO_COOKY_M_FONT"));
+                                               } else if (!strcmp(font_name, "Cool jazz")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_COOL_JAZZ"));
+                                               } else if (!strcmp(font_name, "Rosemary")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_FONTSTYLE_ROSEMARY"));
+                                               } else if (!strcmp(font_name, "Tinkerbell")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_MBODY_TINKERBELL"));
+                                               } else if (!strcmp(font_name, "Applemint")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_RH_BUTTON2_APPLEMINT_M_FONT"));
+                                               } else if (!strcmp(font_name, "Kaiti")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_KAITI_M_FONT"));
+                                               } else if (!strcmp(font_name, "POP")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_POP_JPN_DCM"));
+                                               } else if (!strcmp(font_name, "UDMincho")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_UDMINCHO_JPN"));
+                                               } else if (!strcmp(font_name, "UDRGothic")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_UDRGOTHICM_JPN"));
+                                               } else if (!strcmp(font_name, "TizenSans")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("TizenSans"));
+                                               } else if (!strcmp(font_name, "BreezeSans")) {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_COM_BODY_DEFAULT"));
+                                               } else {
+                                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, font_name);
+                                               }
+                                       }
+                               } else {
+                                       snprintf(font_buf, sizeof(font_buf) - 1, text_color, _("IDS_ST_BODY_UNKNOWN"));
+                               }
+
+                               if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &font_size)
+                                       != SYSTEM_SETTINGS_ERROR_NONE) {
+                                       DBG("Setting - system_settings_get_value_int() is failed.");
+                               }
 
-                       vconf_get_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, &clock_menu_its[index % 3].type_num);
-                       snprintf(buf, sizeof(buf) - 1, "%s", _(_houly_alert_str[clock_menu_its[index % 3].type_num]));
+                               if (font_size < 0 || font_size > 2) {
+                                       snprintf(buf, sizeof(buf) - 1, text_color_two_args, font_buf, _("IDS_ST_BODY_UNKNOWN"));
+                               } else {
+                                       snprintf(buf, sizeof(buf) - 1, text_color_two_args, font_buf, _(font_size_str[font_size]));
+                               }
+                       }
+               break;
+               default:
+               break;
                }
-               index++;
        }
        return strdup(buf);
 }
 
 static void _clock_gl_del(void *data, Evas_Object *obj)
 {
-       Item_Data *id = data;
+       Clock_Item_Data *id = data;
        FREE(id);
 }
 
@@ -1041,45 +1207,64 @@ Evas_Object *_create_clock_list(void *data)
                return NULL;
        }
        Evas_Object *genlist  = NULL;
-       Elm_Genlist_Item_Class *itc_tmp;
        struct _clock_menu_item *menu_its = NULL;
        int idx = 0;
 
-       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "2text";
-       itc->func.text_get = _gl_clock_title_get;
-       itc->func.del = _clock_gl_del;
-
+       Elm_Genlist_Item_Class *itc[5];
+       Elm_Genlist_Item_Class *itc_general, *itc_1icon, *itc_2text;
+       itc_general = elm_genlist_item_class_new();
+       itc_general->item_style = "1text";
+       itc_general->func.text_get = _gl_clock_title_get;
+       itc_general->func.del = _clock_gl_del;
+
+       itc_1icon = elm_genlist_item_class_new();
+       itc_1icon->item_style = "1text.1icon.1";
+       itc_1icon->func.text_get = _gl_clock_title_get;
+       itc_1icon->func.content_get = _gl_clock_watch_always_check_get;
+       itc_1icon->func.del = _clock_gl_del;
+
+       itc_2text = elm_genlist_item_class_new();
+       itc_2text->item_style = "2text";
+       itc_2text->func.text_get = _gl_clock_title_get;
+       itc_2text->func.del = _clock_gl_del;
+
+       itc[SETTING_CLOCK_FONT] = itc[SETTING_CLOCK_NOTIFICATION_INDICATOR]
+                                                       = itc_2text;
+       itc[SETTING_CLOCK_BACKGROUND_STYLE] = itc[SETTING_CLOCK_WATCH_FACE] = itc_general;
+#ifdef FEATURE_SETTING_EMUL
+       itc[SETTING_CLOCK_WATCH_ALWAYS_ON]= itc_1icon;
+#endif
+/*
        Elm_Genlist_Item_Class *itc_date_time = elm_genlist_item_class_new();
        itc_date_time->item_style = "1text";
        itc_date_time->func.text_get = _gl_clock_title_get;
        itc_date_time->func.del = _clock_gl_del;
+       */
 
-       Evas_Object *layout = elm_layout_add(ad->nf);
-       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       genlist = elm_genlist_add(layout);
+       genlist = elm_genlist_add(ad->nf);
+       elm_genlist_block_count_set(genlist, 14);
+       elm_genlist_homogeneous_set(genlist, EINA_TRUE);
        elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
        connect_to_wheel_with_genlist(genlist, ad);
        menu_its = clock_menu_its;
 
+       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+       title_item->func.text_get = _gl_menu_title_text_get;
+       title_item->item_style = "title";
+       title_item->func.del = NULL;
+
+       elm_genlist_item_append(genlist, title_item, (void *)CLOCK_TITLE_CLOCK, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
        int count = 0;
        count = sizeof(clock_menu_its) / sizeof(clock_menu_its[0]);
-       for (idx = 0; idx < count; idx++) {
-               if (idx == 1) {
-                       itc_tmp = itc_date_time;
-               } else {
-                       itc_tmp = itc;
-               }
-
-               Item_Data *id = calloc(sizeof(Item_Data), 1);
+       for (idx = 0; idx < count; idx++)
+       {
+               Clock_Item_Data *id = calloc(sizeof(Clock_Item_Data), 1);
                if (id) {
                        id->index = idx;
                        id->item = elm_genlist_item_append(
                                                   genlist,                     /* genlist object */
-                                                  itc_tmp,                             /* item class */
+                                                  itc[idx],                            /* item class */
                                                   id,                                  /* data */
                                                   NULL,
                                                   ELM_GENLIST_ITEM_NONE,
@@ -1087,14 +1272,24 @@ Evas_Object *_create_clock_list(void *data)
                                                   ad);
                }
        }
-       elm_genlist_item_class_free(itc);
-       elm_genlist_item_class_free(itc_date_time);
 
-       g_clock_genlist = genlist;
+       elm_genlist_item_class_free(itc_general);
+       elm_genlist_item_class_free(itc_1icon);
+       elm_genlist_item_class_free(itc_2text);
+       /*elm_genlist_item_class_free(itc_date_time);*/
 
-       elm_object_part_content_set(layout, "elm.genlist", genlist);
+       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+       padding->item_style = "padding";
+       padding->func.del = _clock_gl_del;
 
-       return layout;
+       Elm_Object_Item *padding_item;
+       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+       elm_genlist_item_class_free(padding);
+
+       g_clock_genlist = genlist;
+
+       return genlist;
 }
 
 char *_get_str_from_icu(const char *pattern)
@@ -1167,149 +1362,819 @@ char *_get_time_str()
        return _get_str_from_icu(time_fmt[is_hour24]);
 }
 
-char *_gl_date_and_time_title_get(void *data, Evas_Object *obj, const char *part)
+//char *_gl_date_and_time_title_get(void *data, Evas_Object *obj, const char *part)
+//{
+//     char buf[1024] = {0,};
+//     Item_Data *id = data;
+//     int index = id->index;
+//
+//     char  expression[32];
+//     int auto_update = 0;
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &auto_update);
+//
+//     if (!strcmp(part, "elm.text.1")) {
+//             if (index == 0) {
+//                     snprintf(buf, sizeof(buf) - 1, "%s", _(dt_menu_its[index % 3].name));
+//             } else {
+//                     if (auto_update) {
+//                             strncpy(expression, "<font color=#515151>%s</font>", sizeof(expression)-1);
+//                     } else {
+//                             strncpy(expression, "%s", sizeof(expression)-1);
+//                     }
+//                     snprintf(buf, sizeof(buf) - 1, expression, _(dt_menu_its[index % 3].name));
+//             }
+//     } else if (!strcmp(part, "elm.text.2")) {
+//             if (index == 0) {
+//                     snprintf(buf, sizeof(buf) - 1, "%s", _(dt_menu_its[index % 3].date_or_time));
+//             } else {
+//                     if (auto_update) {
+//                             strncpy(expression, "<font color=#515151>%s</font>", sizeof(expression)-1);
+//                     } else {
+//                             strncpy(expression, "%s", sizeof(expression)-1);
+//                     }
+//
+//                     if (index == 1) {       /* Date */
+//                             char *date_buf = NULL;
+//                             date_buf = _get_date_str();
+//                             snprintf(buf, sizeof(buf) - 1, expression, date_buf);
+//                             FREE(date_buf);
+//                     } else if (index == 2) {        /* Time */
+//                             char *time_buf = NULL;
+//                             time_buf = _get_time_str();
+//                             snprintf(buf, sizeof(buf) - 1, expression, time_buf);
+//                             FREE(time_buf);
+//                     }
+//             }
+//             index++;
+//     }
+//     return strdup(buf);
+//}
+
+//static Evas_Object *_gl_dt_auto_sync_check_get(void *data, Evas_Object *obj, const char *part)
+//{
+//     Evas_Object *check = NULL;
+//     int is_auto_update = 0;
+//
+//     DT_Item_Data *id = data;
+//     int index = id->index;
+//
+//     if (!strcmp(part, "elm.icon")) {
+//             if (index == 0) {
+//                     check = elm_check_add(obj);
+//                     if (vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_update) < 0) {
+//                             DBG("Setting - auto time update's vconf get fail");
+//                     }
+//                     elm_check_state_set(check, (is_auto_update) ? EINA_TRUE : EINA_FALSE);
+//                     evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+//                     evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//                     auto_sync_check = check;
+//             }
+//             index++;
+//     }
+//
+//     return check;
+//}
+
+//static void _dt_gl_del(void *data, Evas_Object *obj)
+//{
+//     DT_Item_Data *id = data;
+//     FREE(id);
+//
+//     auto_sync_check = NULL;
+//     auto_sync_item = NULL;
+//     date_item = NULL;
+//     time_item = NULL;
+//}
+
+//static void change_datetime_format_cb(keynode_t *key, void *data)
+//{
+//     int ret = 0;
+//     int time_val = 0;
+//     ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &time_val);
+//     if (ret < 0)
+//             return;
+//
+//     DBG("Setting - time_format : %d", time_val);
+//     ICU_set_timezone(get_timezone_str());
+//
+//     int is_auto_sync = 0;
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+//
+//     if (date_item) {
+//             elm_genlist_item_update(date_item);
+//             /*elm_object_item_disabled_set(date_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+//     }
+//     if (time_item) {
+//             elm_genlist_item_update(time_item);
+//             /*elm_object_item_disabled_set(time_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+//     }
+//}
+
+//static Eina_Bool _clear_datetime_changed_cb(void *data, Elm_Object_Item *it)
+//{
+//     unregister_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, change_datetime_format_cb);
+//     unregister_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, change_datetime_format_cb);
+//     unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, change_datetime_format_cb);
+//
+//     return EINA_TRUE;
+//}
+
+//void _show_date_and_time_list(void *data)
+//{
+//     appdata *ad = data;
+//     if (ad == NULL) {
+//             DBG("%s", "_create_dt_list - appdata is null");
+//             return;
+//     }
+//     Evas_Object *genlist  = NULL;
+//     Evas_Object *layout = NULL;
+//     Elm_Object_Item *nf_it = NULL;
+//     struct _dt_menu_item *menu_its = NULL;
+//     int idx = 0;
+//     int auto_sync = 0;
+//
+//     ICU_set_timezone(get_timezone_str());
+//
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &auto_sync);
+//
+//     Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+//     itc->item_style = "2text.1icon.1";
+//     itc->func.text_get = _gl_date_and_time_title_get;
+//     itc->func.content_get = _gl_dt_auto_sync_check_get;
+//     itc->func.del = _dt_gl_del;
+//
+//     layout = elm_layout_add(ad->nf);
+//     elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
+//     evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//     genlist = elm_genlist_add(layout);
+//     elm_genlist_block_count_set(genlist, 14);
+//     elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+//     evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//     connect_to_wheel_with_genlist(genlist, ad);
+//     menu_its = dt_menu_its;
+//
+//     for (idx = 0; idx < CLOCK_DATE_AND_TIME_COUNT; idx++) {
+//             DT_Item_Data *id = calloc(sizeof(DT_Item_Data), 1);
+//             if (id) {
+//                     id->index = idx;
+//                     id->item = elm_genlist_item_append(
+//                                                genlist,                     /* genlist object */
+//                                                itc,                         /* item class */
+//                                                id,                                  /* data */
+//                                                NULL,
+//                                                ELM_GENLIST_ITEM_NONE,
+//                                                menu_its[idx].func,  /* call back */
+//                                                ad);
+//
+//                     switch (idx) {
+//                     case 0:
+//                             auto_sync_item = id->item;
+//                             break;
+//                     case 1:
+//                             date_item = id->item;
+//                             break;
+//                     case 2:
+//                             time_item = id->item;
+//                             break;
+//                     }
+//             }
+//     }
+//     elm_genlist_item_class_free(itc);
+//
+//     g_date_time_genlist = genlist;
+//
+//     elm_object_part_content_set(layout, "elm.genlist", genlist);
+//
+//     nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
+//     elm_naviframe_item_pop_cb_set(nf_it, _clear_datetime_changed_cb, ad);
+//     elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+//
+//     /* time format changing cb */
+//     register_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, change_datetime_format_cb, NULL);
+//     register_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, change_datetime_format_cb, NULL);
+//     register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, change_datetime_format_cb, NULL);
+//}
+
+//static void _set_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     if (!data || !obj) return;
+//
+//     appdata *ad = data;
+//     struct tm currtime;
+//
+//     elm_datetime_value_get(ad->datetime, &currtime);
+//
+//     currtime.tm_isdst = -1;
+//     currtime.tm_sec = 0;
+//
+//     time_t t = mktime(&currtime);
+//
+//     int ret = alarmmgr_set_systime(t);
+//     DBG("ret = %d", ret);
+//
+//     elm_naviframe_item_pop(ad->nf);
+//
+//     /* automatic freed!! */
+//     Toast_Data *toast = _create_toast(ad, _("IDS_ST_TPOP_CHANGING_TIME_AND_DATE_SETTINGS_MAY_AFFECT_SOME_FUNCTIONS"));
+//     if (toast) {
+//             _show_toast(ad, toast);
+//     }
+//
+//     if (g_date_time_genlist) {
+//             elm_genlist_realized_items_update(g_date_time_genlist);
+//     }
+//}
+
+//static void _cancle_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     appdata *ad = data;
+//
+//     if (!ad)
+//             return;
+//
+//     elm_naviframe_item_pop(ad->nf);
+//
+//     if (ad->dt_genlist_item_of_time != NULL) {
+//             elm_genlist_item_update(ad->dt_genlist_item_of_time);
+//     }
+//
+//     if (ad->dt_genlist_item_of_date != NULL) {
+//             elm_genlist_item_update(ad->dt_genlist_item_of_date);
+//     }
+//}
+
+//static void _datetime_auto_sync_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     int is_auto_sync = 0;
+//
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+//
+//     is_auto_sync = !is_auto_sync;
+//
+//     vconf_set_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, is_auto_sync);
+//
+//     DBG("Setting - Auto sync : %s", is_auto_sync ? "TRUE" : "FALSE");
+//
+//     if (auto_sync_check) {
+//             elm_check_state_set(auto_sync_check, (is_auto_sync) ? EINA_TRUE : EINA_FALSE);
+//     }
+//
+//     if (date_item) {
+//             elm_genlist_item_update(date_item);
+//             /*elm_object_item_disabled_set(date_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+//     }
+//     if (time_item) {
+//             elm_genlist_item_update(time_item);
+//             /*elm_object_item_disabled_set(time_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+//     }
+//}
+
+//static void _datetime_date_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     int is_auto_sync = 0;
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+//     if (is_auto_sync) {
+//             return;
+//     }
+//
+//     Evas_Object *scroller;
+//     Evas_Object *layout, *btn;
+//     Evas_Object *datetime;
+//     Elm_Object_Item *it;
+//     char *dt_fmt;
+//     appdata *ad = (appdata *)data;
+//
+//     if (!ad || !obj)
+//             return;
+//
+//     ad->dt_genlist_item_of_date = (Elm_Object_Item *)event_info;
+//
+//     scroller = _create_scroller(ad->nf);
+//     evas_object_data_set(scroller, "appdata", ad);
+//
+//     layout = elm_layout_add(scroller);
+//     elm_layout_file_set(layout, EDJE_PATH, "setting-test/datetime");
+//     evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//     datetime = elm_datetime_add(layout);
+//     elm_object_style_set(datetime, "datepicker_layout");
+//     elm_object_part_content_set(layout, "content", datetime);
+//
+//     ad->datetime = datetime;
+//
+//#ifndef DESKTOP
+//     dt_fmt = _date_format_get();
+//     elm_datetime_format_set(datetime, dt_fmt);
+//     FREE(dt_fmt);
+//     register_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, _vconf_date_format_changed_cb, datetime);
+//     register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb, datetime);
+//#endif
+//
+//     btn = elm_button_add(layout);
+//     elm_object_text_set(btn, _("IDS_ST_BUTTON_CANCEL_ABB2"));
+//     evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//     elm_object_part_content_set(layout, "btn1", btn);
+//     evas_object_smart_callback_add(btn, "clicked", _cancle_clicked_cb, ad);
+//
+//     btn = elm_button_add(layout);
+//     elm_object_text_set(btn, _("IDS_COM_SK_SET_ABB"));
+//     evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//     elm_object_part_content_set(layout, "btn2", btn);
+//     evas_object_smart_callback_add(btn, "clicked", _set_clicked_cb, ad);
+//
+//     elm_object_content_set(scroller, layout);
+//
+//     it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, scroller, NULL);
+//     elm_naviframe_item_pop_cb_set(it, _clear_date_changed_cb, ad);
+//     elm_naviframe_item_title_enabled_set(it, EINA_FALSE, EINA_FALSE);
+//}
+
+//static void _datetime_time_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     int is_auto_sync = 0;
+//     vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+//     if (is_auto_sync) {
+//             return;
+//     }
+//
+//     Evas_Object *scroller;
+//     Evas_Object *layout, *btn;
+//     Evas_Object *datetime;
+//     Elm_Object_Item *it;
+//     char *dt_fmt;
+//     appdata *ad = (appdata *)data;
+//
+//     if (!ad || !obj)
+//             return;
+//
+//     ad->dt_genlist_item_of_time = (Elm_Object_Item *)event_info;
+//
+//     scroller = _create_scroller(ad->nf);
+//     evas_object_data_set(scroller, "appdata", ad);
+//
+//     layout = elm_layout_add(scroller);
+//     elm_layout_file_set(layout, EDJE_PATH, "setting-test/datetime");
+//     evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//     datetime = elm_datetime_add(layout);
+//     elm_object_style_set(datetime, "timepicker_layout");
+//     elm_object_part_content_set(layout, "content", datetime);
+//
+//     ad->datetime = datetime;
+//
+//#ifndef DESKTOP
+//     dt_fmt = _time_format_get();
+//     elm_datetime_format_set(datetime, dt_fmt);
+//     DBG("datetime time format : %s", dt_fmt);
+//     FREE(dt_fmt);
+//     register_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_time_format_changed_cb, datetime);
+//     register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_time_format_changed_cb, datetime);
+//#endif
+//
+//     btn = elm_button_add(layout);
+//     elm_object_text_set(btn, _("IDS_ST_BUTTON_CANCEL_ABB2"));
+//     evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//     elm_object_part_content_set(layout, "btn1", btn);
+//     evas_object_smart_callback_add(btn, "clicked", _cancle_clicked_cb, ad);
+//
+//     btn = elm_button_add(layout);
+//     elm_object_text_set(btn, _("IDS_COM_SK_SET_ABB"));
+//     evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//     elm_object_part_content_set(layout, "btn2", btn);
+//     evas_object_smart_callback_add(btn, "clicked", _set_clicked_cb, ad);
+//
+//     elm_object_content_set(scroller, layout);
+//
+//     it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, scroller, NULL);
+//     elm_naviframe_item_pop_cb_set(it, _clear_time_changed_cb, ad);
+//     elm_naviframe_item_title_enabled_set(it, EINA_FALSE, EINA_FALSE);
+//}
+
+//static void _alert_gl_del(void *data, Evas_Object *obj)
+//{
+//     Alert_Item_Data *id = data;
+//     FREE(id);
+//}
+//
+//char *_gl_alert_title_get(void *data, Evas_Object *obj, const char *part)
+//{
+//     char buf[1024] = {0,};
+//     Alert_Item_Data *id = data;
+//     int index = id->index;
+//
+//     char *temps[] = { "IDS_ST_BODY_ON_M_STATUS", "IDS_ST_BODY_OFF_M_STATUS" };
+//
+//     if (!strcmp(part, "elm.text")) {
+//             snprintf(buf, sizeof(buf) - 1, "%s", _(temps[index]));
+//             index++;
+//     }
+//     return strdup(buf);
+//}
+//
+//Evas_Object *_gl_alert_ridio_get(void *data, Evas_Object *obj, const char *part)
+//{
+//     Evas_Object *radio = NULL;
+//     Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
+//     Alert_Item_Data *id = data;
+//     int index = id->index;
+//
+//     if (!strcmp(part, "elm.icon")) {
+//             radio = elm_radio_add(obj);
+//             elm_radio_state_value_set(radio, id->index);
+//             evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
+//             evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//             elm_radio_group_add(radio, radio_main);
+//
+//#if 0
+//             vconf_get_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, &is_alert_mode_type);
+//
+//             is_alert_mode_type = !is_alert_mode_type;
+//
+//             if (is_alert_mode_type == id->index) {
+//                     elm_radio_value_set(radio_main, is_alert_mode_type);
+//             }
+//#endif
+//             index++;
+//     }
+//     return radio;
+//}
+//
+//static void _hourly_gl_cb(void *data, Evas_Object *obj, void *event_info)
+//{
+//     elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+//
+//     is_alert_mode_type = (uintptr_t)data;
+//
+//     elm_naviframe_item_pop(temp_ad->nf);
+//     if (!temp_ad->alert_rdg) {
+//             evas_object_del(temp_ad->alert_rdg);
+//             temp_ad->alert_rdg = NULL;
+//     }
+//
+//#if 0
+//     clock_menu_its[2].type_num = is_alert_mode_type;
+//     vconf_set_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, !is_alert_mode_type);
+//#endif
+//     if (g_clock_genlist) {
+//             elm_genlist_realized_items_update(g_clock_genlist);
+//     }
+//
+//     temp_ad = NULL;
+//}
+//
+//void _show_hourly_alert_list(void *data)
+//{
+//     appdata *ad = data;
+//     if (ad == NULL) {
+//             DBG("%s", "_create_alert_list - appdata is null");
+//             return;
+//     }
+//     Evas_Object *genlist  = NULL;
+//     Elm_Object_Item *nf_it = NULL;
+//
+//     temp_ad = ad;
+//
+//     Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+//     itc->item_style = "1text.1icon.1";
+//     itc->func.text_get = _gl_alert_title_get;
+//     itc->func.content_get = _gl_alert_ridio_get;
+//     itc->func.del = _alert_gl_del;
+//
+//     Evas_Object *layout = elm_layout_add(ad->nf);
+//     elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
+//     evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//
+//     genlist = elm_genlist_add(layout);
+//     elm_genlist_block_count_set(genlist, 14);
+//     elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+//     evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+//     connect_to_wheel_with_genlist(genlist, ad);
+//
+//     Alert_Item_Data *id = calloc(sizeof(Alert_Item_Data), 1);
+//     if (id) {
+//             id->index = 0;
+//             id->item = elm_genlist_item_append(genlist,     itc, id, NULL, ELM_GENLIST_ITEM_NONE, _hourly_gl_cb, (void *)0);
+//     }
+//
+//     Alert_Item_Data *id2 = calloc(sizeof(Alert_Item_Data), 1);
+//     if (id2) {
+//             id2->index = 1;
+//             id2->item = elm_genlist_item_append(genlist, itc, id2, NULL, ELM_GENLIST_ITEM_NONE, _hourly_gl_cb, (void *)1);
+//     }
+//
+//     ad->alert_rdg = elm_radio_add(genlist);
+//     elm_radio_state_value_set(ad->alert_rdg, 3);
+//     elm_radio_value_set(ad->alert_rdg, is_alert_mode_type);
+//
+//     evas_object_data_set(genlist, "radio_main", ad->alert_rdg);
+//
+//     elm_genlist_item_class_free(itc);
+//
+//     elm_object_part_content_set(layout, "elm.genlist", genlist);
+//
+//     nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
+//     elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+//}
+//
+
+void _clocklist_load()
 {
-       char buf[1024] = {0,};
-       Item_Data *id = data;
-       int index = id->index;
+       if (g_clock_list[0] || g_clock_list[1] || g_clock_list[2]) {
+               _clocklist_destroy();
+       }
 
-       char  expression[32];
-       int auto_update = 0;
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &auto_update);
+       pkgmgrinfo_appinfo_filter_h handle = NULL;
 
-       if (!strcmp(part, "elm.text.1")) {
-               if (index == 0) {
-                       snprintf(buf, sizeof(buf) - 1, "%s", _(dt_menu_its[index % 3].name));
-               } else {
-                       if (auto_update) {
-                               strncpy(expression, "<font color=#515151>%s</font>", sizeof(expression)-1);
-                       } else {
-                               strncpy(expression, "%s", sizeof(expression)-1);
-                       }
-                       snprintf(buf, sizeof(buf) - 1, expression, _(dt_menu_its[index % 3].name));
-               }
-       } else if (!strcmp(part, "elm.text.2")) {
-               if (index == 0) {
-                       snprintf(buf, sizeof(buf) - 1, "%s", _(dt_menu_its[index % 3].date_or_time));
-               } else {
-                       if (auto_update) {
-                               strncpy(expression, "<font color=#515151>%s</font>", sizeof(expression)-1);
-                       } else {
-                               strncpy(expression, "%s", sizeof(expression)-1);
-                       }
+       if (pkgmgrinfo_appinfo_filter_create(&handle) != PMINFO_R_OK) {
+               ERR("pkgmgrinfo_appinfo_filter_create error");
+               return;
+       }
 
-                       if (index == 1) {       /* Date */
-                               char *date_buf = NULL;
-                               date_buf = _get_date_str();
-                               snprintf(buf, sizeof(buf) - 1, expression, date_buf);
-                               FREE(date_buf);
-                       } else if (index == 2) {        /* Time */
-                               char *time_buf = NULL;
-                               time_buf = _get_time_str();
-                               snprintf(buf, sizeof(buf) - 1, expression, time_buf);
-                               FREE(time_buf);
-                       }
-               }
-               index++;
+       if (pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_COMPONENT, WATCH_COMPONENT_NAME)
+               != PMINFO_R_OK) {
+               ERR("pkgmgrinfo_appinfo_filter_add_string error");
+               pkgmgrinfo_appinfo_filter_destroy(handle);
+               return;
        }
-       return strdup(buf);
-}
 
-static Evas_Object *_gl_dt_auto_sync_check_get(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *check = NULL;
-       int is_auto_update = 0;
+       if (pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, _category_app_list_cb, NULL)
+               != PMINFO_R_OK) {
+               ERR("pkgmgrinfo_appinfo_filter_foreach_appinfo error");
+               pkgmgrinfo_appinfo_filter_destroy(handle);
+               return;
+       }
 
-       DT_Item_Data *id = data;
-       int index = id->index;
+       pkgmgrinfo_appinfo_filter_destroy(handle);
 
-       if (!strcmp(part, "elm.icon")) {
-               if (index == 0) {
-                       check = elm_check_add(obj);
-                       if (vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_update) < 0) {
-                               DBG("Setting - auto time update's vconf get fail");
-                       }
-                       elm_check_state_set(check, (is_auto_update) ? EINA_TRUE : EINA_FALSE);
-                       evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-                       evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       Clock_Type_Item *pitem = NULL;
+       Eina_List *list = NULL;
+       int i;
 
-                       auto_sync_check = check;
+       for (i = 0; i < 3; i++) {
+               EINA_LIST_FOREACH(g_clock_list[i], list, pitem) {
+                       pitem->index = clock_idx++;
                }
-               index++;
        }
 
-       return check;
 }
 
-static void _dt_gl_del(void *data, Evas_Object *obj)
+void _clocklist_destroy()
 {
-       DT_Item_Data *id = data;
-       FREE(id);
+       Clock_Type_Item *pitem = NULL;
+       Eina_List *list = NULL;
+       clock_idx = 0;
+       int i;
 
-       auto_sync_check = NULL;
-       auto_sync_item = NULL;
-       date_item = NULL;
-       time_item = NULL;
+       for (i = 0; i < 3; i++) {
+               EINA_LIST_FOREACH(g_clock_list[i], list, pitem) {
+                       FREE(pitem->appid);
+                       FREE(pitem->pkgid);
+                       FREE(pitem->name);
+                       FREE(pitem->icon);
+               }
+       }
+       g_clock_list[0] = eina_list_free(g_clock_list[0]);
+       g_clock_list[1] = eina_list_free(g_clock_list[1]);
+       g_clock_list[2] = eina_list_free(g_clock_list[2]);
 }
 
-static void change_datetime_format_cb(keynode_t *key, void *data)
+static int _clock_type_compare_cb(const void *d1, const void *d2)
 {
-       int ret = 0;
-       int time_val = 0;
-       ret = vconf_get_int(VCONFKEY_REGIONFORMAT_TIME1224, &time_val);
-       if (ret < 0)
-               return;
+       i18n_uchar clock1[256] = { 0, };
+       i18n_uchar clock2[256] = { 0, };
+
+       Clock_Type_Item *r1 = (Clock_Type_Item *) d1;
+       Clock_Type_Item *r2 = (Clock_Type_Item *) d2;
+
+       i18n_ustring_copy_ua(clock1, r1->name);
+       i18n_ustring_copy_ua(clock2, r2->name);
+
+       i18n_ucollator_result_e ret;
+       i18n_ucollator_str_collator(coll, clock1, -1, clock2, -1, &ret);
+
+       switch (ret) {
+       case I18N_UCOLLATOR_EQUAL:
+               return 0;
+       case I18N_UCOLLATOR_GREATER:
+               return 1;
+       case I18N_UCOLLATOR_LESS:
+               return -1;
+       default:
+               return 0;
+       }
+}
 
-       DBG("Setting - time_format : %d", time_val);
-       ICU_set_timezone(get_timezone_str());
+static void _clock_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       Evas_Object *layout = NULL;
+       Elm_Object_Item *nf_it = NULL;
+       appdata *ad = data;
 
-       int is_auto_sync = 0;
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+       if (ad == NULL) {
+               DBG("Setting - ad is null");
+               return;
+       }
 
-       if (date_item) {
-               elm_genlist_item_update(date_item);
-               /*elm_object_item_disabled_set(date_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+       if (is_running_clock) {
+               elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+               return;
        }
-       if (time_item) {
-               elm_genlist_item_update(time_item);
-               /*elm_object_item_disabled_set(time_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+
+       layout = _clock_type_cb(data);
+       if (layout == NULL) {
+               DBG("%s", "clock cb - layout is null");
+               return;
        }
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
+       back_button_cb_push(&back_key_generic_cb, data, NULL, g_clock_genlist , "g_clock_genlist");
+       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_clock_cb, ad);
+       /*elm_naviframe_item_pop_cb_set(nf_it, _clear_clock_cb, ad); */
+       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       is_running_clock = 1;
+
+}
+
+static void _clock_gl_clock_noti_indicator_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       DBG("_clock_gl_clock_noti_indicator_cb is called!!!!!!!");
+       _show_noti_indicator_list(data);
 }
 
-static Eina_Bool _clear_datetime_changed_cb(void *data, Elm_Object_Item *it)
+void _noti_indicator_help_popup_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       unregister_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, change_datetime_format_cb);
-       unregister_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, change_datetime_format_cb);
-       unregister_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, change_datetime_format_cb);
+       appdata *ad = (appdata *) data;
+       if (ad == NULL)
+               return;
+
+       Evas_Object *popup = NULL;
+
+       popup = elm_popup_add(ad->nf);
+       elm_object_style_set(popup, "circle");
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(ad->nf, popup);
+
+       ad->popup = popup;
+
+       char buf[1024];
+
+       char *font_size_frame = "<font=Tizen><style=Thin><align=center>%s</align></style></font>";
+       snprintf(buf, sizeof(buf) - 1, font_size_frame, "&nbsp;<br>Show a yellow indicator on the watch face when there are unread notifications.");
+
+       Evas_Object *layout;
+       layout = elm_layout_add(popup);
+       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons1");
+       elm_object_part_text_set(layout, "elm.text.title", "Help");
+
+       char *txt = strdup(buf);
+       elm_object_text_set(layout, txt);
+       elm_object_content_set(popup, layout);
+
+       FREE(txt);
+
+       evas_object_show(popup);
+       back_button_cb_push(&back_key_popup_cb, data, NULL, g_noti_indicator_genlist, "g_noti_indicator_genlist");
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _hw_back_key_cb, NULL);
 
-       return EINA_TRUE;
 }
 
-void _show_date_and_time_list(void *data)
+static void _clock_gl_clock_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info)
 {
+       int value = 0;
+       Elm_Object_Item *it = (Elm_Object_Item *)event_info;
        appdata *ad = data;
+
        if (ad == NULL) {
-               DBG("%s", "_create_dt_list - appdata is null");
+               DBG("%s", "_touch_sound_cb - appdata or check is null");
                return;
        }
-       Evas_Object *genlist  = NULL;
-       Evas_Object *layout = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       struct _dt_menu_item *menu_its = NULL;
-       int idx = 0;
-       int auto_sync = 0;
+       vconf_get_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, &value);
+       value = value ? 0 : 1;
+       vconf_set_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, value);
 
-       ICU_set_timezone(get_timezone_str());
 
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &auto_sync);
+       if (g_noti_check != NULL)
+               elm_check_state_set(g_noti_check, (value) ? EINA_TRUE : EINA_FALSE);
 
-       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "2text.1icon.1";
-       itc->func.text_get = _gl_date_and_time_title_get;
-       itc->func.content_get = _gl_dt_auto_sync_check_get;
-       itc->func.del = _dt_gl_del;
+       elm_genlist_item_selected_set(it, EINA_FALSE);
 
-       layout = elm_layout_add(ad->nf);
+}
+
+static void _clock_gl_clock_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       DBG("_clock_gl_clock_noti_indicator_help_cb is called!!!!!!!");
+       _noti_indicator_help_popup_cb(data, obj, event_info);
+}
+
+static void _clock_noti_indicator_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       Evas_Object *check = obj;
+       int nofi_indicator = 0;
+       nofi_indicator = !elm_check_state_get(check);
+       vconf_set_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, nofi_indicator);
+       ERR("Setting VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR : %d", nofi_indicator);
+}
+
+static Evas_Object *_gl_clock_noti_indicator_check_get(void *data, Evas_Object *obj, const char *part)
+{
+       Evas_Object *check = NULL;
+       Item_Data *id = (Item_Data *)data;
+
+
+       if (!strcmp(part, "elm.icon") && id->index == 0) {
+               int noti_indicator = 0;
+               check = elm_check_add(obj);
+
+               vconf_get_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR , &noti_indicator);
+               elm_object_style_set(check, "on&off");
+               ERR("notification_indicator : %d", noti_indicator);
+
+               elm_check_state_set(check, (noti_indicator) ? EINA_TRUE : EINA_FALSE);
+               evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_UP, _clock_noti_indicator_check_cb, (void *)check);
+               evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_propagate_events_set(check, EINA_FALSE);
+
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, check);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, check);
+               elm_atspi_accessible_relationship_append(check, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
+               g_noti_check = check;
+
+       }
+
+       return check;
+}
+
+
+static char *_gl_noti_title_get(void *data, Evas_Object *obj, const char *part)
+{
+       char buf[1024] = {0,};
+       Clock_Item_Data *id = data;
+       int index = id->index;
+
+       if (!strcmp(part, "elm.text")) {
+               snprintf(buf, sizeof(buf) - 1, "%s", _(noti_menu_its[index].name));
+       }
+       return strdup(buf);
+}
+
+static void _noti_indicator_gl_del(void *data, Evas_Object *obj)
+{
+       Item_Data *id = data;
+       FREE(id);
+
+       Elm_Object_Item *first = elm_genlist_first_item_get(g_noti_indicator_genlist);
+       elm_object_item_signal_emit(first, "elm,action,title,slide,start", "elm");
+}
+
+static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+       Elm_Object_Item *first = elm_genlist_first_item_get(g_noti_indicator_genlist);
+       if (first == item)
+               elm_object_item_signal_emit(first, "elm,action,title,slide,start", "elm");
+
+}
+
+static void _show_noti_indicator_list(void *data)
+{
+       appdata *ad = data;
+       if (ad == NULL) {
+               DBG("%s", "_show_font_list - appdata is null");
+               return;
+       }
+
+       Evas_Object *genlist  = NULL;
+       Elm_Object_Item *nf_it = NULL;
+       int idx;
+
+       temp_ad = ad;
+       Elm_Genlist_Item_Class *itc[2];
+       itc[0] = elm_genlist_item_class_new();
+       itc[0]->item_style = "1text.1icon.1";
+       itc[0]->func.text_get = _gl_noti_title_get;
+       itc[0]->func.content_get = _gl_clock_noti_indicator_check_get;
+       itc[0]->func.del = _noti_indicator_gl_del;
+
+       itc[1] = elm_genlist_item_class_new();
+       itc[1]->item_style = "1text";
+       itc[1]->func.text_get = _gl_noti_title_get;
+       itc[1]->func.del = _noti_indicator_gl_del;
+
+
+       Evas_Object *layout = elm_layout_add(ad->nf);
        elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
        evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 
@@ -1317,280 +2182,433 @@ void _show_date_and_time_list(void *data)
        elm_genlist_block_count_set(genlist, 14);
        elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
        evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
        connect_to_wheel_with_genlist(genlist, ad);
-       menu_its = dt_menu_its;
 
-       for (idx = 0; idx < CLOCK_DATE_AND_TIME_COUNT; idx++) {
-               DT_Item_Data *id = calloc(sizeof(DT_Item_Data), 1);
+       evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
+
+       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+       title_item->func.text_get = _gl_menu_title_text_get;
+       title_item->item_style = "title";
+       title_item->func.del = NULL;
+
+       elm_genlist_item_append(genlist, title_item, (void *)CLOCK_TITLE_NOTIFICATION_INDICATOR, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+       elm_genlist_item_class_free(title_item);
+
+       for (idx = 0; idx < 2; idx++) {
+               Item_Data *id = calloc(sizeof(Item_Data), 1);
                if (id) {
                        id->index = idx;
-                       id->item = elm_genlist_item_append(
-                                                  genlist,                     /* genlist object */
-                                                  itc,                         /* item class */
-                                                  id,                                  /* data */
-                                                  NULL,
-                                                  ELM_GENLIST_ITEM_NONE,
-                                                  menu_its[idx].func,  /* call back */
-                                                  ad);
+                       id->item = elm_genlist_item_append(genlist, itc[idx], id, NULL,
+                                                                                          ELM_GENLIST_ITEM_NONE, noti_menu_its[idx].func, ad);
 
-                       switch (idx) {
-                       case 0:
-                               auto_sync_item = id->item;
-                               break;
-                       case 1:
-                               date_item = id->item;
-                               break;
-                       case 2:
-                               time_item = id->item;
-                               break;
-                       }
                }
        }
-       elm_genlist_item_class_free(itc);
-
-       g_date_time_genlist = genlist;
 
        elm_object_part_content_set(layout, "elm.genlist", genlist);
 
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
-       elm_naviframe_item_pop_cb_set(nf_it, _clear_datetime_changed_cb, ad);
+       elm_genlist_item_class_free(itc[0]);
+       elm_genlist_item_class_free(itc[1]);
+
+       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+       padding->item_style = "padding";
+       padding->func.del = _noti_indicator_gl_del;
+       g_noti_indicator_genlist = genlist;
+       Elm_Object_Item *padding_item;
+       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+       elm_genlist_item_class_free(padding);
+
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
+       back_button_cb_push(&back_key_generic_cb, data, NULL, g_clock_genlist, "g_clock_genlist");
        elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
 
-       /* time format changing cb */
-       register_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, change_datetime_format_cb, NULL);
-       register_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, change_datetime_format_cb, NULL);
-       register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, change_datetime_format_cb, NULL);
 }
 
-static void _set_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+#ifdef FEATURE_SETTING_EMUL
+static void _clock_gl_watch_always_on_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       if (!data || !obj) return;
-
-       appdata *ad = data;
-       struct tm currtime;
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       DBG("_display_gl_watch_always_on_cb is called!!!!!!!");
+}
+#endif
 
-       elm_datetime_value_get(ad->datetime, &currtime);
 
-       currtime.tm_isdst = -1;
-       currtime.tm_sec = 0;
+static Evas_Object *_gl_clock_watch_always_check_get(void *data, Evas_Object *obj, const char *part)
+{
+       Evas_Object *check = NULL;
 
-       time_t t = mktime(&currtime);
+       Clock_Item_Data *id = data;
+       int index = id->index;
 
-       int ret = alarmmgr_set_systime(t);
-       DBG("ret = %d", ret);
+       if (!strcmp(part, "elm.icon")) {
+               check = elm_check_add(obj);
 
-       elm_naviframe_item_pop(ad->nf);
+               int timeout = -1;
+               vconf_get_int(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, &timeout);
+               if (timeout)
+                       vconf_set_int(VCONFKEY_SETAPPL_LCD_TIMEOUT_BACKUP_FOR_WATCH_ALWAYS_ON, timeout);
 
-       /* automatic freed!! */
-       Toast_Data *toast = _create_toast(ad, _("IDS_ST_TPOP_CHANGING_TIME_AND_DATE_SETTINGS_MAY_AFFECT_SOME_FUNCTIONS"));
-       if (toast) {
-               _show_toast(ad, toast);
-       }
+               elm_check_state_set(check, (timeout == 0) ? EINA_TRUE : EINA_FALSE);
 
-       if (g_date_time_genlist) {
-               elm_genlist_realized_items_update(g_date_time_genlist);
-       }
-}
+               elm_object_style_set(check, "on&off");
+               /*              evas_object_smart_callback_add(check, "changed", _clock_watch_always_check_cb, (void *)check); */
+               evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_DOWN, _clock_watch_always_check_cb, (void *)check);
+               evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_propagate_events_set(check, EINA_TRUE);
 
-static void _cancle_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = data;
+               id->check = check;
 
-       if (!ad)
-               return;
+               index++;
 
-       elm_naviframe_item_pop(ad->nf);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, check);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, check);
+               elm_atspi_accessible_relationship_append(check, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
 
-       if (ad->dt_genlist_item_of_time != NULL) {
-               elm_genlist_item_update(ad->dt_genlist_item_of_time);
        }
 
-       if (ad->dt_genlist_item_of_date != NULL) {
-               elm_genlist_item_update(ad->dt_genlist_item_of_date);
-       }
+       return check;
 }
 
-static void _datetime_auto_sync_cb(void *data, Evas_Object *obj, void *event_info)
+static void _set_watch_always_on_cancel_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       int val = 0;
+       appdata *ad = temp_ad;
+       Evas_Object *check = (Evas_Object *)data;
 
-       int is_auto_sync = 0;
+       vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, val);
 
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
+       elm_check_state_set(check,      EINA_FALSE);
+
+       if (ad && ad->popup) {
+               evas_object_del(ad->popup);
+               ad->popup = NULL;
+       }
+       back_button_cb_pop();
 
-       is_auto_sync = !is_auto_sync;
+}
 
-       vconf_set_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, is_auto_sync);
+static void _set_watch_always_on_ok_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       int val = 1;
+       appdata *ad = temp_ad;
+       Evas_Object *check = (Evas_Object *)data;
 
-       DBG("Setting - Auto sync : %s", is_auto_sync ? "TRUE" : "FALSE");
+       vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, val);
+       elm_check_state_set(check,      EINA_TRUE);
 
-       if (auto_sync_check) {
-               elm_check_state_set(auto_sync_check, (is_auto_sync) ? EINA_TRUE : EINA_FALSE);
+       if (ad && ad->popup) {
+               evas_object_del(ad->popup);
+               ad->popup = NULL;
        }
+       back_button_cb_pop();
 
-       if (date_item) {
-               elm_genlist_item_update(date_item);
-               /*elm_object_item_disabled_set(date_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
-       }
-       if (time_item) {
-               elm_genlist_item_update(time_item);
-               /*elm_object_item_disabled_set(time_item, (is_auto_sync) ? EINA_TRUE : EINA_FALSE ); */
+}
+
+void back_key_watch_always_popup_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       appdata *ad = (appdata *)temp_ad;
+       if (ad && ad->popup) {
+               evas_object_del(ad->popup);
+               ad->popup = NULL;
        }
+       back_button_cb_pop();
 }
 
-static void _datetime_date_cb(void *data, Evas_Object *obj, void *event_info)
+static void _clock_watch_always_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       appdata *ad = temp_ad;
+       Evas_Object *check = (Evas_Object *)data;
+       int ambient_mode = 0;
 
-       int is_auto_sync = 0;
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
-       if (is_auto_sync) {
+       if (ad == NULL) {
+               DBG("%s", "_clock_watch_always_check_cb - appdata or check is null");
                return;
        }
 
-       Evas_Object *scroller;
-       Evas_Object *layout, *btn;
-       Evas_Object *datetime;
-       Elm_Object_Item *it;
-       char *dt_fmt;
-       appdata *ad = (appdata *)data;
+       DBG("_clock_watch_always_check_cb is called!!!!!!!");
 
-       if (!ad || !obj)
-               return;
+       vconf_get_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, &ambient_mode);
+       DBG("ambient_mode:%d ", ambient_mode);
 
-       ad->dt_genlist_item_of_date = (Elm_Object_Item *)event_info;
+       if (!ambient_mode) {
 
-       scroller = _create_scroller(ad->nf);
-       evas_object_data_set(scroller, "appdata", ad);
+               Evas_Object *popup = NULL;
+               Evas_Object *btn1 = NULL;
+               Evas_Object *btn2 = NULL;
+               Evas_Object *icon;
 
-       layout = elm_layout_add(scroller);
-       elm_layout_file_set(layout, EDJE_PATH, "setting-test/datetime");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               popup = elm_popup_add(ad->nf);
+               elm_object_style_set(popup, "circle");
+               evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_win_resize_object_add(ad->nf, popup);
 
-       datetime = elm_datetime_add(layout);
-       elm_object_style_set(datetime, "datepicker_layout");
-       elm_object_part_content_set(layout, "content", datetime);
+               ad->popup = popup;
 
-       ad->datetime = datetime;
+               char buf[1024];
 
-#ifndef DESKTOP
-       dt_fmt = _date_format_get();
-       elm_datetime_format_set(datetime, dt_fmt);
-       FREE(dt_fmt);
-       register_vconf_changing(VCONFKEY_SETAPPL_DATE_FORMAT_INT, _vconf_date_format_changed_cb, datetime);
-       register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_date_format_changed_cb, datetime);
-#endif
+               char *font_size_frame = "<text_class=tizen><align=center>%s</align></text_class>";
+               snprintf(buf, sizeof(buf) - 1, font_size_frame, _("WDS_CLOCK_TPOP_ENABLING_WATCH_ALWAYS_ON_WILL_SIGNIFICANTLY_INCREASE_BATTERY_CONSUMPTION"));
 
-       btn = elm_button_add(layout);
-       elm_object_text_set(btn, _("IDS_ST_BUTTON_CANCEL_ABB2"));
-       evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(layout, "btn1", btn);
-       evas_object_smart_callback_add(btn, "clicked", _cancle_clicked_cb, ad);
+               Evas_Object *layout;
+               layout = elm_layout_add(popup);
+               elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
 
-       btn = elm_button_add(layout);
-       elm_object_text_set(btn, _("IDS_COM_SK_SET_ABB"));
-       evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(layout, "btn2", btn);
-       evas_object_smart_callback_add(btn, "clicked", _set_clicked_cb, ad);
+               char *txt = strdup(buf);
+               elm_object_text_set(layout, txt);
+               elm_object_content_set(popup, layout);
 
-       elm_object_content_set(scroller, layout);
+               FREE(txt);
 
-       it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, scroller, NULL);
-       elm_naviframe_item_pop_cb_set(it, _clear_date_changed_cb, ad);
-       elm_naviframe_item_title_enabled_set(it, EINA_FALSE, EINA_FALSE);
-}
+               btn1 = elm_button_add(popup);
+               elm_object_style_set(btn1, "popup/circle/left");
+               evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_object_part_content_set(popup, "button1", btn1);
+               evas_object_smart_callback_add(btn1, "clicked", _set_watch_always_on_cancel_cb, check);
 
-static void _datetime_time_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+               icon = elm_image_add(btn1);
+               elm_image_file_set(icon, IMG_DIR"tw_ic_popup_btn_delete.png", NULL);
+               evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_object_part_content_set(btn1, "elm.swallow.content", icon);
+               evas_object_show(icon);
 
-       int is_auto_sync = 0;
-       vconf_get_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &is_auto_sync);
-       if (is_auto_sync) {
-               return;
+               btn2 = elm_button_add(popup);
+               elm_object_style_set(btn2, "popup/circle/right");
+               evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_object_part_content_set(popup, "button2", btn2);
+               evas_object_smart_callback_add(btn2, "clicked", _set_watch_always_on_ok_clicked_cb, check);
+
+               icon = elm_image_add(btn2);
+               elm_image_file_set(icon, IMG_DIR"tw_ic_popup_btn_check.png", NULL);
+               evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_object_part_content_set(btn2, "elm.swallow.content", icon);
+               evas_object_show(icon);
+
+               evas_object_show(popup);
+               back_button_cb_push(&back_key_watch_always_popup_cb, check, NULL, g_clock_genlist, "g_clock_genlist");
+               eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _hw_back_key_cb, NULL);
+
+       } else {
+               /* disable watch always off with out popup */
+
+               DBG("Cancel watch always on!", ambient_mode);
+               vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, !ambient_mode);
+
+               /*              elm_check_state_set(check,      EINA_FALSE); */
        }
 
-       Evas_Object *scroller;
-       Evas_Object *layout, *btn;
-       Evas_Object *datetime;
-       Elm_Object_Item *it;
-       char *dt_fmt;
-       appdata *ad = (appdata *)data;
+}
+//
+//static char *get_timezone_str()
+//{
+//     char buf[1024];
+//     ssize_t len = readlink(TZ_SYS_ETC_D"/localtime", buf, sizeof(buf) - 1);
+//
+//     if (len != -1) {
+//             buf[len] = '\0';
+//     } else {
+//             /* handle error condition */
+//     }
+//     return strdup(buf + 20);
+//}
+
+//static i18n_uchar *uastrcpy(const char *chars)
+//{
+//     int len = 0;
+//     i18n_uchar *str = NULL;
+//
+//     if (!chars) return NULL;
+//
+//     len = strlen(chars);
+//     str = (i18n_uchar *) malloc(sizeof(i18n_uchar) * (len + 1));
+//     if (!str)
+//             return NULL;
+//     i18n_ustring_copy_ua(str, chars);
+//     return str;
+//}
+
+//static void ICU_set_timezone(const char *timezone)
+//{
+//     DBG("ICU_set_timezone = %s ", timezone);
+//     i18n_uchar *str = uastrcpy(timezone);
+//
+//     i18n_ucalendar_set_default_timezone(str);
+//     FREE(str);
+//}
+
+static char *_gl_font_title_get(void *data, Evas_Object *obj, const char *part)
+{
+       char buf[1024] = {0};
+       char *text_color = "<font color=#4DCFFFC9>%s</font>";
+       Item_Data *id = data;
+
+       if (!strcmp(part, "elm.text")) {
+               snprintf(buf, sizeof(buf) - 1, "%s", _(font_menu_its[id->index].name));
+       } else if (!strcmp(part, "elm.text.1")) {
+               if (id->index == SETTING_CLOCK_FONT_STYLE) {
+                       char *font_name = NULL;
+                       if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_name)
+                               != SYSTEM_SETTINGS_ERROR_NONE) {
+                               ERR("failed to call system_setting_get_value_string with err");
+                       }
 
-       if (!ad || !obj)
-               return;
+                       if (font_name) {
 
-       ad->dt_genlist_item_of_time = (Elm_Object_Item *)event_info;
+                               DBG(" font_name <---------------------- (%s) ", font_name);
 
-       scroller = _create_scroller(ad->nf);
-       evas_object_data_set(scroller, "appdata", ad);
+                               if (strstr(font_name, "Samsung")) {
+                                       snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_DEFAULT_FONT"));
+                               } else {
+                                       if (!strcmp(font_name, "Choco cooky")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_LCKSCN_BODY_CHOCO_COOKY_M_FONT"));
+                                       } else if (!strcmp(font_name, "Cool jazz")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_COOL_JAZZ"));
+                                       } else if (!strcmp(font_name, "Rosemary")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_FONTSTYLE_ROSEMARY"));
+                                       } else if (!strcmp(font_name, "Tinkerbell")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_MBODY_TINKERBELL"));
+                                       } else if (!strcmp(font_name, "Applemint")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_RH_BUTTON2_APPLEMINT_M_FONT"));
+                                       } else if (!strcmp(font_name, "Kaiti")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_KAITI_M_FONT"));
+                                       } else if (!strcmp(font_name, "POP")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_POP_JPN_DCM"));
+                                       } else if (!strcmp(font_name, "UDMincho")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UDMINCHO_JPN"));
+                                       } else if (!strcmp(font_name, "UDRGothic")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UDRGOTHICM_JPN"));
+                                       } else if (!strcmp(font_name, "TizenSans")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("TizenSans"));
+                                       } else if (!strcmp(font_name, "BreezeSans")) {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_COM_BODY_DEFAULT"));
+                                       } else {
+                                               snprintf(buf, sizeof(buf) - 1, text_color, font_name);
+                                       }
+                               }
+                       } else {
+                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UNKNOWN"));
+                       }
+               } else if (id->index == SETTING_CLOCK_FONT_SIZE) {
+                       int font_size = -1;
+                       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &font_size)
+                               != SYSTEM_SETTINGS_ERROR_NONE) {
+                               DBG("Setting - system_settings_get_value_int() is failed.");
+                       }
 
-       layout = elm_layout_add(scroller);
-       elm_layout_file_set(layout, EDJE_PATH, "setting-test/datetime");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+                       if (font_size < 0 || font_size > 2) {
+                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UNKNOWN"));
+                       } else {
+                               snprintf(buf, sizeof(buf) - 1, text_color, _(font_size_str[font_size]));
+                       }
+               }
+       }
 
-       datetime = elm_datetime_add(layout);
-       elm_object_style_set(datetime, "timepicker_layout");
-       elm_object_part_content_set(layout, "content", datetime);
+       return strdup(buf);
+}
 
-       ad->datetime = datetime;
+static char *_gl_font_style_title_get(void *data, Evas_Object *obj, const char *part)
+{
+       char buf[1024];
+       Font_Style_Item_Data *id = data;
 
-#ifndef DESKTOP
-       dt_fmt = _time_format_get();
-       elm_datetime_format_set(datetime, dt_fmt);
-       DBG("datetime time format : %s", dt_fmt);
-       FREE(dt_fmt);
-       register_vconf_changing(VCONFKEY_REGIONFORMAT_TIME1224, _vconf_time_format_changed_cb, datetime);
-       register_vconf_changing(VCONFKEY_SYSTEM_TIME_CHANGED, _vconf_time_format_changed_cb, datetime);
-#endif
+       char *pos = id->font_name;
+       char new_name[256];
+       int i = 0;
+       int count = 0;
+       while (pos && *pos != '\0') {
+               if (*pos == ' ') {
+                       new_name[count] = '\\';
+                       count++;
+                       new_name[count] = ' ';
+               } else {
+                       new_name[count] = id->font_name[i];
+               }
+
+               count++;
+               pos++;
+               i++;
+       }
+       new_name[count] = '\0';
+
+       if (!strcmp(part, "elm.text")) {
+               if (id->index == 0)
+                       snprintf(buf, sizeof(buf) - 1, "<font=%s>%s</font>", new_name, SETTINGS_DEFAULT_FONT_NAME);
+               else
+                       snprintf(buf, sizeof(buf) - 1, "<font=%s>%s</font>", new_name, id->font_name);
+       }
+
+       DBG("font  = %s", buf);
+       return strdup(buf);
+}
+
+static Evas_Object *_gl_font_style_ridio_get(void *data, Evas_Object *obj, const char *part)
+{
+       Evas_Object *radio = NULL;
+       Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
+       Font_Style_Item_Data *id = data;
 
-       btn = elm_button_add(layout);
-       elm_object_text_set(btn, _("IDS_ST_BUTTON_CANCEL_ABB2"));
-       evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(layout, "btn1", btn);
-       evas_object_smart_callback_add(btn, "clicked", _cancle_clicked_cb, ad);
+       if (!strcmp(part, "elm.icon")) {
+               radio = elm_radio_add(obj);
+               elm_radio_state_value_set(radio, id->index);
+               evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_radio_group_add(radio, radio_main);
 
-       btn = elm_button_add(layout);
-       elm_object_text_set(btn, _("IDS_COM_SK_SET_ABB"));
-       evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(layout, "btn2", btn);
-       evas_object_smart_callback_add(btn, "clicked", _set_clicked_cb, ad);
+               evas_object_smart_callback_add(radio, "changed", _font_style_gl_cb, (void *)id);
+               evas_object_propagate_events_set(radio, EINA_FALSE);
 
-       elm_object_content_set(scroller, layout);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, radio);
+               elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
+       }
 
-       it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, scroller, NULL);
-       elm_naviframe_item_pop_cb_set(it, _clear_time_changed_cb, ad);
-       elm_naviframe_item_title_enabled_set(it, EINA_FALSE, EINA_FALSE);
+       return radio;
 }
 
-static void _alert_gl_del(void *data, Evas_Object *obj)
+static void _font_style_gl_del(void *data, Evas_Object *obj)
 {
-       Alert_Item_Data *id = data;
-       FREE(id);
+       Font_Style_Item_Data *id = data;
+       if (id) {
+               FREE(id->font_name);
+               FREE(id);
+       }
 }
 
-char *_gl_alert_title_get(void *data, Evas_Object *obj, const char *part)
+static char *_gl_font_size_title_get(void *data, Evas_Object *obj, const char *part)
 {
+       int old_font_size = -1;
+       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
+               != SYSTEM_SETTINGS_ERROR_NONE) {
+               DBG("Setting - system_settings_get_value_int() is failed.");
+       }
        char buf[1024] = {0,};
-       Alert_Item_Data *id = data;
-       int index = id->index;
-
-       char *temps[] = { "IDS_ST_BODY_ON_M_STATUS", "IDS_ST_BODY_OFF_M_STATUS" };
+       Item_Data *id = data;
 
        if (!strcmp(part, "elm.text")) {
-               snprintf(buf, sizeof(buf) - 1, "%s", _(temps[index]));
-               index++;
+               if (id->index == 0) {
+                       snprintf(buf, sizeof(buf) - 1, "<font_size=30>%s</font_size>", _(font_size_str[id->index]));
+               } else if (id->index == 1) {
+                       snprintf(buf, sizeof(buf) - 1, "<font_size=38>%s</font_size>", _(font_size_str[id->index]));
+               } else {
+                       snprintf(buf, sizeof(buf) - 1, "<font_size=46>%s</font_size>", _(font_size_str[id->index]));
+               }
        }
        return strdup(buf);
 }
 
-Evas_Object *_gl_alert_ridio_get(void *data, Evas_Object *obj, const char *part)
+static Evas_Object *_gl_font_size_ridio_get(void *data, Evas_Object *obj, const char *part)
 {
        Evas_Object *radio = NULL;
        Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-       Alert_Item_Data *id = data;
-       int index = id->index;
+       Item_Data *id = data;
+
+       int old_font_size = -1;
+       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
+               != SYSTEM_SETTINGS_ERROR_NONE) {
+               DBG("Setting - system_settings_get_value_int() is failed.");
+       }
 
        if (!strcmp(part, "elm.icon")) {
                radio = elm_radio_add(obj);
@@ -1598,61 +2616,157 @@ Evas_Object *_gl_alert_ridio_get(void *data, Evas_Object *obj, const char *part)
                evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
                evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                elm_radio_group_add(radio, radio_main);
+               evas_object_smart_callback_add(radio, "changed", _font_size_gl_cb, (void *)(uintptr_t)id->index);
+               evas_object_propagate_events_set(radio, EINA_FALSE);
+
+               if (old_font_size == id->index) {
+                       elm_radio_value_set(radio_main, old_font_size);
+               }
+
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
+               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, radio);
+               elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
+       }
+       return radio;
+}
+
+static void _font_size_gl_del(void *data, Evas_Object *obj)
+{
+       Item_Data *id = data;
+       FREE(id);
+}
 
 #if 0
-               vconf_get_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, &is_alert_mode_type);
+static void _font_style_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       appdata *ad = data;
+       if (ad == NULL) {
+               ERR("appdata is null");
+               return;
+       }
 
-               is_alert_mode_type = !is_alert_mode_type;
+       elm_naviframe_item_pop(ad->nf);
+       if (!ad->font_style_rdg) {
+               evas_object_del(ad->font_style_rdg);
+               ad->font_style_rdg = NULL;
+       }
 
-               if (is_alert_mode_type == id->index) {
-                       elm_radio_value_set(radio_main, is_alert_mode_type);
-               }
+       FREE(font_name);
+}
+
+static void _font_style_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       appdata *ad = data;
+       if (ad == NULL) {
+               ERR("appdata is null");
+               return;
+       }
+
+       elm_naviframe_item_pop(ad->nf);
+
+       if (!ad->font_style_rdg) {
+               evas_object_del(ad->font_style_rdg);
+               ad->font_style_rdg = NULL;
+       }
+
+       if (font_timer) {
+               ecore_timer_del(font_timer);
+               font_timer = NULL;
+       }
+       font_timer = ecore_timer_add(0.3, (Ecore_Task_Cb) _update_font_style, NULL);
+}
 #endif
-               index++;
+
+static void _font_style_gl_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       Font_Style_Item_Data *id = (Font_Style_Item_Data *)data;
+
+       /*elm_radio_value_set(temp_ad->font_style_rdg, id->index); */
+
+
+       if (id->font_name) {
+               FREE(font_name);
+               font_name = strdup(id->font_name);
        }
-       return radio;
+
+       /*elm_genlist_realized_items_update(g_font_style_genlist); */
+
+       if (font_style_item) {
+               elm_genlist_item_update(font_style_item);
+       }
+
+       if (!temp_ad->font_style_rdg) {
+               evas_object_del(temp_ad->font_style_rdg);
+               temp_ad->font_style_rdg = NULL;
+       }
+
+       if (font_name) {
+               system_settings_set_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, font_name);
+               FREE(font_name);
+       } else {
+               ERR("font_name is null");
+       }
+
+       g_font_style_genlist = NULL;
+       back_key_generic_cb(temp_ad, obj, event_info);
 }
 
-static void _hourly_gl_cb(void *data, Evas_Object *obj, void *event_info)
+static void _font_size_gl_cb(void *data, Evas_Object *obj, void *event_info)
 {
+       int old_font_size = 0;
+
        elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
 
-       is_alert_mode_type = (uintptr_t)data;
+       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
+               != SYSTEM_SETTINGS_ERROR_NONE) {
+               DBG("Setting - system_settings_get_value_int() is failed.");
+               return;
+       }
+       DBG("Setting - old font size is %d.", old_font_size);
+
+       font_size_index = (uintptr_t)data;
+
+       DBG("Setting - Curr font size is %d.", font_size_index);
+
+       /*elm_genlist_realized_items_update(g_font_size_genlist); */
 
-       elm_naviframe_item_pop(temp_ad->nf);
-       if (!temp_ad->alert_rdg) {
-               evas_object_del(temp_ad->alert_rdg);
-               temp_ad->alert_rdg = NULL;
+
+       if (!temp_ad->font_size_rdg) {
+               evas_object_del(temp_ad->font_size_rdg);
+               temp_ad->font_size_rdg = NULL;
        }
 
-#if 0
-       clock_menu_its[2].type_num = is_alert_mode_type;
-       vconf_set_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, !is_alert_mode_type);
-#endif
-       if (g_clock_genlist) {
-               elm_genlist_realized_items_update(g_clock_genlist);
+       if (old_font_size != font_size_index) {
+               DBG("Setting - font size is same with old.");
+               system_settings_set_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, font_size_index);
+
+               if (font_size_item) {
+                       elm_genlist_item_update(font_size_item);
+               }
        }
 
-       temp_ad = NULL;
+       back_key_generic_cb(temp_ad, obj, event_info);
 }
 
-void _show_hourly_alert_list(void *data)
+void _show_font_list(void *data)
 {
        appdata *ad = data;
        if (ad == NULL) {
-               DBG("%s", "_create_alert_list - appdata is null");
+               DBG("%s", "_show_font_list - appdata is null");
                return;
        }
+
        Evas_Object *genlist  = NULL;
        Elm_Object_Item *nf_it = NULL;
+       int idx;
 
        temp_ad = ad;
 
        Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "1text.1icon.1";
-       itc->func.text_get = _gl_alert_title_get;
-       itc->func.content_get = _gl_alert_ridio_get;
-       itc->func.del = _alert_gl_del;
+       itc->item_style = "2text";
+       itc->func.text_get = _gl_font_title_get;
+       itc->func.del = _font_size_gl_del;
 
        Evas_Object *layout = elm_layout_add(ad->nf);
        elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
@@ -1664,153 +2778,606 @@ void _show_hourly_alert_list(void *data)
        evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        connect_to_wheel_with_genlist(genlist, ad);
 
-       Alert_Item_Data *id = calloc(sizeof(Alert_Item_Data), 1);
-       if (id) {
-               id->index = 0;
-               id->item = elm_genlist_item_append(genlist,     itc, id, NULL, ELM_GENLIST_ITEM_NONE, _hourly_gl_cb, (void *)0);
-       }
+       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+       title_item->func.text_get = _gl_menu_title_text_get;
+       title_item->item_style = "title";
+       title_item->func.del = NULL;
 
-       Alert_Item_Data *id2 = calloc(sizeof(Alert_Item_Data), 1);
-       if (id2) {
-               id2->index = 1;
-               id2->item = elm_genlist_item_append(genlist, itc, id2, NULL, ELM_GENLIST_ITEM_NONE, _hourly_gl_cb, (void *)1);
-       }
+       elm_genlist_item_append(genlist, title_item, (void *)CLOCK_TITLE_FONT, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
 
-       ad->alert_rdg = elm_radio_add(genlist);
-       elm_radio_state_value_set(ad->alert_rdg, 3);
-       elm_radio_value_set(ad->alert_rdg, is_alert_mode_type);
+       elm_genlist_item_class_free(title_item);
 
-       evas_object_data_set(genlist, "radio_main", ad->alert_rdg);
+       for (idx = 0; idx < 2; idx++) {
+               Item_Data *id = calloc(sizeof(Item_Data), 1);
+               if (id) {
+                       id->index = idx;
+                       id->item = elm_genlist_item_append(genlist, itc, id, NULL,
+                                                                                          ELM_GENLIST_ITEM_NONE, font_menu_its[idx].func, ad);
 
-       elm_genlist_item_class_free(itc);
+                       if (idx == 0) {
+                               font_style_item = id->item;
+                       }
+                       if (idx == 1) {
+                               font_size_item  = id->item;
+                       }
+               }
+       }
 
        elm_object_part_content_set(layout, "elm.genlist", genlist);
 
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
+       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+       padding->item_style = "padding";
+       padding->func.del = _font_size_gl_del;
+
+       Elm_Object_Item *padding_item;
+       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+       elm_genlist_item_class_free(padding);
+
+       elm_genlist_item_class_free(itc);
+       g_font_genlist = genlist;
+
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
+       back_button_cb_push(&back_key_generic_cb, data, NULL, g_clock_genlist, "g_clock_genlist");
+#if !defined(FEATURE_SETTING_TELEPHONY)
        elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+#endif
+       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
+       evas_object_event_callback_add(nf_it, EVAS_CALLBACK_DEL, setting_font_list_pop_cb, ad);
+
+       if (system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_TYPE, settings_font_style_changed_cb, ad) != 0) {
+               ERR("system_settings_set_changed_cb failed!!");
+       }
 }
 
+static char *_get_default_font_name()
+{
+       char *default_font_name = SETTINGS_FIXED_DEFAULT_FONT_NAME;
+       /* Default font means current font type !! */
+       /* That's reason why I fixed default font */
+       /* system_settings_get_value_string(SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE, &default_font_name);*/
+       return default_font_name;
+}
 
-void _clocklist_load()
+static Eina_List *_get_available_font_list()
 {
-       if (g_clock_list[0] || g_clock_list[1] || g_clock_list[2]) {
-               _clocklist_destroy();
+       FcObjectSet *os = NULL;
+       FcFontSet *fs = NULL;
+       FcPattern *pat = NULL;
+       Eina_List *list = NULL;
+       FcConfig *font_config = NULL;
+
+       font_config = FcInitLoadConfigAndFonts();
+
+       if (font_config == NULL) {
+               ERR("Failed: FcInitLoadConfigAndFonts");
+               return NULL;
        }
 
-       pkgmgrinfo_appinfo_filter_h handle = NULL;
+       char *locale = setlocale(0, NULL);
 
-       if (pkgmgrinfo_appinfo_filter_create(&handle) != PMINFO_R_OK) {
-               ERR("pkgmgrinfo_appinfo_filter_create error");
-               return;
+       pat = FcPatternCreate();
+
+       os = FcObjectSetBuild(FC_FAMILY, FC_FILE, FC_FAMILYLANG, (char *) 0);
+
+       if (os) {
+               fs = FcFontList(font_config, pat, os);
+               FcObjectSetDestroy(os);
+               os = NULL;
        }
 
-       if (pkgmgrinfo_appinfo_filter_add_string(handle, PMINFO_APPINFO_PROP_APP_COMPONENT, WATCH_COMPONENT_NAME)
-               != PMINFO_R_OK) {
-               ERR("pkgmgrinfo_appinfo_filter_add_string error");
-               pkgmgrinfo_appinfo_filter_destroy(handle);
-               return;
+       if (pat) {
+               FcPatternDestroy(pat);
+               pat = NULL;
        }
 
-       if (pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, _category_app_list_cb, NULL)
-               != PMINFO_R_OK) {
-               ERR("pkgmgrinfo_appinfo_filter_foreach_appinfo error");
-               pkgmgrinfo_appinfo_filter_destroy(handle);
-               return;
+       if (fs) {
+               int j;
+               DBG("fs->nfont = %d", fs->nfont);
+
+               for (j = 0; j < fs->nfont; j++) {
+                       FcChar8 *family = NULL;
+                       FcChar8 *file = NULL;
+                       FcChar8 *lang = NULL;
+                       int id = 0;
+
+                       if (FcPatternGetString(fs->fonts[j], FC_FILE, 0, &file) == FcResultMatch) {
+                               int preload_path_len = strlen(SETTING_FONT_PRELOAD_FONT_PATH);
+                               int download_path_len = strlen(SETTING_FONT_DOWNLOADED_FONT_PATH);
+
+                               char *family_result = NULL;
+
+                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, 0, &family) != FcResultMatch) {
+                                       DBG("Family name is invalid");
+                                       continue;
+                               }
+
+                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
+                                       DBG("Family lang is invalid");
+                                       continue;
+                               }
+
+                               if (!strncmp((const char *)file, SETTING_FONT_PRELOAD_FONT_PATH, preload_path_len)) {
+                                       /* Find proper family name for current locale. */
+                                       while (locale && family && lang) {
+                                               /*DBG("locale: %s, family: %s, lang: %s", locale, family, lang); */
+
+                                               if (!strncmp(locale, (char *)lang, strlen((char *)lang))) {
+                                                       family_result = (char *)family;
+                                                       break;
+                                               }
+
+                                               /* I will set english as default family language. */
+                                               /* If there is no proper family language for current locale, */
+                                               /* we have to show the english family name. */
+                                               if (!strcmp((const char *)lang, "en")) {
+                                                       family_result = (char *)family;
+                                               }
+                                               id++;
+                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, id, &family) != FcResultMatch) {
+                                                       break;
+                                               }
+                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
+                                                       break;
+                                               }
+                                       }
+
+                                       if (eina_list_data_find(list, family_result) == NULL) {
+                                               list = eina_list_append(list, strdup(family_result));
+                                               DBG("-------- ADDED FONT - family result = %s", (char *)family_result);
+                                       }
+                               }
+
+                               id = 0;
+                               /* always shown for D/L */
+                               if (!strncmp((const char *)file, SETTING_FONT_DOWNLOADED_FONT_PATH, download_path_len)) {
+                                       /* Find proper family name for current locale. */
+                                       while (locale && family && lang) {
+                                               ERR("locale: %s, family: %s, lang: %s", locale, family, lang);
+
+                                               if (!strncmp(locale, (char *)lang, strlen((char *)lang))) {
+                                                       family_result = (char *)family;
+                                                       break;
+                                               }
+
+                                               /* I will set english as default family language. */
+                                               /* If there is no proper family language for current locale, */
+                                               /* we have to show the english family name. */
+                                               if (!strcmp((const char *)lang, "en")) {
+                                                       family_result = (char *)family;
+                                               }
+                                               id++;
+                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, id, &family) != FcResultMatch) {
+                                                       break;
+                                               }
+                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
+                                                       break;
+                                               }
+                                       }
+
+                                       if (eina_list_data_find(list, family_result) == NULL) {
+                                               list = eina_list_append(list, family_result);
+                                               DBG("-------- ADDED FONT - family result = %s", (char *)family_result);
+                                       }
+                               }
+                       }
+               }
+               FcFontSetDestroy(fs);
+               fs = NULL;
        }
 
-       pkgmgrinfo_appinfo_filter_destroy(handle);
+       FcConfigDestroy(font_config);
+       font_config = NULL;
+       return list;
+}
 
-       Clock_Type_Item *pitem = NULL;
-       Eina_List *list = NULL;
-       int i;
+int _show_font_style_list(void *data)
+{
+       appdata *ad = data;
+       if (ad == NULL) {
+               DBG("%s", "_show_font_style_list - appdata is null");
+               return -1;
+       }
+       Evas_Object *genlist  = NULL;
+       Elm_Object_Item *nf_it = NULL;
+       char *default_font_name = NULL;
+       char *tmp_name = NULL;
+       int idx = 0, matched_idx = 0;
+       int ret = 0;
 
-       for (i = 0; i < 3; i++) {
-               EINA_LIST_FOREACH(g_clock_list[i], list, pitem) {
-                       pitem->index = clock_idx++;
+       temp_ad = ad;
+
+       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+       itc->item_style = "1text.1icon.1";
+       itc->func.text_get = _gl_font_style_title_get;
+       itc->func.content_get = _gl_font_style_ridio_get;
+       itc->func.del = _font_style_gl_del;
+
+       Evas_Object *layout = elm_layout_add(ad->nf);
+       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+       genlist = elm_genlist_add(layout);
+       elm_genlist_block_count_set(genlist, 14);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       connect_to_wheel_with_genlist(genlist, ad);
+
+       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+       title_item->func.text_get = _gl_menu_title_text_get;
+       title_item->item_style = "title";
+       title_item->func.del = NULL;
+
+       elm_genlist_item_append(genlist, title_item, (void *)CLOCK_TITLE_FONT_STYLE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+       elm_genlist_item_class_free(title_item);
+
+       FREE(font_name);
+       ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &tmp_name);
+       if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
+               ERR("failed to call system_setting_get_value_string with err %d", ret);
+               tmp_name = _get_default_font_name();
+               if (tmp_name == NULL) {
+                       ERR("failed to get default font name");
+                       elm_genlist_item_class_free(itc);
+                       return -1;
+               } else {
+                       DBG("get_default_font = %s", tmp_name);
                }
+       } else {
+               DBG("SYSTEM_SETTINGS_KEY_FONT_TYPE = %s", tmp_name);
+       }
+
+       default_font_name = _get_default_font_name();
+
+       if (default_font_name) {
+               ERR("default_font_name is >>>> %s", default_font_name);
+               Font_Style_Item_Data *id_default = calloc(sizeof(Font_Style_Item_Data), 1);
+               if (default_font_name && tmp_name && !strcmp(tmp_name, default_font_name)) {
+                       matched_idx = idx;
+                       font_name = strdup(tmp_name);
+               }
+               if (id_default) {
+                       id_default->index = idx++;
+                       id_default->font_name = strdup(default_font_name);
+                       id_default->item = elm_genlist_item_append(genlist, itc, id_default, NULL, ELM_GENLIST_ITEM_NONE,
+                                                                                                          _font_style_gl_cb, (void *)id_default);
+               }
+       } else {
+               ERR("default_font_name is NULL");
        }
 
+       /* get font list */
+       Eina_List *l = NULL;
+       FcChar8 *font_data = NULL;
+       Eina_List *font_list = NULL;
+       font_list = _get_available_font_list();
+
+       EINA_LIST_FOREACH(font_list, l, font_data) {
+               if (!default_font_name || strcmp((const char *)default_font_name, (const char *)font_data)) {
+                       Font_Style_Item_Data *id = calloc(sizeof(Font_Style_Item_Data), 1);
+                       if (tmp_name && !strcmp((const char *)tmp_name, (const char *)font_data)) {
+                               matched_idx = idx;
+                               font_name = strdup(tmp_name);
+                       }
+
+                       DBG("font_data -------> %s", (const char *)font_data);
+
+                       if (id) {
+                               id->index = idx++;
+                               id->font_name = (char *)strdup((char *)font_data);
+                               id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE,
+                                                                                                  _font_style_gl_cb, (void *)id);
+                       }
+               }
+       }
+
+       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+       padding->item_style = "padding";
+       padding->func.del = _font_style_gl_del;
+
+       Elm_Object_Item *padding_item;
+       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+       elm_genlist_item_class_free(padding);
+
+       evas_font_reinit();
+       ad->font_style_rdg = elm_radio_add(genlist);
+       elm_radio_state_value_set(ad->font_style_rdg, -1);
+       elm_radio_value_set(ad->font_style_rdg, matched_idx);
+
+       evas_object_data_set(genlist, "radio_main", ad->font_style_rdg);
+
+       g_font_style_genlist = genlist;
+
+       elm_object_part_content_set(layout, "elm.genlist", genlist);
+
+       elm_genlist_item_class_free(itc);
+
+       evas_object_smart_callback_add(genlist, "language,changed", _lang_update_font_style_list, ad);
+
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
+#if !defined(FEATURE_SETTING_TELEPHONY)
+       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+#endif
+       back_button_cb_push(&back_key_generic_cb, data, NULL, g_font_genlist, "g_font_genlist");
+       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
+
+       return 0;
 }
 
-void _clocklist_destroy()
+static void _lang_update_font_style_list(void *data, Evas_Object *obj, void *event_info)
 {
-       Clock_Type_Item *pitem = NULL;
-       Eina_List *list = NULL;
-       clock_idx = 0;
-       int i;
+       DBG("_lang_update_font_style_list");
 
-       for (i = 0; i < 3; i++) {
-               EINA_LIST_FOREACH(g_clock_list[i], list, pitem) {
-                       FREE(pitem->appid);
-                       FREE(pitem->pkgid);
-                       FREE(pitem->name);
-                       FREE(pitem->icon);
+       appdata *ad = data;
+       if (ad == NULL) {
+               DBG("%s", "_lang_update_font_style_list - appdata is null");
+               return;
+       }
+
+       if (g_font_style_genlist) {
+               elm_genlist_clear(g_font_style_genlist);
+
+               char *default_font_name = NULL;
+               char *tmp_name = NULL;
+               int idx = 0, matched_idx = 0;
+               int ret = 0;
+
+               Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+               itc->item_style = "1text.1icon.1";
+               itc->func.text_get = _gl_font_style_title_get;
+               itc->func.content_get = _gl_font_style_ridio_get;
+               itc->func.del = _font_style_gl_del;
+
+               FREE(font_name);
+               ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &tmp_name);
+               if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
+                       ERR("failed to call system_setting_get_value_string with err %d", ret);
+                       tmp_name = _get_default_font_name();
+               }
+
+               Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+               title_item->func.text_get = _gl_menu_title_text_get;
+               title_item->item_style = "title";
+               title_item->func.del = NULL;
+
+               elm_genlist_item_append(g_font_style_genlist, title_item, (void *)CLOCK_TITLE_FONT_STYLE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+               elm_genlist_item_class_free(title_item);
+
+               default_font_name = _get_default_font_name();
+
+               Font_Style_Item_Data *id_default = calloc(sizeof(Font_Style_Item_Data), 1);
+               if (default_font_name && tmp_name && !strcmp(tmp_name, default_font_name)) {
+                       matched_idx = idx;
+                       font_name = strdup(tmp_name);
                }
+               if (id_default) {
+                       id_default->index = idx++;
+                       id_default->font_name = (default_font_name != NULL) ? strdup(default_font_name) : NULL;
+                       id_default->item = elm_genlist_item_append(g_font_style_genlist, itc, id_default, NULL, ELM_GENLIST_ITEM_NONE,
+                                                                                                          _font_style_gl_cb, (void *)id_default);
+               }
+
+               Eina_List *font_list = NULL;
+               Eina_List *l = NULL;
+               FcChar8 *font_data = NULL;
+               font_list = _get_available_font_list();
+               EINA_LIST_FOREACH(font_list, l, font_data) {
+                       if (!default_font_name || strcmp((const char *)default_font_name, (const char *)font_data)) {
+                               Font_Style_Item_Data *id = calloc(sizeof(Font_Style_Item_Data), 1);
+                               if (tmp_name && !strcmp((const char *)tmp_name, (const char *)font_data)) {
+                                       matched_idx = idx;
+                                       font_name = strdup(tmp_name);
+                               }
+                               DBG("Font1: %s, Font2: %s", tmp_name, font_data);
+
+                               if (id) {
+                                       id->index = idx++;
+                                       id->font_name = (char *)strdup((char *)font_data);
+                                       id->item = elm_genlist_item_append(g_font_style_genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE,
+                                                                                                          _font_style_gl_cb, (void *)id);
+                               }
+                       }
+               }
+
+               ad->font_style_rdg = evas_object_data_get(g_font_style_genlist, "radio_main");
+               if (ad->font_style_rdg) {
+                       evas_object_del(ad->font_style_rdg);
+                       ad->font_style_rdg = NULL;
+               }
+
+               Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+               padding->item_style = "padding";
+               padding->func.del = _font_style_gl_del;
+
+               Elm_Object_Item *padding_item;
+               padding_item = elm_genlist_item_append(g_font_style_genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+               elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+               elm_genlist_item_class_free(padding);
+
+               evas_font_reinit();
+               ad->font_style_rdg = elm_radio_add(g_font_style_genlist);
+               elm_radio_state_value_set(ad->font_style_rdg, -1);
+
+               evas_object_data_set(g_font_style_genlist, "radio_main", ad->font_style_rdg);
+
+               elm_genlist_realized_items_update(g_font_style_genlist);
+
+               DBG("Matched index: %d", matched_idx);
+
+               elm_radio_value_set(ad->font_style_rdg, matched_idx);
+
+               elm_genlist_item_class_free(itc);
        }
-       g_clock_list[0] = eina_list_free(g_clock_list[0]);
-       g_clock_list[1] = eina_list_free(g_clock_list[1]);
-       g_clock_list[2] = eina_list_free(g_clock_list[2]);
 }
 
-static int _clock_type_compare_cb(const void *d1, const void *d2)
+void _show_font_size_list(void *data)
 {
-       i18n_uchar clock1[256] = { 0, };
-       i18n_uchar clock2[256] = { 0, };
+       appdata *ad = data;
+       if (ad == NULL) {
+               DBG("%s", "_show_screen_timeout_list - appdata is null");
+               return;
+       }
+       Evas_Object *genlist  = NULL;
+       Elm_Object_Item *nf_it = NULL;
+       int idx;
 
-       Clock_Type_Item *r1 = (Clock_Type_Item *) d1;
-       Clock_Type_Item *r2 = (Clock_Type_Item *) d2;
+       temp_ad = ad;
 
-       i18n_ustring_copy_ua(clock1, r1->name);
-       i18n_ustring_copy_ua(clock2, r2->name);
+       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+       itc->item_style = "1text.1icon.1";
+       itc->func.text_get = _gl_font_size_title_get;
+       itc->func.content_get = _gl_font_size_ridio_get;
+       itc->func.del = _font_size_gl_del;
 
-       i18n_ucollator_result_e ret;
-       i18n_ucollator_str_collator(coll, clock1, -1, clock2, -1, &ret);
+       Evas_Object *layout = elm_layout_add(ad->nf);
+       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 
-       switch (ret) {
-       case I18N_UCOLLATOR_EQUAL:
-               return 0;
-       case I18N_UCOLLATOR_GREATER:
-               return 1;
-       case I18N_UCOLLATOR_LESS:
-               return -1;
-       default:
-               return 0;
+       genlist = elm_genlist_add(layout);
+       elm_genlist_block_count_set(genlist, 14);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       connect_to_wheel_with_genlist(genlist, ad);
+
+       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
+       title_item->func.text_get = _gl_menu_title_text_get;
+       title_item->item_style = "title";
+       title_item->func.del = NULL;
+
+       elm_genlist_item_append(genlist, title_item, (void *)CLOCK_TITLE_FONT_SIZE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+       elm_genlist_item_class_free(title_item);
+
+       for (idx = 0; idx < FONT_SIZE_COUNT; idx++) {
+               Item_Data *id = calloc(sizeof(Item_Data), 1);
+               if (id) {
+                       id->index = idx;
+                       id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, _font_size_gl_cb, (void *)(uintptr_t)idx);
+               }
        }
+
+       ad->font_size_rdg = elm_radio_add(genlist);
+       elm_radio_state_value_set(ad->font_size_rdg, 3);
+       elm_radio_value_set(ad->font_size_rdg, font_size_index);
+
+       evas_object_data_set(genlist, "radio_main", ad->font_size_rdg);
+
+       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
+       padding->item_style = "padding";
+       padding->func.del = _font_size_gl_del;
+
+       Elm_Object_Item *padding_item;
+       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
+       elm_genlist_item_class_free(padding);
+
+       g_font_size_genlist = genlist;
+
+       elm_object_part_content_set(layout, "elm.genlist", genlist);
+
+       elm_genlist_item_class_free(itc);
+
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
+       back_button_cb_push(&back_key_generic_cb, data, NULL, g_font_genlist, "g_font_genlist");
+#if !defined(FEATURE_SETTING_TELEPHONY)
+       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
+#endif
+       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
 }
 
-static char *get_timezone_str()
+void _clock_gl_font_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       char buf[1024];
-       ssize_t len = readlink(TZ_SYS_ETC_D"/localtime", buf, sizeof(buf) - 1);
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
 
-       if (len != -1) {
-               buf[len] = '\0';
+       if (data != NULL) {
+               _show_font_list(data);
        } else {
-               /* handle error condition */
+               DBG("ad->font_name is NULL !!!!!!");
        }
-       return strdup(buf + 20);
 }
 
-static i18n_uchar *uastrcpy(const char *chars)
+static void settings_font_style_changed_cb(system_settings_key_e key, void *user_data)
 {
-       int len = 0;
-       i18n_uchar *str = NULL;
+       DBG("settings_font_style_changed_cb");
+
+       appdata *ad = user_data;
+       if (ad == NULL)
+               return;
+
+       char *font_name = NULL;
+       Evas_Object *font_style_radio = NULL;
+       if (g_font_style_genlist) {
+               font_style_radio = evas_object_data_get(g_font_style_genlist, "radio_main");
+               if (font_style_radio) {
+                       if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_name)
+                               != SYSTEM_SETTINGS_ERROR_NONE) {
+                               ERR("failed to call system_setting_get_value_string with err");
+                               return;
+                       }
+
+                       DBG("Update a font style list");
+
+                       DBG("System font: %s", font_name);
+
+                       int index = 0;
+                       Eina_List *font_list = NULL;
+                       Eina_List *l = NULL;
+                       Elm_Object_Item *font_item = NULL;
+                       Font_Style_Item_Data *font_data = NULL;
+
+                       font_list = elm_genlist_realized_items_get(g_font_style_genlist);
+                       EINA_LIST_FOREACH(font_list, l, font_item) {
+                               font_data = (Font_Style_Item_Data *) elm_object_item_data_get(font_item);
+                               if (font_name && !strcmp((const char *)font_name, (const char *)font_data->font_name)) {
+                                       DBG("1: %s, 2: %s", font_name, font_data->font_name);
+                                       DBG("Font style matched index : %d", index);
+                                       elm_radio_value_set(font_style_radio, index);
+                                       return;
+                               }
+                               index++;
+                       }
+               }
+       }
+
+       if (font_style_item) {
+               elm_genlist_item_update(font_style_item);
+       }
+}
+
+static void setting_font_list_pop_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       ERR("setting_font_list_pop_cb");
 
-       if (!chars) return NULL;
+       font_size_item = NULL;
+       font_style_item = NULL;
 
-       len = strlen(chars);
-       str = (i18n_uchar *) malloc(sizeof(i18n_uchar) * (len + 1));
-       if (!str)
-               return NULL;
-       i18n_ustring_copy_ua(str, chars);
-       return str;
+       if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_FONT_TYPE) != 0) {
+               ERR("system_settings_unset_changed_cb failed!!");
+       }
+
+       return;
 }
 
-static void ICU_set_timezone(const char *timezone)
+
+void _clock_gl_font_style_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       DBG("ICU_set_timezone = %s ", timezone);
-       i18n_uchar *str = uastrcpy(timezone);
+       DBG("_display_gl_font_style_cb");
+
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
 
-       i18n_ucalendar_set_default_timezone(str);
-       FREE(str);
+       if (data != NULL) {
+               _show_font_style_list(data);
+       }
+}
+
+void _clock_gl_font_size_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       if (data != NULL) {
+               _show_font_size_list(data);
+       }
 }
index 161b6a654c99c828c32b19afce732b37653a5444..56bb60a02da20afe54ce1c28cd01852e33a88d49 100644 (file)
@@ -28,7 +28,6 @@
 #include <vconf-keys.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
-#include <fontconfig/fontconfig.h>
 #include <glib.h>
 #include <stdint.h>
 
 
 
 /* temporary source code */
-/*#ifndef VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR */
-/*#define VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR "db/setting/notification_indicator" */
-/*#endif */
 #define VCONFKEY_SETAPPL_LCD_TIMEOUT_BACKUP_FOR_WATCH_ALWAYS_ON "db/setting/lcd_backlight_timeout_backup"
-#define SETTINGS_FIXED_DEFAULT_FONT_NAME "BreezeSans"
 
-#define SETTINGS_DEFAULT_FONT_NAME "Default"
 
 
 
@@ -57,34 +51,15 @@ static Evas_Object *g_btn_plus = NULL;
 static Evas_Object *g_center_img = NULL;
 static Evas_Object *g_btn_minus = NULL;
 static Evas_Object *g_slider = NULL;
-static Evas_Object *g_noti_check = NULL;
 
 static int is_changed = 0;
-static bool running = false;
 
-static Evas_Object *_gl_display_watch_always_check_get(void *data, Evas_Object *obj, const char *part);
-static void _display_watch_always_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void _clock_cb(void *data, Evas_Object *obj, void *event_info);
-#ifdef FEATURE_SETTING_EMUL
-static void _display_gl_watch_always_on_cb(void *data, Evas_Object *obj, void *event_info);
-#endif
 static void _display_brightness_cb(void *data, Evas_Object *obj, void *event_info);
-static Evas_Object *_gl_display_noti_indicator_check_get(void *data, Evas_Object *obj, const char *part);
-static void _display_gl_display_noti_indicator_cb(void *data, Evas_Object *obj, void *event_info);
-static void _display_gl_display_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info);
-static void _display_gl_display_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info);
-static void _show_noti_indicator_list(void *data);
 static void change_screen_time_cb(keynode_t *key, void *data);
 
 static struct _display_menu_item display_menu_its[] = {
-       { "WDS_WMGR_HEADER_WATCH_FACES",                                SETTING_DISPLAY_WATCH_FACE,     _clock_cb},
-#ifdef FEATURE_SETTING_EMUL
-       { "watch always on",    SETTING_DISPLAY_WATCH_ALWAYS_ON,        _display_gl_watch_always_on_cb  },
-#endif
-       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_DISPLAY_NOTIFICATION_INDICATOR, _display_gl_display_noti_indicator_cb },
        { "IDS_ST_BUTTON_BRIGHTNESS",   SETTING_DISPLAY_BRIGTHNESS, _display_brightness_cb       },
        { "IDS_ST_MBODY_SCREEN_TIMEOUT_ABB",    SETTING_DISPLAY_SCREEN_TIME,    _display_gl_screen_timeout_cb   },
-       { "IDS_ST_BODY_FONT",                                   SETTING_DISPLAY_FONT,   _display_gl_font_cb             },
        /*      { "IDS_ST_BUTTON_LANGUAGE",                             SETTING_DISPLAY_LANG,   _display_gl_language_cb },
        #if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL)
                { "IDS_ST_MBODY_MANAGE_APPS_ABB",       SETTING_DISPLAY_EDIT_APPS,      _homescreen_gl_edit_apps_cb     },
@@ -92,26 +67,11 @@ static struct _display_menu_item display_menu_its[] = {
        */
 };
 
-static struct _font_menu_item font_menu_its[] = {
-       { "IDS_ST_BODY_FONT_STYLE",                     SETTING_DISPLAY_FONT_STYLE, _display_gl_font_style_cb },
-       { "IDS_ST_BODY_FONT_SIZE_ABB",          SETTING_DISPLAY_FONT_SIZE,      _display_gl_font_size_cb },
-};
-
-static struct _display_menu_item noti_menu_its[] = {
-       { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_DISPLAY_NOTIFICATION_INDICATOR_SW,      _display_gl_display_noti_indicator_check_cb},
-       { "IDS_ST_MBODY_HELP",  SETTING_DISPLAY_NOTIFICATION_INDICATOR_HELP,    _display_gl_display_noti_indicator_help_cb },
-};
 
 static int timeout_arr[] = {
        0, 15, 30, 60, 300
 };
 
-static char *font_size_str[] = {
-       "IDS_EMAIL_OPT_SMALL_M_FONT_SIZE",
-       "IDS_ST_OPT_MEDIUM_M_FONT_SIZE",
-       "IDS_ST_BODY_LARGE_M_FONT_SIZE_ABB2"
-};
-
 static char *rotate_screen_str[] = {
        "IDS_COM_BODY_DEFAULT", "IDS_COM_OPT_ROTATE_CW", "IDS_COM_OPT_ROTATE_CCW", "IDS_ST_SBODY_180_DEGREE"
 };
@@ -119,14 +79,9 @@ static char *rotate_screen_str[] = {
 static appdata *temp_ad = NULL;
 static Evas_Object *g_display_genlist = NULL;
 static Evas_Object *g_screen_time_genlist = NULL;
-static Evas_Object *g_font_size_genlist = NULL;
-static Evas_Object *g_font_style_genlist = NULL;
-static Evas_Object *g_font_genlist = NULL;
 static Evas_Object *g_rotate_screen_genlist = NULL;
-static Evas_Object *g_noti_indicator_genlist = NULL;
 
 static int g_screen_time_index = 1;            /* default: 10 seconds */
-static int font_size_index      = 1;           /* default: normal */
 static int rotate_screen_rot  = 0;             /* default: 0(0degree), vconf enum */
 static int rotate_screen_index = 0;            /* default: 0, list index */
 
@@ -138,20 +93,9 @@ static Elm_Object_Item *wake_up_item = NULL;
 static Elm_Object_Item *edit_icon_item = NULL;
 static Elm_Object_Item *g_screen_time_item = NULL;
 
-/* Font list item */
-static char *font_name = NULL;
-
-static Elm_Object_Item *font_style_item = NULL;
-static Elm_Object_Item *font_size_item = NULL;
-
-static void _font_size_gl_cb(void *data, Evas_Object *obj, void *event_info);
-static void _font_style_gl_cb(void *data, Evas_Object *obj, void *event_info);
-static void settings_font_style_changed_cb(system_settings_key_e key, void *user_data);
 static void change_language_enabling(keynode_t *key, void *data);
 static void change_screen_time_cb(keynode_t *key, void *data);
 static void change_language_cb(keynode_t *key, void *data);
-static void setting_font_list_pop_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void _lang_update_font_style_list(void *data, Evas_Object *obj, void *event_info);
 static void _set_rotate_screen(const int rotation);
 static int _get_rotate_screen();
 
@@ -249,8 +193,6 @@ void _clear_display_cb(void *data, Evas *e, Elm_Object_Item *it, void *event_inf
 {
        temp_ad = NULL;
        g_screen_time_genlist = NULL;
-       g_font_size_genlist = NULL;
-       g_font_style_genlist = NULL;
        g_rotate_screen_genlist = NULL;
        g_screen_time_item = NULL;
 
@@ -455,12 +397,6 @@ Evas_Object *_create_display_list(void *data)
        itc2->func.text_get = _gl_display_title_get;
        itc2->func.del = _display_gl_del;
 
-       Elm_Genlist_Item_Class *itc3 = elm_genlist_item_class_new();
-       itc3->item_style = "1text.1icon.1";
-       itc3->func.text_get = _gl_display_title_get;
-       itc3->func.content_get = _gl_display_watch_always_check_get;
-       itc3->func.del = _display_gl_del;
-
        genlist = elm_genlist_add(ad->nf);
        elm_genlist_block_count_set(genlist, 14);
        elm_genlist_homogeneous_set(genlist, EINA_TRUE);
@@ -491,11 +427,6 @@ Evas_Object *_create_display_list(void *data)
                } else {
                        itc_tmp = itc;
                }
-#ifdef FEATURE_SETTING_EMUL
-               if (menu_its[idx].type == SETTING_DISPLAY_WATCH_ALWAYS_ON) {
-                       itc_tmp = itc3;
-               }
-#endif
 
                Display_Item_Data *id = calloc(sizeof(Display_Item_Data), 1);
                if (id) {
@@ -525,7 +456,6 @@ Evas_Object *_create_display_list(void *data)
        }
        elm_genlist_item_class_free(itc);
        elm_genlist_item_class_free(itc2);
-       elm_genlist_item_class_free(itc3);
 
        Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
        padding->item_style = "padding";
@@ -738,116 +668,24 @@ void _show_screen_timeout_list(void *data)
        elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
 }
 
-static char *_gl_font_title_get(void *data, Evas_Object *obj, const char *part)
+static char *_gl_roatate_screen_title_get(void *data, Evas_Object *obj, const char *part)
 {
-       char buf[1024] = {0};
-       char *text_color = "<font color=#4DCFFFC9>%s</font>";
+       char buf[1024] = {0,};
        Item_Data *id = data;
 
        if (!strcmp(part, "elm.text")) {
-               snprintf(buf, sizeof(buf) - 1, "%s", _(font_menu_its[id->index].name));
-       } else if (!strcmp(part, "elm.text.1")) {
-               if (id->index == SETTING_DISPLAY_FONT_STYLE) {
-                       char *font_name = NULL;
-                       if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_name)
-                               != SYSTEM_SETTINGS_ERROR_NONE) {
-                               ERR("failed to call system_setting_get_value_string with err");
-                       }
-
-                       if (font_name) {
-
-                               DBG(" font_name <---------------------- (%s) ", font_name);
-
-                               if (strstr(font_name, "Samsung")) {
-                                       snprintf(buf, sizeof(buf) - 1, "%s", _("IDS_ST_BODY_DEFAULT_FONT"));
-                               } else {
-                                       if (!strcmp(font_name, "Choco cooky")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_LCKSCN_BODY_CHOCO_COOKY_M_FONT"));
-                                       } else if (!strcmp(font_name, "Cool jazz")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_COOL_JAZZ"));
-                                       } else if (!strcmp(font_name, "Rosemary")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_FONTSTYLE_ROSEMARY"));
-                                       } else if (!strcmp(font_name, "Tinkerbell")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_MBODY_TINKERBELL"));
-                                       } else if (!strcmp(font_name, "Applemint")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_RH_BUTTON2_APPLEMINT_M_FONT"));
-                                       } else if (!strcmp(font_name, "Kaiti")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_KAITI_M_FONT"));
-                                       } else if (!strcmp(font_name, "POP")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_POP_JPN_DCM"));
-                                       } else if (!strcmp(font_name, "UDMincho")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UDMINCHO_JPN"));
-                                       } else if (!strcmp(font_name, "UDRGothic")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UDRGOTHICM_JPN"));
-                                       } else if (!strcmp(font_name, "TizenSans")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("TizenSans"));
-                                       } else if (!strcmp(font_name, "BreezeSans")) {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_COM_BODY_DEFAULT"));
-                                       } else {
-                                               snprintf(buf, sizeof(buf) - 1, text_color, font_name);
-                                       }
-                               }
-                       } else {
-                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UNKNOWN"));
-                       }
-               } else if (id->index == SETTING_DISPLAY_FONT_SIZE) {
-                       int font_size = -1;
-                       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &font_size)
-                               != SYSTEM_SETTINGS_ERROR_NONE) {
-                               DBG("Setting - system_settings_get_value_int() is failed.");
-                       }
-
-                       if (font_size < 0 || font_size > 2) {
-                               snprintf(buf, sizeof(buf) - 1, text_color, _("IDS_ST_BODY_UNKNOWN"));
-                       } else {
-                               snprintf(buf, sizeof(buf) - 1, text_color, _(font_size_str[font_size]));
-                       }
-               }
-       }
-
-       return strdup(buf);
-}
-
-static char *_gl_font_style_title_get(void *data, Evas_Object *obj, const char *part)
-{
-       char buf[1024];
-       Font_Style_Item_Data *id = data;
-
-       char *pos = id->font_name;
-       char new_name[256];
-       int i = 0;
-       int count = 0;
-       while (pos && *pos != '\0') {
-               if (*pos == ' ') {
-                       new_name[count] = '\\';
-                       count++;
-                       new_name[count] = ' ';
-               } else {
-                       new_name[count] = id->font_name[i];
-               }
-
-               count++;
-               pos++;
-               i++;
-       }
-       new_name[count] = '\0';
+               snprintf(buf, sizeof(buf) - 1, "%s", _(rotate_screen_str[id->index]));
 
-       if (!strcmp(part, "elm.text")) {
-               if (id->index == 0)
-                       snprintf(buf, sizeof(buf) - 1, "<font=%s>%s</font>", new_name, SETTINGS_DEFAULT_FONT_NAME);
-               else
-                       snprintf(buf, sizeof(buf) - 1, "<font=%s>%s</font>", new_name, id->font_name);
        }
-
-       DBG("font  = %s", buf);
        return strdup(buf);
 }
 
-static Evas_Object *_gl_font_style_ridio_get(void *data, Evas_Object *obj, const char *part)
+static Evas_Object *_gl_rotate_screen_radio_get(void *data, Evas_Object *obj, const char *part)
 {
        Evas_Object *radio = NULL;
        Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-       Font_Style_Item_Data *id = data;
+       Item_Data *id = data;
+       static int rotate = -1;
 
        if (!strcmp(part, "elm.icon")) {
                radio = elm_radio_add(obj);
@@ -856,207 +694,72 @@ static Evas_Object *_gl_font_style_ridio_get(void *data, Evas_Object *obj, const
                evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                elm_radio_group_add(radio, radio_main);
 
-               evas_object_smart_callback_add(radio, "changed", _font_style_gl_cb, (void *)id);
-               evas_object_propagate_events_set(radio, EINA_FALSE);
-
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, radio);
-               elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
-       }
-
-       return radio;
-}
-
-static void _font_style_gl_del(void *data, Evas_Object *obj)
-{
-       Font_Style_Item_Data *id = data;
-       if (id) {
-               FREE(id->font_name);
-               FREE(id);
-       }
-}
-
-static char *_gl_font_size_title_get(void *data, Evas_Object *obj, const char *part)
-{
-       int old_font_size = -1;
-       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
-               != SYSTEM_SETTINGS_ERROR_NONE) {
-               DBG("Setting - system_settings_get_value_int() is failed.");
-       }
-       char buf[1024] = {0,};
-       Item_Data *id = data;
+               /*get_int rotate */
+               rotate = _get_rotate_screen();
+               rotate_screen_rot = rotate;
 
-       if (!strcmp(part, "elm.text")) {
-               if (id->index == 0) {
-                       snprintf(buf, sizeof(buf) - 1, "<font_size=30>%s</font_size>", _(font_size_str[id->index]));
-               } else if (id->index == 1) {
-                       snprintf(buf, sizeof(buf) - 1, "<font_size=38>%s</font_size>", _(font_size_str[id->index]));
-               } else {
-                       snprintf(buf, sizeof(buf) - 1, "<font_size=46>%s</font_size>", _(font_size_str[id->index]));
+               if (rotate == SETTING_SCREENROTATION_90_DEGREE) {
+                       /*90R */
+                       rotate_screen_index = 1;
+               } else if (rotate == SETTING_SCREENROTATION_270_DEGREE) {
+                       /*90L */
+                       rotate_screen_index = 2;
+               } else if (rotate == SETTING_SCREENROTATION_180_DEGREE) {
+                       /*180 */
+                       rotate_screen_index = 3;
                }
-       }
-       return strdup(buf);
-}
-
-static Evas_Object *_gl_font_size_ridio_get(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *radio = NULL;
-       Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-       Item_Data *id = data;
-
-       int old_font_size = -1;
-       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
-               != SYSTEM_SETTINGS_ERROR_NONE) {
-               DBG("Setting - system_settings_get_value_int() is failed.");
-       }
-
-       if (!strcmp(part, "elm.icon")) {
-               radio = elm_radio_add(obj);
-               elm_radio_state_value_set(radio, id->index);
-               evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_radio_group_add(radio, radio_main);
-               evas_object_smart_callback_add(radio, "changed", _font_size_gl_cb, (void *)(uintptr_t)id->index);
-               evas_object_propagate_events_set(radio, EINA_FALSE);
 
-               if (old_font_size == id->index) {
-                       elm_radio_value_set(radio_main, old_font_size);
+               if (rotate == -1) {
+                       rotate_screen_rot = SETTING_SCREENROTATION_0_DEGREE;
                }
-
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, radio);
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, radio);
-               elm_atspi_accessible_relationship_append(radio, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
        }
        return radio;
 }
 
-static void _font_size_gl_del(void *data, Evas_Object *obj)
+static void _rotate_screen_gl_del(void *data, Evas_Object *obj)
 {
        Item_Data *id = data;
        FREE(id);
 }
 
-#if 0
-static void _font_style_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               ERR("appdata is null");
-               return;
-       }
-
-       elm_naviframe_item_pop(ad->nf);
-       if (!ad->font_style_rdg) {
-               evas_object_del(ad->font_style_rdg);
-               ad->font_style_rdg = NULL;
-       }
-
-       FREE(font_name);
-}
-
-static void _font_style_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               ERR("appdata is null");
-               return;
-       }
-
-       elm_naviframe_item_pop(ad->nf);
-
-       if (!ad->font_style_rdg) {
-               evas_object_del(ad->font_style_rdg);
-               ad->font_style_rdg = NULL;
-       }
-
-       if (font_timer) {
-               ecore_timer_del(font_timer);
-               font_timer = NULL;
-       }
-       font_timer = ecore_timer_add(0.3, (Ecore_Task_Cb) _update_font_style, NULL);
-}
-#endif
-
-static void _font_style_gl_cb(void *data, Evas_Object *obj, void *event_info)
+static void _rotate_screen_gl_cb(void *data, Evas_Object *obj, void *event_info)
 {
        elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       Font_Style_Item_Data *id = (Font_Style_Item_Data *)data;
-
-       /*elm_radio_value_set(temp_ad->font_style_rdg, id->index); */
-
-
-       if (id->font_name) {
-               FREE(font_name);
-               font_name = strdup(id->font_name);
-       }
-
-       /*elm_genlist_realized_items_update(g_font_style_genlist); */
-
-       if (font_style_item) {
-               elm_genlist_item_update(font_style_item);
-       }
 
-       if (!temp_ad->font_style_rdg) {
-               evas_object_del(temp_ad->font_style_rdg);
-               temp_ad->font_style_rdg = NULL;
-       }
+       rotate_screen_index = (uintptr_t)data;
 
-       if (font_name) {
-               system_settings_set_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, font_name);
-               FREE(font_name);
+       if (rotate_screen_index == 1) {
+               /*90R */
+               rotate_screen_rot = SETTING_SCREENROTATION_90_DEGREE;
+       } else if (rotate_screen_index == 2) {
+               /*90L */
+               rotate_screen_rot = SETTING_SCREENROTATION_270_DEGREE;
+       } else if (rotate_screen_index == 3) {
+               /*180 */
+               rotate_screen_rot = SETTING_SCREENROTATION_180_DEGREE;
        } else {
-               ERR("font_name is null");
-       }
-
-       g_font_style_genlist = NULL;
-       back_key_generic_cb(temp_ad, obj, event_info);
-}
-
-static void _font_size_gl_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       int old_font_size = 0;
-
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-
-       if (system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &old_font_size)
-               != SYSTEM_SETTINGS_ERROR_NONE) {
-               DBG("Setting - system_settings_get_value_int() is failed.");
-               return;
+               rotate_screen_rot = SETTING_SCREENROTATION_0_DEGREE;
        }
-       DBG("Setting - old font size is %d.", old_font_size);
-
-       font_size_index = (uintptr_t)data;
-
-       DBG("Setting - Curr font size is %d.", font_size_index);
 
-       /*elm_genlist_realized_items_update(g_font_size_genlist); */
-
-
-       if (!temp_ad->font_size_rdg) {
-               evas_object_del(temp_ad->font_size_rdg);
-               temp_ad->font_size_rdg = NULL;
-       }
+       /*set int */
+       _set_rotate_screen(rotate_screen_rot);
 
-       if (old_font_size != font_size_index) {
-               DBG("Setting - font size is same with old.");
-               system_settings_set_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, font_size_index);
+       elm_genlist_realized_items_update(g_rotate_screen_genlist);
 
-               if (font_size_item) {
-                       elm_genlist_item_update(font_size_item);
-               }
+       elm_naviframe_item_pop(temp_ad->nf);
+       if (!temp_ad->rotate_screen_rdg) {
+               evas_object_del(temp_ad->rotate_screen_rdg);
+               temp_ad->rotate_screen_rdg = NULL;
        }
-
-       back_key_generic_cb(temp_ad, obj, event_info);
 }
 
-void _show_font_list(void *data)
+void _show_rotate_screen_list(void *data)
 {
        appdata *ad = data;
        if (ad == NULL) {
-               DBG("%s", "_show_font_list - appdata is null");
+               DBG("%s", "_show_screen_timeout_list - appdata is null");
                return;
        }
-
        Evas_Object *genlist  = NULL;
        Elm_Object_Item *nf_it = NULL;
        int idx;
@@ -1064,17 +767,13 @@ void _show_font_list(void *data)
        temp_ad = ad;
 
        Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "2text";
-       itc->func.text_get = _gl_font_title_get;
-       itc->func.del = _font_size_gl_del;
-
-       Evas_Object *layout = elm_layout_add(ad->nf);
-       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       itc->item_style = "1text.1icon.1";
+       itc->func.text_get = _gl_roatate_screen_title_get;
+       itc->func.content_get = _gl_rotate_screen_radio_get;
+       itc->func.del = _rotate_screen_gl_del;
 
-       genlist = elm_genlist_add(layout);
+       genlist = elm_genlist_add(ad->nf);
        elm_genlist_block_count_set(genlist, 14);
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
        evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        connect_to_wheel_with_genlist(genlist, ad);
 
@@ -1083,787 +782,106 @@ void _show_font_list(void *data)
        title_item->item_style = "title";
        title_item->func.del = NULL;
 
-       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_FONT, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_ROTATE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
 
        elm_genlist_item_class_free(title_item);
 
-       for (idx = 0; idx < 2; idx++) {
+       for (idx = 0; idx < ROTATE_SCREEN_COUNT; idx++) {
                Item_Data *id = calloc(sizeof(Item_Data), 1);
                if (id) {
                        id->index = idx;
-                       id->item = elm_genlist_item_append(genlist, itc, id, NULL,
-                                                                                          ELM_GENLIST_ITEM_NONE, font_menu_its[idx].func, ad);
-
-                       if (idx == 0) {
-                               font_style_item = id->item;
-                       }
-                       if (idx == 1) {
-                               font_size_item  = id->item;
-                       }
+                       id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, _rotate_screen_gl_cb, (void *)(uintptr_t)idx);
                }
        }
 
-       elm_object_part_content_set(layout, "elm.genlist", genlist);
+       ad->rotate_screen_rdg = elm_radio_add(genlist);
+       elm_radio_state_value_set(ad->rotate_screen_rdg, -1);
+       elm_radio_value_set(ad->rotate_screen_rdg, rotate_screen_index);
+
+       evas_object_data_set(genlist, "radio_main", ad->rotate_screen_rdg);
 
        Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
        padding->item_style = "padding";
-       padding->func.del = _font_size_gl_del;
+       padding->func.del = _rotate_screen_gl_del;
 
        Elm_Object_Item *padding_item;
        padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
        elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
        elm_genlist_item_class_free(padding);
+       g_screen_time_genlist = genlist;
 
        elm_genlist_item_class_free(itc);
-       g_font_genlist = genlist;
 
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
-       back_button_cb_push(&back_key_generic_cb, data, NULL, g_display_genlist, "g_display_genlist");
-#if !defined(FEATURE_SETTING_TELEPHONY)
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, "empty");
        elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-#endif
-       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
-       evas_object_event_callback_add(nf_it, EVAS_CALLBACK_DEL, setting_font_list_pop_cb, ad);
-
-       if (system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_TYPE, settings_font_style_changed_cb, ad) != 0) {
-               ERR("system_settings_set_changed_cb failed!!");
-       }
 }
 
-static char *_get_default_font_name()
+static void _set_rotate_screen(const int rotation)
 {
-       char *default_font_name = SETTINGS_FIXED_DEFAULT_FONT_NAME;
-       /* Default font means current font type !! */
-       /* That's reason why I fixed default font */
-       /* system_settings_get_value_string(SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE, &default_font_name);*/
-       return default_font_name;
+       vconf_set_int(VCONFKEY_SETAPPL_SCREENROTATION_DEG_INT, rotation);
 }
 
-static Eina_List *_get_available_font_list()
+static int _get_rotate_screen()
 {
-       FcObjectSet *os = NULL;
-       FcFontSet *fs = NULL;
-       FcPattern *pat = NULL;
-       Eina_List *list = NULL;
-       FcConfig *font_config = NULL;
-
-       font_config = FcInitLoadConfigAndFonts();
+       int rot;
+       vconf_get_int(VCONFKEY_SETAPPL_SCREENROTATION_DEG_INT, &rot);
+       return rot;
+}
 
-       if (font_config == NULL) {
-               ERR("Failed: FcInitLoadConfigAndFonts");
-               return NULL;
+static void change_language_enabling(keynode_t *key, void *data)
+{
+       if (lang_item == NULL) {
+               DBG("Setting - lang_item is null!!");
+               return;
        }
 
-       char *locale = setlocale(0, NULL);
+       int enable = 0;
+       vconf_get_bool(VCONFKEY_WMS_WMANAGER_CONNECTED, &enable);
+       if (enable) {
+               DBG("Setting - Language is disabled");
+       } else {
+               DBG("Setting - Language is enabled");
+       }
 
-       pat = FcPatternCreate();
+       if (lang_item) {
+               elm_genlist_item_update(lang_item);
+       }
+}
 
-       os = FcObjectSetBuild(FC_FAMILY, FC_FILE, FC_FAMILYLANG, (char *) 0);
+static void change_screen_time_cb(keynode_t *key, void *data)
+{
+       DBG("Setting - change_screen_time_cb");
 
-       if (os) {
-               fs = FcFontList(font_config, pat, os);
-               FcObjectSetDestroy(os);
-               os = NULL;
+       if (g_screen_time_item) {
+               elm_genlist_item_update(g_screen_time_item);
        }
+}
 
-       if (pat) {
-               FcPatternDestroy(pat);
-               pat = NULL;
-       }
+static void change_language_cb(keynode_t *key, void *data)
+{
+       DBG("Setting - change_language_cb");
 
-       if (fs) {
-               int j;
-               DBG("fs->nfont = %d", fs->nfont);
+       if (lang_item) {
+               elm_genlist_item_update(lang_item);
+       }
+}
 
-               for (j = 0; j < fs->nfont; j++) {
-                       FcChar8 *family = NULL;
-                       FcChar8 *file = NULL;
-                       FcChar8 *lang = NULL;
-                       int id = 0;
 
-                       if (FcPatternGetString(fs->fonts[j], FC_FILE, 0, &file) == FcResultMatch) {
-                               int preload_path_len = strlen(SETTING_FONT_PRELOAD_FONT_PATH);
-                               int download_path_len = strlen(SETTING_FONT_DOWNLOADED_FONT_PATH);
 
-                               char *family_result = NULL;
+int brightness_index = 0;
+int brightness_origin_level = 0;
+Evas_Object *brightness_layout = NULL;
 
-                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, 0, &family) != FcResultMatch) {
-                                       DBG("Family name is invalid");
-                                       continue;
-                               }
+static void _brightness_pop_cb(void *data, Evas_Object *obj, void *event_info);
+static void brightness_vconf_changed_cb(keynode_t *key, void *data);
+static void sync_brightness(int real_brightness);
+static int _change_bright_lovel_to_index(int level);
+#if 0 /*!defined(FEATURE_SETTING_EMUL) */
+static void _set_HBM_mode(int enable);
+#endif
+static int _change_bright_index_to_level(int index);
 
-                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
-                                       DBG("Family lang is invalid");
-                                       continue;
-                               }
-
-                               if (!strncmp((const char *)file, SETTING_FONT_PRELOAD_FONT_PATH, preload_path_len)) {
-                                       /* Find proper family name for current locale. */
-                                       while (locale && family && lang) {
-                                               /*DBG("locale: %s, family: %s, lang: %s", locale, family, lang); */
-
-                                               if (!strncmp(locale, (char *)lang, strlen((char *)lang))) {
-                                                       family_result = (char *)family;
-                                                       break;
-                                               }
-
-                                               /* I will set english as default family language. */
-                                               /* If there is no proper family language for current locale, */
-                                               /* we have to show the english family name. */
-                                               if (!strcmp((const char *)lang, "en")) {
-                                                       family_result = (char *)family;
-                                               }
-                                               id++;
-                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, id, &family) != FcResultMatch) {
-                                                       break;
-                                               }
-                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
-                                                       break;
-                                               }
-                                       }
-
-                                       if (eina_list_data_find(list, family_result) == NULL) {
-                                               list = eina_list_append(list, strdup(family_result));
-                                               DBG("-------- ADDED FONT - family result = %s", (char *)family_result);
-                                       }
-                               }
-
-                               id = 0;
-                               /* always shown for D/L */
-                               if (!strncmp((const char *)file, SETTING_FONT_DOWNLOADED_FONT_PATH, download_path_len)) {
-                                       /* Find proper family name for current locale. */
-                                       while (locale && family && lang) {
-                                               ERR("locale: %s, family: %s, lang: %s", locale, family, lang);
-
-                                               if (!strncmp(locale, (char *)lang, strlen((char *)lang))) {
-                                                       family_result = (char *)family;
-                                                       break;
-                                               }
-
-                                               /* I will set english as default family language. */
-                                               /* If there is no proper family language for current locale, */
-                                               /* we have to show the english family name. */
-                                               if (!strcmp((const char *)lang, "en")) {
-                                                       family_result = (char *)family;
-                                               }
-                                               id++;
-                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILY, id, &family) != FcResultMatch) {
-                                                       break;
-                                               }
-                                               if (FcPatternGetString(fs->fonts[j], FC_FAMILYLANG, id, &lang) != FcResultMatch) {
-                                                       break;
-                                               }
-                                       }
-
-                                       if (eina_list_data_find(list, family_result) == NULL) {
-                                               list = eina_list_append(list, family_result);
-                                               DBG("-------- ADDED FONT - family result = %s", (char *)family_result);
-                                       }
-                               }
-                       }
-               }
-               FcFontSetDestroy(fs);
-               fs = NULL;
-       }
-
-       FcConfigDestroy(font_config);
-       font_config = NULL;
-       return list;
-}
-
-int _show_font_style_list(void *data)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               DBG("%s", "_show_font_style_list - appdata is null");
-               return -1;
-       }
-       Evas_Object *genlist  = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       char *default_font_name = NULL;
-       char *tmp_name = NULL;
-       int idx = 0, matched_idx = 0;
-       int ret = 0;
-
-       temp_ad = ad;
-
-       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "1text.1icon.1";
-       itc->func.text_get = _gl_font_style_title_get;
-       itc->func.content_get = _gl_font_style_ridio_get;
-       itc->func.del = _font_style_gl_del;
-
-       Evas_Object *layout = elm_layout_add(ad->nf);
-       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       genlist = elm_genlist_add(layout);
-       elm_genlist_block_count_set(genlist, 14);
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       connect_to_wheel_with_genlist(genlist, ad);
-
-       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
-       title_item->func.text_get = _gl_menu_title_text_get;
-       title_item->item_style = "title";
-       title_item->func.del = NULL;
-
-       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_FONT_STYLE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-       elm_genlist_item_class_free(title_item);
-
-       FREE(font_name);
-       ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &tmp_name);
-       if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
-               ERR("failed to call system_setting_get_value_string with err %d", ret);
-               tmp_name = _get_default_font_name();
-               if (tmp_name == NULL) {
-                       ERR("failed to get default font name");
-                       elm_genlist_item_class_free(itc);
-                       return -1;
-               } else {
-                       DBG("get_default_font = %s", tmp_name);
-               }
-       } else {
-               DBG("SYSTEM_SETTINGS_KEY_FONT_TYPE = %s", tmp_name);
-       }
-
-       default_font_name = _get_default_font_name();
-
-       if (default_font_name) {
-               ERR("default_font_name is >>>> %s", default_font_name);
-               Font_Style_Item_Data *id_default = calloc(sizeof(Font_Style_Item_Data), 1);
-               if (default_font_name && tmp_name && !strcmp(tmp_name, default_font_name)) {
-                       matched_idx = idx;
-                       font_name = strdup(tmp_name);
-               }
-               if (id_default) {
-                       id_default->index = idx++;
-                       id_default->font_name = strdup(default_font_name);
-                       id_default->item = elm_genlist_item_append(genlist, itc, id_default, NULL, ELM_GENLIST_ITEM_NONE,
-                                                                                                          _font_style_gl_cb, (void *)id_default);
-               }
-       } else {
-               ERR("default_font_name is NULL");
-       }
-
-       /* get font list */
-       Eina_List *l = NULL;
-       FcChar8 *font_data = NULL;
-       Eina_List *font_list = NULL;
-       font_list = _get_available_font_list();
-
-       EINA_LIST_FOREACH(font_list, l, font_data) {
-               if (!default_font_name || strcmp((const char *)default_font_name, (const char *)font_data)) {
-                       Font_Style_Item_Data *id = calloc(sizeof(Font_Style_Item_Data), 1);
-                       if (tmp_name && !strcmp((const char *)tmp_name, (const char *)font_data)) {
-                               matched_idx = idx;
-                               font_name = strdup(tmp_name);
-                       }
-
-                       DBG("font_data -------> %s", (const char *)font_data);
-
-                       if (id) {
-                               id->index = idx++;
-                               id->font_name = (char *)strdup((char *)font_data);
-                               id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE,
-                                                                                                  _font_style_gl_cb, (void *)id);
-                       }
-               }
-       }
-
-       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
-       padding->item_style = "padding";
-       padding->func.del = _font_style_gl_del;
-
-       Elm_Object_Item *padding_item;
-       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
-       elm_genlist_item_class_free(padding);
-
-       evas_font_reinit();
-       ad->font_style_rdg = elm_radio_add(genlist);
-       elm_radio_state_value_set(ad->font_style_rdg, -1);
-       elm_radio_value_set(ad->font_style_rdg, matched_idx);
-
-       evas_object_data_set(genlist, "radio_main", ad->font_style_rdg);
-
-       g_font_style_genlist = genlist;
-
-       elm_object_part_content_set(layout, "elm.genlist", genlist);
-
-       elm_genlist_item_class_free(itc);
-
-       evas_object_smart_callback_add(genlist, "language,changed", _lang_update_font_style_list, ad);
-
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
-#if !defined(FEATURE_SETTING_TELEPHONY)
-       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-#endif
-       back_button_cb_push(&back_key_generic_cb, data, NULL, g_font_genlist, "g_font_genlist");
-       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
-
-       return 0;
-}
-
-static void _lang_update_font_style_list(void *data, Evas_Object *obj, void *event_info)
-{
-       DBG("_lang_update_font_style_list");
-
-       appdata *ad = data;
-       if (ad == NULL) {
-               DBG("%s", "_lang_update_font_style_list - appdata is null");
-               return;
-       }
-
-       if (g_font_style_genlist) {
-               elm_genlist_clear(g_font_style_genlist);
-
-               char *default_font_name = NULL;
-               char *tmp_name = NULL;
-               int idx = 0, matched_idx = 0;
-               int ret = 0;
-
-               Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-               itc->item_style = "1text.1icon.1";
-               itc->func.text_get = _gl_font_style_title_get;
-               itc->func.content_get = _gl_font_style_ridio_get;
-               itc->func.del = _font_style_gl_del;
-
-               FREE(font_name);
-               ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &tmp_name);
-               if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
-                       ERR("failed to call system_setting_get_value_string with err %d", ret);
-                       tmp_name = _get_default_font_name();
-               }
-
-               Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
-               title_item->func.text_get = _gl_menu_title_text_get;
-               title_item->item_style = "title";
-               title_item->func.del = NULL;
-
-               elm_genlist_item_append(g_font_style_genlist, title_item, (void *)DISPLAY_TITLE_FONT_STYLE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-               elm_genlist_item_class_free(title_item);
-
-               default_font_name = _get_default_font_name();
-
-               Font_Style_Item_Data *id_default = calloc(sizeof(Font_Style_Item_Data), 1);
-               if (default_font_name && tmp_name && !strcmp(tmp_name, default_font_name)) {
-                       matched_idx = idx;
-                       font_name = strdup(tmp_name);
-               }
-               if (id_default) {
-                       id_default->index = idx++;
-                       id_default->font_name = (default_font_name != NULL) ? strdup(default_font_name) : NULL;
-                       id_default->item = elm_genlist_item_append(g_font_style_genlist, itc, id_default, NULL, ELM_GENLIST_ITEM_NONE,
-                                                                                                          _font_style_gl_cb, (void *)id_default);
-               }
-
-               Eina_List *font_list = NULL;
-               Eina_List *l = NULL;
-               FcChar8 *font_data = NULL;
-               font_list = _get_available_font_list();
-               EINA_LIST_FOREACH(font_list, l, font_data) {
-                       if (!default_font_name || strcmp((const char *)default_font_name, (const char *)font_data)) {
-                               Font_Style_Item_Data *id = calloc(sizeof(Font_Style_Item_Data), 1);
-                               if (tmp_name && !strcmp((const char *)tmp_name, (const char *)font_data)) {
-                                       matched_idx = idx;
-                                       font_name = strdup(tmp_name);
-                               }
-                               DBG("Font1: %s, Font2: %s", tmp_name, font_data);
-
-                               if (id) {
-                                       id->index = idx++;
-                                       id->font_name = (char *)strdup((char *)font_data);
-                                       id->item = elm_genlist_item_append(g_font_style_genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE,
-                                                                                                          _font_style_gl_cb, (void *)id);
-                               }
-                       }
-               }
-
-               ad->font_style_rdg = evas_object_data_get(g_font_style_genlist, "radio_main");
-               if (ad->font_style_rdg) {
-                       evas_object_del(ad->font_style_rdg);
-                       ad->font_style_rdg = NULL;
-               }
-
-               Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
-               padding->item_style = "padding";
-               padding->func.del = _font_style_gl_del;
-
-               Elm_Object_Item *padding_item;
-               padding_item = elm_genlist_item_append(g_font_style_genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-               elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
-               elm_genlist_item_class_free(padding);
-
-               evas_font_reinit();
-               ad->font_style_rdg = elm_radio_add(g_font_style_genlist);
-               elm_radio_state_value_set(ad->font_style_rdg, -1);
-
-               evas_object_data_set(g_font_style_genlist, "radio_main", ad->font_style_rdg);
-
-               elm_genlist_realized_items_update(g_font_style_genlist);
-
-               DBG("Matched index: %d", matched_idx);
-
-               elm_radio_value_set(ad->font_style_rdg, matched_idx);
-
-               elm_genlist_item_class_free(itc);
-       }
-}
-
-void _show_font_size_list(void *data)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               DBG("%s", "_show_screen_timeout_list - appdata is null");
-               return;
-       }
-       Evas_Object *genlist  = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       int idx;
-
-       temp_ad = ad;
-
-       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "1text.1icon.1";
-       itc->func.text_get = _gl_font_size_title_get;
-       itc->func.content_get = _gl_font_size_ridio_get;
-       itc->func.del = _font_size_gl_del;
-
-       Evas_Object *layout = elm_layout_add(ad->nf);
-       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       genlist = elm_genlist_add(layout);
-       elm_genlist_block_count_set(genlist, 14);
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       connect_to_wheel_with_genlist(genlist, ad);
-
-       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
-       title_item->func.text_get = _gl_menu_title_text_get;
-       title_item->item_style = "title";
-       title_item->func.del = NULL;
-
-       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_FONT_SIZE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-       elm_genlist_item_class_free(title_item);
-
-       for (idx = 0; idx < FONT_SIZE_COUNT; idx++) {
-               Item_Data *id = calloc(sizeof(Item_Data), 1);
-               if (id) {
-                       id->index = idx;
-                       id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, _font_size_gl_cb, (void *)(uintptr_t)idx);
-               }
-       }
-
-       ad->font_size_rdg = elm_radio_add(genlist);
-       elm_radio_state_value_set(ad->font_size_rdg, 3);
-       elm_radio_value_set(ad->font_size_rdg, font_size_index);
-
-       evas_object_data_set(genlist, "radio_main", ad->font_size_rdg);
-
-       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
-       padding->item_style = "padding";
-       padding->func.del = _font_size_gl_del;
-
-       Elm_Object_Item *padding_item;
-       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
-       elm_genlist_item_class_free(padding);
-
-       g_font_size_genlist = genlist;
-
-       elm_object_part_content_set(layout, "elm.genlist", genlist);
-
-       elm_genlist_item_class_free(itc);
-
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
-       back_button_cb_push(&back_key_generic_cb, data, NULL, g_font_genlist, "g_font_genlist");
-#if !defined(FEATURE_SETTING_TELEPHONY)
-       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-#endif
-       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
-}
-
-static char *_gl_roatate_screen_title_get(void *data, Evas_Object *obj, const char *part)
-{
-       char buf[1024] = {0,};
-       Item_Data *id = data;
-
-       if (!strcmp(part, "elm.text")) {
-               snprintf(buf, sizeof(buf) - 1, "%s", _(rotate_screen_str[id->index]));
-
-       }
-       return strdup(buf);
-}
-
-static Evas_Object *_gl_rotate_screen_radio_get(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *radio = NULL;
-       Evas_Object *radio_main = evas_object_data_get(obj, "radio_main");
-       Item_Data *id = data;
-       static int rotate = -1;
-
-       if (!strcmp(part, "elm.icon")) {
-               radio = elm_radio_add(obj);
-               elm_radio_state_value_set(radio, id->index);
-               evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_radio_group_add(radio, radio_main);
-
-               /*get_int rotate */
-               rotate = _get_rotate_screen();
-               rotate_screen_rot = rotate;
-
-               if (rotate == SETTING_SCREENROTATION_90_DEGREE) {
-                       /*90R */
-                       rotate_screen_index = 1;
-               } else if (rotate == SETTING_SCREENROTATION_270_DEGREE) {
-                       /*90L */
-                       rotate_screen_index = 2;
-               } else if (rotate == SETTING_SCREENROTATION_180_DEGREE) {
-                       /*180 */
-                       rotate_screen_index = 3;
-               }
-
-               if (rotate == -1) {
-                       rotate_screen_rot = SETTING_SCREENROTATION_0_DEGREE;
-               }
-       }
-       return radio;
-}
-
-static void _rotate_screen_gl_del(void *data, Evas_Object *obj)
-{
-       Item_Data *id = data;
-       FREE(id);
-}
-
-static void _rotate_screen_gl_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-
-       rotate_screen_index = (uintptr_t)data;
-
-       if (rotate_screen_index == 1) {
-               /*90R */
-               rotate_screen_rot = SETTING_SCREENROTATION_90_DEGREE;
-       } else if (rotate_screen_index == 2) {
-               /*90L */
-               rotate_screen_rot = SETTING_SCREENROTATION_270_DEGREE;
-       } else if (rotate_screen_index == 3) {
-               /*180 */
-               rotate_screen_rot = SETTING_SCREENROTATION_180_DEGREE;
-       } else {
-               rotate_screen_rot = SETTING_SCREENROTATION_0_DEGREE;
-       }
-
-       /*set int */
-       _set_rotate_screen(rotate_screen_rot);
-
-       elm_genlist_realized_items_update(g_rotate_screen_genlist);
-
-       elm_naviframe_item_pop(temp_ad->nf);
-       if (!temp_ad->rotate_screen_rdg) {
-               evas_object_del(temp_ad->rotate_screen_rdg);
-               temp_ad->rotate_screen_rdg = NULL;
-       }
-}
-
-void _show_rotate_screen_list(void *data)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               DBG("%s", "_show_screen_timeout_list - appdata is null");
-               return;
-       }
-       Evas_Object *genlist  = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       int idx;
-
-       temp_ad = ad;
-
-       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
-       itc->item_style = "1text.1icon.1";
-       itc->func.text_get = _gl_roatate_screen_title_get;
-       itc->func.content_get = _gl_rotate_screen_radio_get;
-       itc->func.del = _rotate_screen_gl_del;
-
-       genlist = elm_genlist_add(ad->nf);
-       elm_genlist_block_count_set(genlist, 14);
-       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       connect_to_wheel_with_genlist(genlist, ad);
-
-       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
-       title_item->func.text_get = _gl_menu_title_text_get;
-       title_item->item_style = "title";
-       title_item->func.del = NULL;
-
-       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_ROTATE, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-       elm_genlist_item_class_free(title_item);
-
-       for (idx = 0; idx < ROTATE_SCREEN_COUNT; idx++) {
-               Item_Data *id = calloc(sizeof(Item_Data), 1);
-               if (id) {
-                       id->index = idx;
-                       id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, _rotate_screen_gl_cb, (void *)(uintptr_t)idx);
-               }
-       }
-
-       ad->rotate_screen_rdg = elm_radio_add(genlist);
-       elm_radio_state_value_set(ad->rotate_screen_rdg, -1);
-       elm_radio_value_set(ad->rotate_screen_rdg, rotate_screen_index);
-
-       evas_object_data_set(genlist, "radio_main", ad->rotate_screen_rdg);
-
-       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
-       padding->item_style = "padding";
-       padding->func.del = _rotate_screen_gl_del;
-
-       Elm_Object_Item *padding_item;
-       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
-       elm_genlist_item_class_free(padding);
-       g_screen_time_genlist = genlist;
-
-       elm_genlist_item_class_free(itc);
-
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, "empty");
-       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-}
-
-static void _set_rotate_screen(const int rotation)
-{
-       vconf_set_int(VCONFKEY_SETAPPL_SCREENROTATION_DEG_INT, rotation);
-}
-
-static int _get_rotate_screen()
-{
-       int rot;
-       vconf_get_int(VCONFKEY_SETAPPL_SCREENROTATION_DEG_INT, &rot);
-       return rot;
-}
-
-static void settings_font_style_changed_cb(system_settings_key_e key, void *user_data)
-{
-       DBG("settings_font_style_changed_cb");
-
-       appdata *ad = user_data;
-       if (ad == NULL)
-               return;
-
-       char *font_name = NULL;
-       Evas_Object *font_style_radio = NULL;
-       if (g_font_style_genlist) {
-               font_style_radio = evas_object_data_get(g_font_style_genlist, "radio_main");
-               if (font_style_radio) {
-                       if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_FONT_TYPE, &font_name)
-                               != SYSTEM_SETTINGS_ERROR_NONE) {
-                               ERR("failed to call system_setting_get_value_string with err");
-                               return;
-                       }
-
-                       DBG("Update a font style list");
-
-                       DBG("System font: %s", font_name);
-
-                       int index = 0;
-                       Eina_List *font_list = NULL;
-                       Eina_List *l = NULL;
-                       Elm_Object_Item *font_item = NULL;
-                       Font_Style_Item_Data *font_data = NULL;
-
-                       font_list = elm_genlist_realized_items_get(g_font_style_genlist);
-                       EINA_LIST_FOREACH(font_list, l, font_item) {
-                               font_data = (Font_Style_Item_Data *) elm_object_item_data_get(font_item);
-                               if (font_name && !strcmp((const char *)font_name, (const char *)font_data->font_name)) {
-                                       DBG("1: %s, 2: %s", font_name, font_data->font_name);
-                                       DBG("Font style matched index : %d", index);
-                                       elm_radio_value_set(font_style_radio, index);
-                                       return;
-                               }
-                               index++;
-                       }
-               }
-       }
-
-       if (font_style_item) {
-               elm_genlist_item_update(font_style_item);
-       }
-}
-
-static void setting_font_list_pop_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       ERR("setting_font_list_pop_cb");
-
-       font_size_item = NULL;
-       font_style_item = NULL;
-
-       if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_FONT_TYPE) != 0) {
-               ERR("system_settings_unset_changed_cb failed!!");
-       }
-
-       return;
-}
-
-static void change_language_enabling(keynode_t *key, void *data)
-{
-       if (lang_item == NULL) {
-               DBG("Setting - lang_item is null!!");
-               return;
-       }
-
-       int enable = 0;
-       vconf_get_bool(VCONFKEY_WMS_WMANAGER_CONNECTED, &enable);
-       if (enable) {
-               DBG("Setting - Language is disabled");
-       } else {
-               DBG("Setting - Language is enabled");
-       }
-
-       if (lang_item) {
-               elm_genlist_item_update(lang_item);
-       }
-}
-
-static void change_screen_time_cb(keynode_t *key, void *data)
-{
-       DBG("Setting - change_screen_time_cb");
-
-       if (g_screen_time_item) {
-               elm_genlist_item_update(g_screen_time_item);
-       }
-}
-
-static void change_language_cb(keynode_t *key, void *data)
-{
-       DBG("Setting - change_language_cb");
-
-       if (lang_item) {
-               elm_genlist_item_update(lang_item);
-       }
-}
-
-
-
-int brightness_index = 0;
-int brightness_origin_level = 0;
-Evas_Object *brightness_layout = NULL;
-
-static void _brightness_pop_cb(void *data, Evas_Object *obj, void *event_info);
-static void brightness_vconf_changed_cb(keynode_t *key, void *data);
-static void sync_brightness(int real_brightness);
-static int _change_bright_lovel_to_index(int level);
-#if 0 /*!defined(FEATURE_SETTING_EMUL) */
-static void _set_HBM_mode(int enable);
-#endif
-static int _change_bright_index_to_level(int index);
-
-int hbm_mode_on_original = 0;  /* backup for cancel */
+int hbm_mode_on_original = 0;  /* backup for cancel */
 
 /*#if defined(FEATURE_SETTING_EMUL) */
 int     display_get_hbm()
@@ -2349,437 +1367,3 @@ static void _set_HBM_mode(int enable)
 
 
 
-static void _clock_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       Evas_Object *layout = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       appdata *ad = data;
-
-       if (ad == NULL) {
-               DBG("Setting - ad is null");
-               return;
-       }
-
-       if (running) {
-               elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-               return;
-       }
-
-       if (is_running_clock) {
-               elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-               return;
-       }
-
-       initialize_clock(data);
-
-       layout = _clock_type_cb(data);
-       if (layout == NULL) {
-               DBG("%s", "clock cb - layout is null");
-               return;
-       }
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
-       back_button_cb_push(&back_key_generic_cb, data, NULL, g_display_genlist, "g_display_genlist");
-       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_clock_cb, ad);
-       /*elm_naviframe_item_pop_cb_set(nf_it, _clear_clock_cb, ad); */
-       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       is_running_clock = 1;
-
-       ad->MENU_TYPE = SETTING_CLOCK;
-}
-
-static Evas_Object *_gl_display_watch_always_check_get(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *check = NULL;
-
-       Display_Item_Data *id = data;
-       int index = id->index;
-
-       if (!strcmp(part, "elm.icon")) {
-               check = elm_check_add(obj);
-
-               int timeout = -1;
-               vconf_get_int(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, &timeout);
-               if (timeout)
-                       vconf_set_int(VCONFKEY_SETAPPL_LCD_TIMEOUT_BACKUP_FOR_WATCH_ALWAYS_ON, timeout);
-
-               elm_check_state_set(check, (timeout == 0) ? EINA_TRUE : EINA_FALSE);
-
-               elm_object_style_set(check, "on&off");
-               /*              evas_object_smart_callback_add(check, "changed", _display_watch_always_check_cb, (void *)check); */
-               evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_DOWN, _display_watch_always_check_cb, (void *)check);
-               evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_propagate_events_set(check, EINA_TRUE);
-
-               id->check = check;
-
-               index++;
-
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, check);
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, check);
-               elm_atspi_accessible_relationship_append(check, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
-
-       }
-
-       return check;
-}
-
-static void _set_watch_always_on_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       int val = 0;
-       appdata *ad = temp_ad;
-       Evas_Object *check = (Evas_Object *)data;
-
-       vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, val);
-
-       elm_check_state_set(check,      EINA_FALSE);
-
-       if (ad && ad->popup) {
-               evas_object_del(ad->popup);
-               ad->popup = NULL;
-       }
-       back_button_cb_pop();
-
-}
-
-static void _set_watch_always_on_ok_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       int val = 1;
-       appdata *ad = temp_ad;
-       Evas_Object *check = (Evas_Object *)data;
-
-       vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, val);
-       elm_check_state_set(check,      EINA_TRUE);
-
-       if (ad && ad->popup) {
-               evas_object_del(ad->popup);
-               ad->popup = NULL;
-       }
-       back_button_cb_pop();
-
-}
-
-void back_key_watch_always_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = (appdata *)temp_ad;
-       if (ad && ad->popup) {
-               evas_object_del(ad->popup);
-               ad->popup = NULL;
-       }
-       back_button_cb_pop();
-}
-
-static void _display_watch_always_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = temp_ad;
-       Evas_Object *check = (Evas_Object *)data;
-       int ambient_mode = 0;
-
-       if (ad == NULL) {
-               DBG("%s", "_display_watch_always_check_cb - appdata or check is null");
-               return;
-       }
-
-       DBG("_display_watch_always_check_cb is called!!!!!!!");
-
-       vconf_get_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, &ambient_mode);
-       DBG("ambient_mode:%d ", ambient_mode);
-
-       if (!ambient_mode) {
-
-               Evas_Object *popup = NULL;
-               Evas_Object *btn1 = NULL;
-               Evas_Object *btn2 = NULL;
-               Evas_Object *icon;
-
-               popup = elm_popup_add(ad->nf);
-               elm_object_style_set(popup, "circle");
-               evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_win_resize_object_add(ad->nf, popup);
-
-               ad->popup = popup;
-
-               char buf[1024];
-
-               char *font_size_frame = "<text_class=tizen><align=center>%s</align></text_class>";
-               snprintf(buf, sizeof(buf) - 1, font_size_frame, _("WDS_CLOCK_TPOP_ENABLING_WATCH_ALWAYS_ON_WILL_SIGNIFICANTLY_INCREASE_BATTERY_CONSUMPTION"));
-
-               Evas_Object *layout;
-               layout = elm_layout_add(popup);
-               elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
-
-               char *txt = strdup(buf);
-               elm_object_text_set(layout, txt);
-               elm_object_content_set(popup, layout);
-
-               FREE(txt);
-
-               btn1 = elm_button_add(popup);
-               elm_object_style_set(btn1, "popup/circle/left");
-               evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_object_part_content_set(popup, "button1", btn1);
-               evas_object_smart_callback_add(btn1, "clicked", _set_watch_always_on_cancel_cb, check);
-
-               icon = elm_image_add(btn1);
-               elm_image_file_set(icon, IMG_DIR"tw_ic_popup_btn_delete.png", NULL);
-               evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_object_part_content_set(btn1, "elm.swallow.content", icon);
-               evas_object_show(icon);
-
-               btn2 = elm_button_add(popup);
-               elm_object_style_set(btn2, "popup/circle/right");
-               evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_object_part_content_set(popup, "button2", btn2);
-               evas_object_smart_callback_add(btn2, "clicked", _set_watch_always_on_ok_clicked_cb, check);
-
-               icon = elm_image_add(btn2);
-               elm_image_file_set(icon, IMG_DIR"tw_ic_popup_btn_check.png", NULL);
-               evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               elm_object_part_content_set(btn2, "elm.swallow.content", icon);
-               evas_object_show(icon);
-
-               evas_object_show(popup);
-               back_button_cb_push(&back_key_watch_always_popup_cb, check, NULL, g_display_genlist, "g_display_genlist");
-               eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _hw_back_key_cb, NULL);
-
-       } else {
-               /* disable watch always off with out popup */
-
-               DBG("Cancel watch always on!", ambient_mode);
-               vconf_set_bool(VCONFKEY_SETAPPL_AMBIENT_MODE_BOOL, !ambient_mode);
-
-               /*              elm_check_state_set(check,      EINA_FALSE); */
-       }
-
-}
-#ifdef FEATURE_SETTING_EMUL
-static void _display_gl_watch_always_on_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       DBG("_display_gl_watch_always_on_cb is called!!!!!!!");
-}
-#endif
-
-static void _display_gl_display_noti_indicator_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       DBG("_display_gl_display_noti_indicator_cb is called!!!!!!!");
-       _show_noti_indicator_list(data);
-}
-
-void _noti_indicator_help_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       appdata *ad = (appdata *) data;
-       if (ad == NULL)
-               return;
-
-       Evas_Object *popup = NULL;
-
-       popup = elm_popup_add(ad->nf);
-       elm_object_style_set(popup, "circle");
-       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_win_resize_object_add(ad->nf, popup);
-
-       ad->popup = popup;
-
-       char buf[1024];
-
-       char *font_size_frame = "<font=Tizen><style=Thin><align=center>%s</align></style></font>";
-       snprintf(buf, sizeof(buf) - 1, font_size_frame, "&nbsp;<br>Show a yellow indicator on the watch face when there are unread notifications.");
-
-       Evas_Object *layout;
-       layout = elm_layout_add(popup);
-       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons1");
-       elm_object_part_text_set(layout, "elm.text.title", "Help");
-
-       char *txt = strdup(buf);
-       elm_object_text_set(layout, txt);
-       elm_object_content_set(popup, layout);
-
-       FREE(txt);
-
-       evas_object_show(popup);
-       back_button_cb_push(&back_key_popup_cb, data, NULL, g_noti_indicator_genlist, "g_noti_indicator_genlist");
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _hw_back_key_cb, NULL);
-
-}
-
-static void _display_gl_display_noti_indicator_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       int value = 0;
-       Elm_Object_Item *it = (Elm_Object_Item *)event_info;
-       appdata *ad = data;
-
-       if (ad == NULL) {
-               DBG("%s", "_touch_sound_cb - appdata or check is null");
-               return;
-       }
-       vconf_get_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, &value);
-       value = value ? 0 : 1;
-       vconf_set_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, value);
-
-
-       if (g_noti_check != NULL)
-               elm_check_state_set(g_noti_check, (value) ? EINA_TRUE : EINA_FALSE);
-
-       elm_genlist_item_selected_set(it, EINA_FALSE);
-
-}
-
-static void _display_gl_display_noti_indicator_help_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       DBG("_display_gl_display_noti_indicator_help_cb is called!!!!!!!");
-       _noti_indicator_help_popup_cb(data, obj, event_info);
-}
-
-static void _display_noti_indicator_check_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       Evas_Object *check = obj;
-       int nofi_indicator = 0;
-       nofi_indicator = !elm_check_state_get(check);
-       vconf_set_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR, nofi_indicator);
-       ERR("Setting VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR : %d", nofi_indicator);
-}
-
-static Evas_Object *_gl_display_noti_indicator_check_get(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *check = NULL;
-       Item_Data *id = (Item_Data *)data;
-
-
-       if (!strcmp(part, "elm.icon") && id->index == 0) {
-               int noti_indicator = 0;
-               check = elm_check_add(obj);
-
-               vconf_get_bool(VCONFKEY_SETAPPL_NOTIFICATION_INDICATOR , &noti_indicator);
-               elm_object_style_set(check, "on&off");
-               ERR("notification_indicator : %d", noti_indicator);
-
-               elm_check_state_set(check, (noti_indicator) ? EINA_TRUE : EINA_FALSE);
-               evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_UP, _display_noti_indicator_check_cb, (void *)check);
-               evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_propagate_events_set(check, EINA_FALSE);
-
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_DESCRIBED_BY, check);
-               elm_atspi_accessible_relationship_append(id->item, ELM_ATSPI_RELATION_CONTROLLER_FOR, check);
-               elm_atspi_accessible_relationship_append(check, ELM_ATSPI_RELATION_CONTROLLED_BY, id->item);
-               g_noti_check = check;
-
-       }
-
-       return check;
-}
-
-
-static char *_gl_noti_title_get(void *data, Evas_Object *obj, const char *part)
-{
-       char buf[1024] = {0,};
-       Display_Item_Data *id = data;
-       int index = id->index;
-
-       if (!strcmp(part, "elm.text")) {
-               snprintf(buf, sizeof(buf) - 1, "%s", _(noti_menu_its[index].name));
-       }
-       return strdup(buf);
-}
-
-static void _noti_indicator_gl_del(void *data, Evas_Object *obj)
-{
-       Item_Data *id = data;
-       FREE(id);
-
-       Elm_Object_Item *first = elm_genlist_first_item_get(g_noti_indicator_genlist);
-       elm_object_item_signal_emit(first, "elm,action,title,slide,start", "elm");
-}
-
-static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       Elm_Object_Item *item = (Elm_Object_Item *)event_info;
-       Elm_Object_Item *first = elm_genlist_first_item_get(g_noti_indicator_genlist);
-       if (first == item)
-               elm_object_item_signal_emit(first, "elm,action,title,slide,start", "elm");
-
-}
-
-static void _show_noti_indicator_list(void *data)
-{
-       appdata *ad = data;
-       if (ad == NULL) {
-               DBG("%s", "_show_font_list - appdata is null");
-               return;
-       }
-
-       Evas_Object *genlist  = NULL;
-       Elm_Object_Item *nf_it = NULL;
-       int idx;
-
-       temp_ad = ad;
-       Elm_Genlist_Item_Class *itc[2];
-       itc[0] = elm_genlist_item_class_new();
-       itc[0]->item_style = "1text.1icon.1";
-       itc[0]->func.text_get = _gl_noti_title_get;
-       itc[0]->func.content_get = _gl_display_noti_indicator_check_get;
-       itc[0]->func.del = _noti_indicator_gl_del;
-
-       itc[1] = elm_genlist_item_class_new();
-       itc[1]->item_style = "1text";
-       itc[1]->func.text_get = _gl_noti_title_get;
-       itc[1]->func.del = _noti_indicator_gl_del;
-
-
-       Evas_Object *layout = elm_layout_add(ad->nf);
-       elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       genlist = elm_genlist_add(layout);
-       elm_genlist_block_count_set(genlist, 14);
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       connect_to_wheel_with_genlist(genlist, ad);
-
-       evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
-
-       Elm_Genlist_Item_Class *title_item = elm_genlist_item_class_new();
-       title_item->func.text_get = _gl_menu_title_text_get;
-       title_item->item_style = "title";
-       title_item->func.del = NULL;
-
-       elm_genlist_item_append(genlist, title_item, (void *)DISPLAY_TITLE_NOTIFICATION_INDICATOR, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-       elm_genlist_item_class_free(title_item);
-
-       for (idx = 0; idx < 2; idx++) {
-               Item_Data *id = calloc(sizeof(Item_Data), 1);
-               if (id) {
-                       id->index = idx;
-                       id->item = elm_genlist_item_append(genlist, itc[idx], id, NULL,
-                                                                                          ELM_GENLIST_ITEM_NONE, noti_menu_its[idx].func, ad);
-
-               }
-       }
-
-       elm_object_part_content_set(layout, "elm.genlist", genlist);
-
-       elm_genlist_item_class_free(itc[0]);
-       elm_genlist_item_class_free(itc[1]);
-
-       Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
-       padding->item_style = "padding";
-       padding->func.del = _noti_indicator_gl_del;
-       g_noti_indicator_genlist = genlist;
-       Elm_Object_Item *padding_item;
-       padding_item = elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-       elm_atspi_accessible_role_set(padding_item, ELM_ATSPI_ROLE_REDUNDANT_OBJECT);
-       elm_genlist_item_class_free(padding);
-
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, "empty");
-       back_button_cb_push(&back_key_generic_cb, data, NULL, g_display_genlist, "g_display_genlist");
-       elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
-       elm_object_item_domain_text_translatable_set(nf_it, SETTING_PACKAGE, EINA_TRUE);
-
-}
-
index 91254fbd9b932ef05e12a86d5a9192f84cd0808d..c22d232c803713b87f4703967d3ea2f0692409be 100644 (file)
@@ -720,6 +720,10 @@ Evas_Object *_create_volume_page(void *data)
        int i;
 
        page_data *pd = calloc(1, sizeof(page_data));
+       if (pd == NULL) {
+               DBG("%s", "_create_volume_page - pd is null");
+               return NULL;
+       }
        g_pd = pd;
 
        /* Create Layout */
index 394fe291a26a956229ee781d30b203d8c9abeb34..39c19fc867fc7ea2b3ecf7651a0b73e3ac0347c8 100644 (file)
 int app_control_set_package(app_control_h app_control, const char *package);
 
 static struct _main_menu_item setting_menu_its[] = {
-       { SETTING_MAIN_MENU_DISPLAY,                    "IDS_ST_MBODY_DISPLAY_ABB",             "b_setting_list_display.png",           display_cb                      },
+       { SETTING_MAIN_MENU_WATCH_FACE_STYLES,  "Watch faces and style",                "b_setting_list_display.png",           clock_cb                        },
        { SETTING_MAIN_MENU_SOUND,                              "IDS_ST_OPT_SOUND_ABB2",                "b_setting_list_sound.png",                     sound_cb                        },
        { SETTING_MAIN_MENU_DEVICE,                             "IDS_ST_BODY_DEVICE",                   "b_settings_list_device.png",                   device_cb                       },
+       { SETTING_MAIN_MENU_DISPLAY,                    "IDS_ST_MBODY_DISPLAY_ABB",             "b_setting_list_display.png",           display_cb                      },
+       { SETTING_MAIN_MENU_CALL,                               "Call",         "b_setting_list_display.png",           call_cb                 },
+       { SETTING_MAIN_MENU_MESSAGES,                   "Messages",             "b_setting_list_display.png",           message_cb                      },
        { SETTING_MAIN_MENU_CONNECTIONS,                "IDS_ST_BODY_CONNECTIONS",              "b_setting_list_connections.png",               connection_cb   },
-       { SETTING_MAIN_MENU_ACCOUNTS,                   "IDS_ST_BODY_ACCOUNTS",                 "b_setting_list_account.png",           account_cb},
-       { SETTING_MAIN_MENU_ACCESSIBILITY,              "IDS_ST_BODY_ACCESSIBILITY",    "b_setting_list_accessibility.png",             accessiblity_cb},
+       { SETTING_MAIN_MENU_APP_SETTINGS,               "IDS_ST_BODY_ACCOUNTS",                 "b_setting_list_account.png",           account_cb},
        { SETTING_MAIN_MENU_INPUT,                              "IDS_ST_HEADER_INPUT",                  "b_setting_list_input.png",                     keyboard_cb                     },
+       { SETTING_MAIN_MENU_ACCESSIBILITY,              "IDS_ST_BODY_ACCESSIBILITY",    "b_setting_list_accessibility.png",             accessiblity_cb},
+       { SETTING_MAIN_MENU_ACCOUNTS,                   "IDS_ST_BODY_ACCOUNTS",                 "b_setting_list_account.png",           account_cb},
+       { SETTING_MAIN_MENU_POWER_SAVING,               "Power Saving",                                 "b_setting_list_account.png",           account_cb},
 #ifdef FEATURE_SETTING_EMUL
        { SETTING_MAIN_MENU_DEVELOPER_OPTIONS,  "Developer options",                    "b_settings_list_developer.png",                        developer_cb},
 #endif
@@ -84,7 +89,7 @@ _gl_menu_title_text_get(void *data, Evas_Object *obj, const char *part)
 
 void clock_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       Evas_Object *layout = NULL;
+       Evas_Object *genlist = NULL;
        Elm_Object_Item *nf_it = NULL;
        appdata *ad = data;
 
@@ -95,26 +100,21 @@ void clock_cb(void *data, Evas_Object *obj, void *event_info)
                return;
        }
 
-       if (is_running_clock) {
-               elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-               return;
-       }
-
        initialize_clock(data);
 
-       /*genlist = _create_clock_list(data); */
-       layout = _clock_type_cb(data);
-       if (layout == NULL) {
+       genlist = _create_clock_list(data);
+       //genlist = _create_sound_list(data);
+       if (genlist == NULL) {
                DBG("%s", "clock cb - layout is null");
                return;
        }
-       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
-       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_clock_cb, ad);
+       nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
+       back_button_cb_push(&back_key_generic_cb, data, NULL, ad->main_genlist, "main_genlist");
+       evas_object_event_callback_add(nf_it , EVAS_CALLBACK_DEL, _clear_clock_cb, ad);
        /*elm_naviframe_item_pop_cb_set(nf_it, _clear_clock_cb, ad); */
        elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
 
        elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       is_running_clock = 1;
 
        ad->MENU_TYPE = SETTING_CLOCK;
 }
@@ -471,6 +471,71 @@ void account_cb(void *data, Evas_Object *obj, void *event_info)
        running_timer = ecore_timer_add(0.5, (Ecore_Task_Cb)_app_ctrl_timer_cb, NULL);
 }
 
+void call_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       DBG("call_cb in");
+       appdata *ad = data;
+
+       if (ad == NULL) {
+               DBG("Setting - ad is null");
+               return;
+       }
+
+       if (running) {
+               return;
+       }
+
+       app_control_h service;
+       app_control_create(&service);
+       app_control_set_package(service, "org.tizen.w-call-setting");
+       app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       app_control_send_launch_request(service, NULL, NULL);
+       app_control_destroy(service);
+
+       running = true;
+
+       if (running_timer) {
+               ecore_timer_del(running_timer);
+               running_timer = NULL;
+       }
+       running_timer = ecore_timer_add(0.5, (Ecore_Task_Cb)_app_ctrl_timer_cb, NULL);
+}
+
+void message_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       DBG("message_cb in");
+       appdata *ad = data;
+
+       if (ad == NULL) {
+               DBG("Setting - ad is null");
+               return;
+       }
+
+       if (running) {
+               return;
+       }
+
+       app_control_h service;
+       app_control_create(&service);
+       app_control_set_package(service, "org.tizen.w-message");
+       app_control_set_operation(service, "http://tizen.org/appcontrol/operation/setting/messages");
+       app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       app_control_send_launch_request(service, NULL, NULL);
+       app_control_destroy(service);
+
+       running = true;
+
+       if (running_timer) {
+               ecore_timer_del(running_timer);
+               running_timer = NULL;
+       }
+       running_timer = ecore_timer_add(0.5, (Ecore_Task_Cb)_app_ctrl_timer_cb, NULL);
+}
+
 void accessiblity_cb(void *data, Evas_Object *obj, void *event_info)
 {
        elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
@@ -1001,7 +1066,7 @@ void app_terminate(void *data)
        }
        if (ad->main_media_volume_ly) {
                _clear_volume_resources();
-               ad->main_volume_ly = NULL;
+               ad->main_media_volume_ly = NULL;
        }
        if (ad->main_watch_face_ly) {
                ad->main_watch_face_ly = NULL;
@@ -1148,8 +1213,6 @@ void load_connections_setting(void *data)
        setting_ret_if(!ad);
        setting_ret_if(!ad->nf);
 
-       initialize_clock(data);
-
        connections_ly = _create_connection_list(data);
        ad->main_connections_ly= nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, connections_ly, NULL);
        elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);