From b0cefc21e579e0cff14eba2839de79f16008f7f0 Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Wed, 20 May 2020 20:30:04 +0900 Subject: [PATCH] Apply new genlist style for common profile - add padding - apply realized callback for rounded corner Change-Id: Ia6156896bd2dc7aebbd43539df7ea069fa2c3261 --- sources/libraries/Common/common_utils.c | 11 +++-- sources/libraries/Common/include/common.h | 3 ++ sources/ui-gadget/CMakeLists.txt | 10 ++++ sources/ui-gadget/edcs/main_layout.edc | 56 ++++++++++++++++++++++ sources/ui-gadget/viewers-layout/view_detail.c | 25 ++++++++++ sources/ui-gadget/viewers-layout/viewer_manager.c | 11 +++-- .../ui-gadget/viewers-layout/wifi_viewer_list.c | 28 +++++++++++ 7 files changed, 138 insertions(+), 6 deletions(-) create mode 100644 sources/ui-gadget/edcs/main_layout.edc diff --git a/sources/libraries/Common/common_utils.c b/sources/libraries/Common/common_utils.c index eadf055..a146959 100755 --- a/sources/libraries/Common/common_utils.c +++ b/sources/libraries/Common/common_utils.c @@ -361,9 +361,14 @@ Evas_Object *common_utils_create_layout(Evas_Object *navi_frame) { Evas_Object *layout; layout = elm_layout_add(navi_frame); - elm_layout_theme_set(layout, "layout", "application", "noindicator"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(layout); + + if (g_ug_type == UG_VIEW_IOT_COMMON) { + elm_layout_file_set(layout, MAIN_LAYOUT_EDJ_PATH, "main_layout"); + } else { + elm_layout_theme_set(layout, "layout", "application", "noindicator"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(layout); + } return layout; } diff --git a/sources/libraries/Common/include/common.h b/sources/libraries/Common/include/common.h index bfe16b2..5fc2d49 100755 --- a/sources/libraries/Common/include/common.h +++ b/sources/libraries/Common/include/common.h @@ -55,6 +55,9 @@ extern "C" #define OOBE_BUTTONS_EDJ_PATH \ "/usr/apps/wifi-efl-ug/res/edje/oobe_buttons.edj" +#define MAIN_LAYOUT_EDJ_PATH \ + "/usr/apps/wifi-efl-ug/res/edje/main_layout.edj" + /* Log Level */ #define COMMON_LOG_DEBUG LOG_DEBUG #define COMMON_LOG_INFO LOG_INFO diff --git a/sources/ui-gadget/CMakeLists.txt b/sources/ui-gadget/CMakeLists.txt index bb6c18c..ce011ee 100644 --- a/sources/ui-gadget/CMakeLists.txt +++ b/sources/ui-gadget/CMakeLists.txt @@ -50,6 +50,15 @@ ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) +ADD_CUSTOM_TARGET(main_layout.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images + ${CMAKE_CURRENT_SOURCE_DIR}/edcs/main_layout.edc + ${CMAKE_CURRENT_SOURCE_DIR}/edcs/main_layout.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edcs/main_layout.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} main_layout.edj) + ADD_CUSTOM_TARGET(custom_editfield.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edc @@ -93,6 +102,7 @@ ADD_DEPENDENCIES(${PROJECT_NAME} oobe_buttons.edj) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/ug/lib/) # install image files +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/main_layout.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_genlist.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/setup_wizard.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje) diff --git a/sources/ui-gadget/edcs/main_layout.edc b/sources/ui-gadget/edcs/main_layout.edc new file mode 100644 index 0000000..b1df0b2 --- /dev/null +++ b/sources/ui-gadget/edcs/main_layout.edc @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define PADDING_SIZE 40 + +collections +{ + base_scale: 1.8; + + group { "main_layout"; + parts { + rect { "base"; + desc { "default"; + color: 238 239 241 255; + } + } + spacer { "padding.left"; scale; + desc { "default"; + min: PADDING_SIZE 0; + max: PADDING_SIZE -1; + fixed: 1 0; + align: 0.0 0.0; + rel.to: "base"; + } + } + spacer { "padding.right"; scale; + desc { "default"; + min: PADDING_SIZE 0; + max: PADDING_SIZE -1; + fixed: 1 0; + align: 1.0 0.0; + rel.to: "base"; + } + } + swallow { "elm.swallow.content"; + desc { "default"; + rel1 { relative: 1.0 0.0; to: "padding.left"; } + rel2 { relative: 0.0 1.0; to: "padding.right"; } + } + } + } + } +} diff --git a/sources/ui-gadget/viewers-layout/view_detail.c b/sources/ui-gadget/viewers-layout/view_detail.c index 7de43ad..eb71ccd 100755 --- a/sources/ui-gadget/viewers-layout/view_detail.c +++ b/sources/ui-gadget/viewers-layout/view_detail.c @@ -563,6 +563,28 @@ static void gl_lang_changed(void *data, Evas_Object *obj, void *event_info) elm_genlist_realized_items_update(obj); } +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); + + INFO_LOG(UG_NAME_NORMAL, "index: %d, total: %d, item: %p", index, count, 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"); +} + void view_detail(wifi_device_info_t *device_info, Evas_Object *win_main, Evas_Object *btn) { @@ -653,6 +675,9 @@ void view_detail(wifi_device_info_t *device_info, Evas_Object *win_main, evas_object_smart_callback_add(detailview_list, "language,changed", gl_lang_changed, NULL); + if (ug_app_state->ug_type == UG_VIEW_IOT_COMMON) + evas_object_smart_callback_add(detailview_list, "realized", gl_realized, NULL); + grouptitle_itc.item_style = g_genlist_info[WIFI_GENLIST_2LINE_STYLE].style_name; grouptitle_itc.func.text_get = _view_detail_grouptitle_text_get; grouptitle_itc.func.content_get = _view_detail_grouptitle_content_get; diff --git a/sources/ui-gadget/viewers-layout/viewer_manager.c b/sources/ui-gadget/viewers-layout/viewer_manager.c index 2da3a83..4509938 100755 --- a/sources/ui-gadget/viewers-layout/viewer_manager.c +++ b/sources/ui-gadget/viewers-layout/viewer_manager.c @@ -1042,10 +1042,15 @@ static void __viewer_manager_create_wifi_ug_content(Evas_Object *layout, Elm_Object_Item *navi_it = NULL; Evas_Object *back_btn = NULL; Evas_Object *more_btn = NULL; + int ug_type = wifi_get_ug_type(); - elm_layout_theme_set(layout, "layout", "application", "default"); - edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm"); - edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm"); + if (ug_type == UG_VIEW_IOT_COMMON) { + elm_layout_file_set(layout, MAIN_LAYOUT_EDJ_PATH, "main_layout"); + } else { + elm_layout_theme_set(layout, "layout", "application", "default"); + edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm"); + edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm"); + } __viewer_manager_wifi_onoff_item_create(manager_object->list, UG_VIEW_DEFAULT); __viewer_manager_onoff_description_item_create(); diff --git a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c index 4c11e89..f792a7d 100755 --- a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c +++ b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c @@ -294,8 +294,36 @@ static void gl_lang_changed(void *data, Evas_Object *obj, void *event_info) elm_genlist_realized_items_update(obj); } +static void _gl_realized_round(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); + + INFO_LOG(UG_NAME_NORMAL, "index: %d, count: %d", index, count); + + if (index == 1) // toggle button for wifi activation + elm_object_item_signal_emit(item, "elm,state,group,single", "elm"); + else if (index == 3) // first AP + 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 void _gl_realized(void *data, Evas_Object *obj, void *event_info) { + if (wifi_get_ug_type() == UG_VIEW_IOT_COMMON) + return _gl_realized_round(data, obj, event_info); + #ifdef ACCESSIBLITY_FEATURE HEADER_MODES header_mode = viewer_manager_header_mode_get(); Elm_Object_Item *item = (Elm_Object_Item *)event_info; -- 2.7.4