Added editor button in watch-face. 63/181263/2 accepted/tizen/unified/20180620.131432 submit/tizen/20180618.025659
authorjinwang.an <jinwang.an@samsung.com>
Mon, 11 Jun 2018 10:15:55 +0000 (19:15 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Mon, 11 Jun 2018 10:22:42 +0000 (19:22 +0900)
Change-Id: Id3499c682b1b7eb8c1ffaab99c0d7bc554b8155d
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
include/setting-clock.h
src/setting-clock.c
src/setting.c

index 8c8f7e74165661648349202f884dcf9cd04b96e0..d8467b5592c27495080493f6aacc662da194f1c5 100644 (file)
@@ -52,7 +52,7 @@ enum {
 #if FEATURE_SETTING_EMUL
        SETTING_CLOCK_WATCH_ALWAYS_ON,
 #endif
-       SETTING_CLOCK_BACKGROUND_STYLE,
+//     SETTING_CLOCK_BACKGROUND_STYLE,
        SETTING_CLOCK_FONT,
 };
 
index 5daa29d238f3b23a3a3fe7b6172af319aa51661b..f2f9bf5a0e90651609081266ef5b06178ae23f92 100644 (file)
@@ -39,6 +39,7 @@
 
 EAPI Evas_Object        *elm_widget_top_get(const Evas_Object *obj);
 
+static bool running_editor = false;
 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);
@@ -53,7 +54,7 @@ static void _mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event
 static void _page_show(void *data, Evas *e, Evas_Object *obj, void *event_info);
 Evas_Object *_clock_type_cb(void *data);
 
-static void _clock_cb(void *data, Evas_Object *obj, void *event_info);
+static void _watchface_cb(void *data, Evas_Object *obj, void *event_info);
 static void _clock_bg_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);
@@ -86,7 +87,7 @@ 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[] = {
-       { "WDS_WMGR_HEADER_WATCH_FACES",                                SETTING_CLOCK_WATCH_FACE,       _clock_cb},
+       { "WDS_WMGR_HEADER_WATCH_FACES",                                SETTING_CLOCK_WATCH_FACE,       _watchface_cb},
        { "WDS_CLOCK_MBODY_NOTIFICATION_INDICATOR",     SETTING_CLOCK_NOTIFICATION_INDICATOR,   _clock_gl_clock_noti_indicator_cb },
 #if FEATURE_SETTING_EMUL
        { "WDS_CLOCK_MBODY_WATCH_ALWAYS_ON_ABB",        SETTING_CLOCK_WATCH_ALWAYS_ON,  _clock_gl_watch_always_on_cb    },
@@ -95,7 +96,7 @@ static struct _clock_menu_item clock_menu_its[] = {
 //     { "IDS_ST_BODY_DATE_AND_TIME_ABB",      0,      _dt_cb },
 //     { "IDS_ST_BODY_HOURLY_ALERT_ABB",       0,              _hourly_alert_cb },
 #endif
-       { "WDS_ST_MBODY_BACKGROUND_STYLE",      SETTING_CLOCK_BACKGROUND_STYLE, _clock_bg_cb            },
+//     { "WDS_ST_MBODY_BACKGROUND_STYLE",      SETTING_CLOCK_BACKGROUND_STYLE, _clock_bg_cb            },
        { "IDS_ST_BODY_FONT",                           SETTING_CLOCK_FONT,     _clock_gl_font_cb               },
 };
 
@@ -220,6 +221,59 @@ Evas_Object *_elm_min_set(Evas_Object *obj, Evas_Object *parent, Evas_Coord w, E
        return table;
 }
 
+void _edit_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       DBG("_edit_clicked_cb in");
+       app_control_h service;
+       app_control_create(&service);
+       app_control_set_package(service, "org.tizen.watch-face-editor");
+       app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       app_control_send_launch_request(service, NULL, NULL);
+       app_control_destroy(service);
+
+       return;
+}
+
+Evas_Object *_elm_min_set_item(Evas_Object *obj, Evas_Object *parent, Evas_Coord w, Evas_Coord h, void *data)
+{
+       Evas_Object *table, *rect, *label, *btn;
+       char buff[1024] = {0};
+       Clock_Type_Item * pitem = (Clock_Type_Item *)data;
+       char *string = pitem->pkgid;
+
+       table = elm_table_add(parent);
+       rect = evas_object_rectangle_add(evas_object_evas_get(table));
+       evas_object_size_hint_min_set(rect, w, h/7);
+       evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_table_pack(table, rect, 0, 0, 1, 1);
+
+       label = elm_label_add(parent);
+       snprintf(buff, sizeof(buff), "<font_size=25><align=center>%s</align></font_size>", string);
+       elm_object_text_set(label, buff);
+       evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(label);
+       elm_table_pack(table, label, 0, 1, 1, 1);
+
+       evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_table_pack(table, obj, 0, 2, 1, 1);
+
+       btn = elm_button_add(parent);
+       evas_object_smart_callback_add(btn, "clicked", _edit_clicked_cb, NULL);
+       evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_object_text_set(btn, "EDITOR");
+       evas_object_show(btn);
+       elm_table_pack(table, btn, 0, 3, 1, 1);
+
+
+       return table;
+}
+
 static Clock_Type_Item *_get_selected_clock()
 {
        Clock_Type_Item *pitem = NULL;
@@ -592,6 +646,7 @@ void _clear_clock_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
        unregister_vconf_changing(VCONFKEY_WMS_CLOCKS_SET_IDLE, update_clock_list_cb);
 
        is_running_clock = 0;
+       DBG("clear_clock_cb call!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
 }
 
 static void _layout_del_cb(void *data , Evas *e, Evas_Object *obj, void *event_info)
@@ -832,7 +887,7 @@ static Evas_Object *_create_index(Evas_Object *parent, void *data)
                        Evas_Object      *table;
                        Evas_Coord w = 0, h = 0;
                        elm_win_screen_size_get((const Elm_Win *)elm_widget_top_get(parent), NULL, NULL, &w, &h);
-                       table = _elm_min_set(page_layout, box, w, h);
+                       table = _elm_min_set_item(page_layout, box, w, h, (void*)pitem);
                        evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                        evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL);
                        evas_object_show(table);
@@ -1440,7 +1495,8 @@ Evas_Object *_create_clock_list(void *data)
 
        itc[SETTING_CLOCK_FONT] = itc[SETTING_CLOCK_NOTIFICATION_INDICATOR]
                                                        = itc_2text;
-       itc[SETTING_CLOCK_BACKGROUND_STYLE] = itc[SETTING_CLOCK_WATCH_FACE] = itc_general;
+       //itc[SETTING_CLOCK_BACKGROUND_STYLE] = itc[SETTING_CLOCK_WATCH_FACE] = itc_general;
+       itc[SETTING_CLOCK_WATCH_FACE] = itc_general;
 #if FEATURE_SETTING_EMUL
        itc[SETTING_CLOCK_WATCH_ALWAYS_ON] = itc_1icon;
 #endif
@@ -2183,7 +2239,7 @@ static int _clock_type_compare_cb(const void *d1, const void *d2)
        }
 }
 
-static void _clock_cb(void *data, Evas_Object *obj, void *event_info)
+static void _watchface_cb(void *data, Evas_Object *obj, void *event_info)
 {
        Evas_Object *layout = NULL;
        Elm_Object_Item *nf_it = NULL;
@@ -2194,6 +2250,8 @@ static void _clock_cb(void *data, Evas_Object *obj, void *event_info)
                return;
        }
 
+       initialize_clock(data);
+
        if (is_running_clock) {
                elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
                return;
index 36a77239fe819c6d65c1601a65c09c50652655c6..20ee57c0fc98e614fa24f7179173aae423d2f212 100644 (file)
@@ -95,17 +95,14 @@ void clock_cb(void *data, Evas_Object *obj, void *event_info)
                return;
        }
 
-       initialize_clock(data);
-
        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, 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);
+//     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);