iot common: enable advanced view 67/234067/2
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 21 May 2020 11:22:00 +0000 (20:22 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 21 May 2020 11:23:14 +0000 (20:23 +0900)
- add more button
- apply new genlist style

Change-Id: Ica6a5d5c063fe3fa136c0bae3725066cbd3202f0

sources/libraries/Common/common_utils.c
sources/ui-gadget/viewers-layout/view_advanced.c
sources/ui-gadget/viewers-layout/viewer_manager.c

index 433f34d..3712456 100755 (executable)
@@ -854,15 +854,30 @@ static void _init_genlist_multiline_style(void)
        g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].sub_content_part = GENLIST_PART_ELM_SWALLOW_END;
 }
 
+static void _init_genlist_common_multiline_style(void)
+{
+       g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].style_name = GENLIST_STYLE_MULTILINE;
+       g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].text_part = GENLIST_PART_ELM_TEXT;
+       g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].sub_text_part = GENLIST_PART_ELM_TEXT_MULTILINE;
+       g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].content_part = GENLIST_PART_ELM_ICON;
+       g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].sub_content_part = GENLIST_PART_ELM_END;
+}
+
 static void _init_genlist_group_index_style(void)
 {
        g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].style_name = GENLIST_STYLE_GROUP_INDEX;
        g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].text_part = GENLIST_PART_ELM_TEXT;
        g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].sub_text_part = NULL;
-       if (g_ug_type == UG_VIEW_IOT_COMMON)
-               g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].content_part = GENLIST_PART_ELM_END;
-       else
-               g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].content_part = NULL;
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].content_part = NULL;
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].sub_content_part = NULL;
+}
+
+static void _init_genlist_common_group_index_style(void)
+{
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].style_name = GENLIST_STYLE_GROUP_INDEX;
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].text_part = GENLIST_PART_ELM_TEXT;
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].sub_text_part = NULL;
+       g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].content_part = GENLIST_PART_ELM_END;
        g_genlist_info[WIFI_GENLIST_GROUP_INDEX_STYLE].sub_content_part = NULL;
 }
 
@@ -880,12 +895,14 @@ void common_util_update_genlist_style(void)
        if (g_ug_type == UG_VIEW_IOT_COMMON) {
                _init_genlist_1line_style();
                _init_genlist_2line_style();
+               _init_genlist_common_multiline_style();
+               _init_genlist_common_group_index_style();
        } else {
                _init_genlist_type1_style();
                _init_genlist_type2_style();
+               _init_genlist_multiline_style();
+               _init_genlist_group_index_style();
        }
-       _init_genlist_multiline_style();
-       _init_genlist_group_index_style();
        _init_genlist_full_style();
 }
 
index 92bbc5a..f5b9a48 100755 (executable)
@@ -73,8 +73,7 @@ static Evas_Object *_gl_content_get_keep_wifi_sub(void *data, Evas_Object *obj,
 
 /* Global variables for elm_genlist itc */
 static Elm_Genlist_Item_Class itc_network_noti = {
-//             .item_style = g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].style_name,
-               .item_style = GENLIST_STYLE_MULTILINE,
+               .item_style = NULL,
                .func.text_get = _gl_network_notification_text_get,
                .func.content_get = _gl_content_get_network_noti
 };
@@ -102,21 +101,18 @@ static Elm_Genlist_Item_Class itc_keep_wifi_sub_never = {
 #endif
 
 static Elm_Genlist_Item_Class itc_sort_by = {
-//             .item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name,
-               .item_style = GENLIST_STYLE_TYPE1,
+               .item_style = NULL,
                .func.text_get = _gl_sort_by_text_get,
 };
 
 static Elm_Genlist_Item_Class itc_sort_by_sub = {
-               //.item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name,
-               .item_style = GENLIST_STYLE_TYPE1,
+               .item_style = NULL,
                .func.text_get = _gl_sort_by_sub_text_get,
                .func.content_get = _gl_content_get_sort_by_sub,
 };
 
 static Elm_Genlist_Item_Class itc_install_cert = {
-//             .item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name,
-               .item_style = GENLIST_STYLE_TYPE1,
+               .item_style = NULL,
                .func.text_get = _gl_install_certificate_text_get,
 };
 
@@ -218,6 +214,27 @@ int _convert_vconf_to_sort_by_value(int vconf_value)
        return -1;
 }
 
+static void _gl_realized(void *data, Evas_Object *obj, void *event_info)
+{
+    if (!obj || !event_info)
+        return;
+
+    Evas_Object *genlist = obj;
+    Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+    int index = 0;
+    int count = 0;
+
+    count = elm_genlist_items_count(genlist);
+    index = elm_genlist_item_index_get(item);
+
+    if (index == 1)
+        elm_object_item_signal_emit(item, "elm,state,group,top", "elm");
+    else if (index == count)
+        elm_object_item_signal_emit(item, "elm,state,group,bottom", "elm");
+    else
+        elm_object_item_signal_emit(item, "elm,state,group,middle", "elm");
+}
+
 static char *_gl_sort_by_text_get(void *data, Evas_Object *obj,
                const char *part)
 {
@@ -657,6 +674,7 @@ static void _gl_sort_by(void *data, Evas_Object *obj, void *event_info)
        g_pd.sort_by_radio_group = elm_radio_add(genlist);
        evas_object_data_set(genlist, "radio", g_pd.sort_by_radio_group);
 
+       itc_sort_by_sub.item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name;
        elm_genlist_item_append(genlist, &itc_sort_by_sub,
                        (const void *) I18N_TYPE_Alphabetical, NULL, ELM_GENLIST_ITEM_NONE,
                        _gl_changed_sort_by_sub, (const void *)I18N_TYPE_Alphabetical);
@@ -692,7 +710,10 @@ static Evas_Object *_create_list(Evas_Object *parent)
 
        elm_genlist_mode_set(gl, ELM_LIST_COMPRESS);
 
+       evas_object_smart_callback_add(gl, "realized", _gl_realized, NULL);
+
        /* Network Notification */
+       itc_network_noti.item_style = g_genlist_info[WIFI_GENLIST_MULTILINE_STYLE].style_name;
        g_pd.item_network_noti = elm_genlist_item_append(gl, &itc_network_noti,
                        (const void *) I18N_TYPE_Network_notification, NULL,
                        ELM_GENLIST_ITEM_NONE, _gl_changed_network_noti, NULL);
@@ -705,11 +726,13 @@ static Evas_Object *_create_list(Evas_Object *parent)
 #endif
 
        /* Sort By */
+       itc_sort_by.item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name;
        g_pd.item_sort_by = elm_genlist_item_append(gl, &itc_sort_by,
                        (const void *) I18N_TYPE_Sort_by, NULL,
                        ELM_GENLIST_ITEM_NONE, _gl_sort_by, NULL);
 
        /* Install Certificate */
+       itc_install_cert.item_style = g_genlist_info[WIFI_GENLIST_1LINE_STYLE].style_name;
        g_pd.item_install_cert = elm_genlist_item_append(gl, &itc_install_cert,
                        NULL, NULL, ELM_GENLIST_ITEM_NONE, _gl_cert_sel_cb, NULL);
 
@@ -778,11 +801,21 @@ static Eina_Bool __back_key_cb(void *data, Elm_Object_Item *it)
        return EINA_TRUE;
 }
 
+static void __back_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       Evas_Object *navi_frame = (Evas_Object *)data;
+       if (!navi_frame)
+               return;
+
+       elm_naviframe_item_pop(navi_frame);
+}
+
 void view_advanced(void)
 {
        Evas_Object *layout = NULL;
        Evas_Object *navi_frame = NULL;
        Elm_Object_Item *navi_it = NULL;
+       Evas_Object *back_btn = NULL;
        char title[100];
 
        __COMMON_FUNC_ENTER__;
@@ -798,13 +831,18 @@ void view_advanced(void)
        layout = common_utils_create_layout(navi_frame);
        evas_object_show(layout);
 
+       back_btn = elm_button_add(navi_frame);
+       elm_object_style_set(back_btn, "naviframe/back_btn/default");
+       evas_object_smart_callback_add(back_btn, "clicked", __back_btn_cb, navi_frame);
+       elm_object_focus_allow_set(back_btn, EINA_FALSE);
+
        g_pd.list = _create_list(layout);
        assertm_if(NULL == g_pd.list, "_create_list failed");
 
        elm_object_part_content_set(layout, "elm.swallow.content", g_pd.list);
 
        g_strlcpy(title, "IDS_WIFI_BODY_ADVANCED_SETTINGS", sizeof(title));
-       navi_it = elm_naviframe_item_push(navi_frame, title, NULL, NULL,
+       navi_it = elm_naviframe_item_push(navi_frame, title, back_btn, NULL,
                        layout, NULL);
        elm_object_item_domain_text_translatable_set(navi_it, PACKAGE, EINA_TRUE);
 
index 331d2e5..bb527c9 100755 (executable)
@@ -1073,10 +1073,16 @@ static void __viewer_manager_create_wifi_ug_content(Evas_Object *layout,
                        "transition,finished", _transition_finished_main_cb, navi_it);
 
        more_btn = elm_button_add(manager_object->nav);
-       elm_object_style_set(more_btn, "naviframe/more/default");
        evas_object_smart_callback_add(more_btn, "clicked",
                        _more_button_cb, _win_main);
-       elm_object_item_part_content_set(navi_it, "toolbar_more_btn", more_btn);
+
+       if (ug_app_state->ug_type == UG_VIEW_IOT_COMMON) {
+               elm_object_style_set(more_btn, "naviframe/more");
+               elm_object_item_part_content_set(navi_it, "title_content", more_btn);
+       } else {
+               elm_object_style_set(more_btn, "naviframe/more/default");
+               elm_object_item_part_content_set(navi_it, "toolbar_more_btn", more_btn);
+       }
 
        elm_naviframe_item_pop_cb_set(navi_it, _back_sk_cb, NULL);