X-Git-Url: http://review.tizen.org/git/?p=apps%2Fnative%2Fug-wifi-direct.git;a=blobdiff_plain;f=ug-wifidirect%2Fsrc%2Fwfd_ug_genlist.c;h=0a6a44f3197aa3f019960798af1ec52420562b55;hp=44cceaf842d4c15230e9569acffb3bdd25a4a9f2;hb=ea0eb10918bf56338ccea1405cab0eaa5fac0782;hpb=b29aef1e4e9b50a31e775e22b08601f0212fa6ce diff --git a/ug-wifidirect/src/wfd_ug_genlist.c b/ug-wifidirect/src/wfd_ug_genlist.c index 44cceaf..0a6a44f 100755 --- a/ug-wifidirect/src/wfd_ug_genlist.c +++ b/ug-wifidirect/src/wfd_ug_genlist.c @@ -1,13 +1,13 @@ /* * WiFi-Direct UG * -* Copyright 2012 Samsung Electronics Co., Ltd +* Copyright 2012 Samsung Electronics Co., Ltd -* Licensed under the Flora License, Version 1.1 (the "License"); +* Licensed under the Flora License, Version 1.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://floralicense.org/license +* http://www.tizenopensource.org/license * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -18,8 +18,6 @@ */ #include - -#include #include #include @@ -31,12 +29,17 @@ #include "wfd_ug_view.h" #include "wfd_client.h" -Elm_Gen_Item_Class head_itc; -Elm_Gen_Item_Class name_itc; +Elm_Gen_Item_Class device_name_title_itc; +#ifdef WFD_ON_OFF_GENLIST +Elm_Gen_Item_Class wfd_onoff_itc; +#endif +Elm_Gen_Item_Class device_name_itc; Elm_Gen_Item_Class title_itc; +Elm_Gen_Item_Class multi_view_title_itc; Elm_Gen_Item_Class peer_itc; +Elm_Gen_Item_Class title_no_device_itc; Elm_Gen_Item_Class noitem_itc; -Elm_Gen_Item_Class button_itc; +Elm_Gen_Item_Class title_available_itc; Elm_Gen_Item_Class title_conn_itc; Elm_Gen_Item_Class peer_conn_itc; @@ -46,185 +49,198 @@ Elm_Gen_Item_Class peer_busy_itc; Elm_Gen_Item_Class title_multi_connect_itc; Elm_Gen_Item_Class peer_multi_connect_itc; +Elm_Gen_Item_Class select_all_multi_connect_itc; Elm_Gen_Item_Class title_conn_failed_itc; Elm_Gen_Item_Class peer_conn_failed_itc; -/** - * This function let the ug get the label of header - * @return the label of header - * @param[in] data the pointer to the main data structure - * @param[in] obj the pointer to the evas object - * @param[in] part the pointer to the part of item - */ -static char *_gl_header_label_get(void *data, Evas_Object *obj, const char *part) +#ifdef WFD_ON_OFF_GENLIST +static char *_gl_wfd_onoff_text_get(void *data, Evas_Object *obj, + const char *part) { - __WDUG_LOG_FUNC_ENTER__; - struct ug_data *ugd = (struct ug_data *) data; - WDUG_LOGI("%s", part); + __FUNC_ENTER__; - if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); - return NULL; - } - - if (!strcmp(part, "elm.text.1")) { - WDUG_LOGI("Current text mode [%d]\n", ugd->head_text_mode); - switch (ugd->head_text_mode) { - case HEAD_TEXT_TYPE_DIRECT: - case HEAD_TEXT_TYPE_ACTIVATED: - case HEAD_TEXT_TYPE_SCANING: - return strdup(dgettext("sys_string", "IDS_COM_OPT1_WI_FI_DIRECT")); - break; - case HEAD_TEXT_TYPE_DEACTIVATING: - return strdup(_("IDS_WFD_BODY_DEACTIVATING")); - break; - case HEAD_TEXT_TYPE_ACTIVATING: - return strdup(_("IDS_WFD_BODY_ACTIVATING")); - break; - default: - break; + struct ug_data *ugd = (struct ug_data *) data; + DBG(LOG_INFO, "%s", part); + WFD_RETV_IF(ugd == NULL, NULL, "Incorrect parameter(NULL)\n"); + wfd_get_vconf_device_name(ugd); + char *dev_name; + + if (!g_strcmp0(part,"elm.text.main.left.bottom")) { + DBG(LOG_INFO, "%s", ugd->dev_name); + if (ugd->dev_name) { + dev_name = elm_entry_utf8_to_markup(ugd->dev_name); + if (NULL == dev_name) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return dev_name; } - } else if (!strcmp(part, "elm.text.1")) { - return strdup(dgettext("sys_string", "IDS_COM_OPT1_WI_FI_DIRECT")); - } else if (!strcmp(part, "elm.text.2")) { - return strdup(ugd->dev_name); + } else if (!g_strcmp0(part, "elm.text.sub.left.top")) { + return g_strdup(_("IDS_ST_HEADER_MY_DEVICE_NAME")); } - - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } -/** - * This function let the ug call it when click header - * @return void - * @param[in] data the pointer to the main data structure - * @param[in] obj the pointer to the evas object - * @param[in] event_info the pointer to the event information - */ -static void _gl_header_sel(void *data, Evas_Object *obj, void *event_info) +static Evas_Object *_gl_wfd_onoff_content_get(void *data,Evas_Object *obj, + const char *part) { - __WDUG_LOG_FUNC_ENTER__; - struct ug_data *ugd = (struct ug_data *) data; + __FUNC_ENTER__; - Elm_Object_Item *item = (Elm_Object_Item *)event_info; - if (item != NULL) - elm_genlist_item_selected_set(item, EINA_FALSE); + struct ug_data *ugd = (struct ug_data *) data; + WFD_RETV_IF(ugd == NULL, NULL, "Incorrect parameter(NULL)\n"); + Evas_Object *btn = NULL; + Evas_Object *icon = NULL; + icon = elm_layout_add(obj); - if (ugd == NULL) - WDUG_LOGE("Incorrect parameter(NULL)\n"); - else { - if(!ugd->wfd_onoff) { - WDUG_LOGD("Wi-Fi direct switch on\n"); - wfd_client_switch_on(ugd); - } else { - WDUG_LOGD("Wi-Fi direct switch off\n"); - wfd_client_switch_off(ugd); - } + if (g_strcmp0(part, "elm.icon.2")) { + return NULL; } - __WDUG_LOG_FUNC_EXIT__; + elm_layout_theme_set(icon, "layout", "list/C/type.3", "default"); + btn = elm_check_add(icon); + /* Wi-Fi on indication button */ + btn= elm_check_add(icon); + elm_object_style_set(btn, "on&off"); + evas_object_propagate_events_set(btn, EINA_FALSE); + elm_check_state_set(btn, ugd->wfd_onoff); + evas_object_propagate_events_set(btn, EINA_FALSE); + evas_object_smart_callback_add(btn, "changed",_onoff_changed_cb, ugd); + ugd->on_off_check = btn; + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + elm_layout_content_set(icon, "elm.swallow.content", btn); + __FUNC_EXIT__; + return icon; } +#endif /** - * This function let the ug get the icon of header - * @return the icon of header + * This function let the ug get the label of header + * @return the label of header * @param[in] data the pointer to the main data structure * @param[in] obj the pointer to the evas object * @param[in] part the pointer to the part of item */ -static Evas_Object *_gl_header_icon_get(void *data, Evas_Object *obj, const char *part) +static char *_gl_device_name_label_get(void *data, Evas_Object *obj, + const char *part) { - __WDUG_LOG_FUNC_ENTER__; - struct ug_data *ugd = (struct ug_data *) data; - Evas_Object *onoff = NULL; + __FUNC_ENTER__; - if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); - return NULL; - } - - if (ugd->head_text_mode == HEAD_TEXT_TYPE_ACTIVATING || - ugd->head_text_mode == HEAD_TEXT_TYPE_DEACTIVATING) { - return NULL; - } - - if (!strcmp(part, "elm.icon")) { - onoff = elm_check_add(obj); - elm_object_style_set(onoff, "on&off"); - elm_check_state_set(onoff, ugd->wfd_onoff); - evas_object_smart_callback_add(onoff, "changed", _gl_header_sel , ugd); - evas_object_show(onoff); + struct ug_data *ugd = (struct ug_data *) data; + DBG(LOG_INFO, "%s", part); + WFD_RETV_IF(ugd == NULL, NULL, "Incorrect parameter(NULL)\n"); + wfd_get_vconf_device_name(ugd); + char *dev_name; + + if (!g_strcmp0(part,"elm.text.main.left.bottom")) { + DBG(LOG_INFO, "%s", ugd->dev_name); + if (ugd->dev_name) { + dev_name = elm_entry_utf8_to_markup(ugd->dev_name); + if (NULL == dev_name) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return dev_name; + } + } else if (!g_strcmp0(part, "elm.text.sub.left.top")) { + return g_strdup(_("IDS_ST_HEADER_MY_DEVICE_NAME")); } - - __WDUG_LOG_FUNC_EXIT__; - return onoff; + __FUNC_EXIT__; + return NULL; } /** - * This function let the ug get the label of about item - * @return the label of about item + * This function let the ug get the label of title + * @return the label of titile * @param[in] data the pointer to the main data structure * @param[in] obj the pointer to the evas object * @param[in] part the pointer to the part of item */ -static char *_gl_name_label_get(void *data, Evas_Object *obj, const char *part) +static char *_gl_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; - struct ug_data *ugd = (struct ug_data *) data; + __FUNC_ENTER__; - if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); - return NULL; + WFD_RETV_IF(data == NULL, NULL, "Incorrect parameter(NULL)\n"); + DBG(LOG_INFO, "%s", part); + if (!g_strcmp0(part, "elm.text.main")) { + return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB")); } + __FUNC_EXIT__; + return NULL; +} - WDUG_LOGI("%s", part); - if (!strcmp(part, "elm.text")) { - return strdup(IDS_WFD_TITLE_ABOUT_WIFI_DIRECT); - } else if (!strcmp(part, "elm.text.2")) { - return strdup(ugd->dev_name); +static char *_gl_title_no_device_label_get(void *data, Evas_Object *obj, + const char *part) +{ + __FUNC_ENTER__; + + WFD_RETV_IF(data == NULL, NULL, "Incorrect parameter(NULL)\n"); + DBG(LOG_INFO, "%s", part); + if (!g_strcmp0(part, "elm.text.main")) { + return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB")); } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } -/** - * This function let the ug get the label of titile - * @return the label of titile - * @param[in] data the pointer to the main data structure - * @param[in] obj the pointer to the evas object - * @param[in] part the pointer to the part of item - */ -static char *_gl_title_label_get(void *data, Evas_Object *obj, const char *part) +static char *_gl_multi_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + + WFD_RETV_IF(data == NULL, NULL, "Incorrect parameter(NULL)\n"); + if (!g_strcmp0(part, "elm.text.main")) { + return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB")); + } + + __FUNC_EXIT__; + return NULL; +} + +static Evas_Object *_gl_multi_title_content_get(void *data, Evas_Object *obj, const char *part) +{ + __FUNC_ENTER__; + + Evas_Object *progressbar = NULL; struct ug_data *ugd = (struct ug_data *) data; + WFD_RETV_IF(ugd == NULL, NULL, "Incorrect parameter(NULL)\n"); + + if (!g_strcmp0(part, "elm.icon")) { + if (TITLE_CONTENT_TYPE_SCANNING == ugd->title_content_mode) { + progressbar = elm_progressbar_add(obj); + elm_object_style_set(progressbar, "process_small"); + elm_progressbar_horizontal_set(progressbar, EINA_TRUE); + elm_progressbar_pulse(progressbar, EINA_TRUE); + evas_object_show(progressbar); + return progressbar; + } + } + + __FUNC_EXIT__; + return NULL; +} + +static char *_gl_available_title_label_get(void *data, Evas_Object *obj, const char *part) +{ + __FUNC_ENTER__; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - - if (!strcmp(part, "elm.text")) { - if (ugd->multiconn_view_genlist != NULL) { - // It's called at Multi connect view... - if (ugd->gl_available_dev_cnt_at_multiconn_view > 0) { - return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES")); - } else { - return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES")); - } - } else { - // It's called at Main View - if (ugd->gl_available_peer_cnt > 0) { - return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES")); - } else { - return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES")); - } - } + DBG(LOG_INFO, "available- %s", part); + if (!g_strcmp0(part, "elm.text.main")) { + return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB")); } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } @@ -237,18 +253,22 @@ static char *_gl_title_label_get(void *data, Evas_Object *obj, const char *part) */ static Evas_Object *_gl_title_content_get(void *data, Evas_Object *obj, const char *part) { + __FUNC_ENTER__; + Evas_Object *progressbar = NULL; struct ug_data *ugd = (struct ug_data *) data; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - if (!strcmp(part, "elm.icon")) { - if (HEAD_TEXT_TYPE_SCANING == ugd->head_text_mode) { + DBG(LOG_INFO, "Title content- %s", part); + + if (!g_strcmp0(part, "elm.icon")) { + if (TITLE_CONTENT_TYPE_SCANNING == ugd->title_content_mode) { progressbar = elm_progressbar_add(obj); - elm_object_style_set(progressbar, "list_process_small"); + elm_object_style_set(progressbar, "process_small"); elm_progressbar_horizontal_set(progressbar, EINA_TRUE); elm_progressbar_pulse(progressbar, EINA_TRUE); evas_object_show(progressbar); @@ -257,6 +277,7 @@ static Evas_Object *_gl_title_content_get(void *data, Evas_Object *obj, const ch } } + __FUNC_EXIT__; return progressbar; } @@ -269,53 +290,64 @@ static Evas_Object *_gl_title_content_get(void *data, Evas_Object *obj, const ch */ static char *_gl_peer_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); device_type_s *peer = (device_type_s *) data; char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, }; - WDUG_LOGI("%s", part); + char *ssid; + + DBG(LOG_INFO, "%s", part); if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - if (!strcmp(part, "elm.text.1")) { - __WDUG_LOG_FUNC_EXIT__; - return strdup(peer->ssid); - } else if (!strcmp(part, "elm.text.2")) { + if (!g_strcmp0(part, "elm.text.main.left.top")) { + if (strlen(peer->ssid) != 0) { + ssid = elm_entry_utf8_to_markup(peer->ssid); + if (NULL == ssid) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return ssid; + } + } else if (!g_strcmp0(part, "elm.text.sub.left.bottom")) { switch (peer->conn_status) { case PEER_CONN_STATUS_DISCONNECTED: - g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH); break; case PEER_CONN_STATUS_CONNECTING: - g_strlcpy(buf, _("IDS_WFD_CONNECTING"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_WIFI_BODY_CONNECTING_ING"), WFD_GLOBALIZATION_STR_LENGTH); break; case PEER_CONN_STATUS_CONNECTED: if (peer->is_group_owner == FALSE) { - g_strlcpy(buf, _("IDS_WFD_CONNECTED"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_COM_BODY_CONNECTED_M_STATUS"), WFD_GLOBALIZATION_STR_LENGTH); } else { - g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH); } break; case PEER_CONN_STATUS_FAILED_TO_CONNECT: - g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_CHATON_HEADER_CONNECTION_FAILED_ABB2"), WFD_GLOBALIZATION_STR_LENGTH); break; case PEER_CONN_STATUS_WAIT_FOR_CONNECT: - g_strlcpy(buf, _("IDS_WFD_WAITING_FOR_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_WIFI_BODY_WAITING_FOR_CONNECTION_M_STATUS_ABB"), WFD_GLOBALIZATION_STR_LENGTH); break; default: - g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); + g_strlcpy(buf, _("IDS_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH); break; } } else { - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } - __WDUG_LOG_FUNC_EXIT__; - return strdup(buf); + __FUNC_EXIT__; + return g_strdup(buf); } /** @@ -327,197 +359,226 @@ static char *_gl_peer_label_get(void *data, Evas_Object *obj, const char *part) */ static Evas_Object *_gl_peer_icon_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); device_type_s *peer = (device_type_s *) data; Evas_Object *icon = NULL; - struct ug_data *ugd = wfd_get_ug_data(); + Evas_Object *layout = NULL; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - - if (!strcmp(part, "elm.icon.2")) { - WDUG_LOGI("elm.icon.2 - connection status [%d]\n", peer->conn_status); + DBG(LOG_INFO, "part = %s", part); + if (!g_strcmp0(part, "elm.icon.2")) { + DBG(LOG_INFO, "elm.icon.2 - connection status [%d]\n", peer->conn_status); if (peer->conn_status == PEER_CONN_STATUS_CONNECTING) { - icon = elm_progressbar_add(obj); - elm_object_style_set(icon, "list_process"); + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", "list/C/type.2", "default"); + icon = elm_progressbar_add(layout); + elm_object_style_set(icon, "process_medium"); elm_progressbar_pulse(icon, EINA_TRUE); } else if (peer->conn_status == PEER_CONN_STATUS_CONNECTED) { return NULL; } - - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - elm_icon_resizable_set(icon, 1, 1); evas_object_show(icon); - } else if (!strcmp(part, "elm.icon.1")) { - WDUG_LOGI("elm.icon.1 - category [%d]\n", peer->category); - char *img_path = NULL; - int status = -1; - - status = wfd_get_device_status(ugd, peer); - + elm_layout_content_set(layout, "elm.swallow.content", icon); + } else if (!g_strcmp0(part, "elm.icon.1")) { + DBG(LOG_INFO, "elm.icon.1 - category [%d]\n", peer->category); + char *img_name = NULL; + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", "list/B/type.3", "default"); /* * the icon of connected device is * different from available and busy device */ switch (peer->category) { case WFD_DEVICE_TYPE_COMPUTER: - if (1 == status) { - img_path = WFD_ICON_DEVICE_COMPUTER_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_COMPUTER; - } + img_name = WFD_ICON_DEVICE_COMPUTER; break; case WFD_DEVICE_TYPE_INPUT_DEVICE: - if (1 == status) { - img_path = WFD_ICON_DEVICE_INPUT_DEVICE_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_INPUT_DEVICE; - } + img_name = WFD_ICON_DEVICE_INPUT_DEVICE; break; case WFD_DEVICE_TYPE_PRINTER: - if (1 == status) { - img_path = WFD_ICON_DEVICE_PRINTER_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_PRINTER; - } + img_name = WFD_ICON_DEVICE_PRINTER; break; case WFD_DEVICE_TYPE_CAMERA: - if (1 == status) { - img_path = WFD_ICON_DEVICE_CAMERA_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_CAMERA; - } + img_name = WFD_ICON_DEVICE_CAMERA; break; case WFD_DEVICE_TYPE_STORAGE: - if (1 == status) { - img_path = WFD_ICON_DEVICE_STORAGE_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_STORAGE; - } + img_name = WFD_ICON_DEVICE_STORAGE; break; case WFD_DEVICE_TYPE_NW_INFRA: - if (1 == status) { - img_path = WFD_ICON_DEVICE_NETWORK_INFRA_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_NETWORK_INFRA; - } + img_name = WFD_ICON_DEVICE_NETWORK_INFRA; break; case WFD_DEVICE_TYPE_DISPLAYS: - if (1 == status) { - img_path = WFD_ICON_DEVICE_DISPLAY_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_DISPLAY; - } + img_name = WFD_ICON_DEVICE_DISPLAY; break; case WFD_DEVICE_TYPE_MM_DEVICES: - if (1 == status) { - img_path = WFD_ICON_DEVICE_MULTIMEDIA_DEVICE_CONNECT; + if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_STB) { + img_name = WFD_ICON_DEVICE_STB; + } else if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_MS_MA_ME) { + img_name = WFD_ICON_DEVICE_DONGLE; + } else if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_PVP) { + img_name = WFD_ICON_DEVICE_BD; } else { - img_path = WFD_ICON_DEVICE_MULTIMEDIA_DEVICE; + img_name = WFD_ICON_DEVICE_MULTIMEDIA; } break; case WFD_DEVICE_TYPE_GAME_DEVICES: - if (1 == status) { - img_path = WFD_ICON_DEVICE_GAMING_DEVICE_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_GAMING_DEVICE; - } + img_name = WFD_ICON_DEVICE_GAMING; break; case WFD_DEVICE_TYPE_TELEPHONE: - if (1 == status) { - img_path = WFD_ICON_DEVICE_TELEPHONE_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_TELEPHONE; - } + img_name = WFD_ICON_DEVICE_TELEPHONE; break; case WFD_DEVICE_TYPE_AUDIO: - if (1 == status) { - img_path = WFD_ICON_DEVICE_AUDIO_DEVICE_CONNECT; + if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_AUDIO_TUNER) { + img_name = WFD_ICON_DEVICE_HOME_THEATER; } else { - img_path = WFD_ICON_DEVICE_AUDIO_DEVICE; + img_name = WFD_ICON_DEVICE_HEADSET; } break; default: - if (1 == status) { - img_path = WFD_ICON_DEVICE_COMPUTER_CONNECT; - } else { - img_path = WFD_ICON_DEVICE_COMPUTER; - } + img_name = WFD_ICON_DEVICE_UNKNOWN; break; } - icon = elm_icon_add(obj); - elm_icon_file_set(icon, img_path, NULL); - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - elm_icon_resizable_set(icon, 1, 1); + icon = elm_image_add(layout); + elm_image_file_set(icon, WFD_UG_EDJ_PATH, img_name); + evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(icon, 2, 61, 132, 204); evas_object_show(icon); + evas_object_propagate_events_set(icon, EINA_FALSE); + elm_layout_content_set(layout, "elm.swallow.content", icon); } - __WDUG_LOG_FUNC_EXIT__; - return icon; + if (layout) + evas_object_show(layout); + __FUNC_EXIT__; + return layout; } /** - * This function let the ug get the text of no device item - * @return the text of no device item + * This function let the ug get the icon of peer item + * @return the icon of peer item * @param[in] data the pointer to the main data structure * @param[in] obj the pointer to the evas object * @param[in] part the pointer to the part of item */ -static char *_gl_noitem_text_get(void *data, Evas_Object *obj, const char *part) +static Evas_Object *_gl_conn_peer_icon_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); + assertm_if(NULL == part, "NULL!!"); + device_type_s *peer = (device_type_s *) data; + Evas_Object *icon = NULL; + Evas_Object *layout = NULL; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } + DBG(LOG_INFO, "part[%s]\n", part); + if (!g_strcmp0(part, "elm.icon.1")) { + DBG(LOG_INFO, "elm.icon.1 - category [%d]\n", peer->category); + char *img_name = NULL; + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", "list/B/type.3", "default"); + /* + * the icon of connected device is + * different from available and busy device + */ + switch (peer->category) { + case WFD_DEVICE_TYPE_COMPUTER: + img_name = WFD_ICON_DEVICE_COMPUTER; + break; + case WFD_DEVICE_TYPE_INPUT_DEVICE: + img_name = WFD_ICON_DEVICE_INPUT_DEVICE; + break; + case WFD_DEVICE_TYPE_PRINTER: + img_name = WFD_ICON_DEVICE_PRINTER; + break; + case WFD_DEVICE_TYPE_CAMERA: + img_name = WFD_ICON_DEVICE_CAMERA; + break; + case WFD_DEVICE_TYPE_STORAGE: + img_name = WFD_ICON_DEVICE_STORAGE; + break; + case WFD_DEVICE_TYPE_NW_INFRA: + img_name = WFD_ICON_DEVICE_NETWORK_INFRA; + break; + case WFD_DEVICE_TYPE_DISPLAYS: + img_name = WFD_ICON_DEVICE_DISPLAY; + break; + case WFD_DEVICE_TYPE_MM_DEVICES: + if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_STB) { + img_name = WFD_ICON_DEVICE_STB; + } else if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_MS_MA_ME) { + img_name = WFD_ICON_DEVICE_DONGLE; + } else if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_MULTIMEDIA_PVP) { + img_name = WFD_ICON_DEVICE_BD; + } else { + img_name = WFD_ICON_DEVICE_MULTIMEDIA; + } + break; + case WFD_DEVICE_TYPE_GAME_DEVICES: + img_name = WFD_ICON_DEVICE_GAMING; + break; + case WFD_DEVICE_TYPE_TELEPHONE: + img_name = WFD_ICON_DEVICE_TELEPHONE; + break; + case WFD_DEVICE_TYPE_AUDIO: + if (peer->sub_category == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_AUDIO_TUNER) { + img_name = WFD_ICON_DEVICE_HOME_THEATER; + } else { + img_name = WFD_ICON_DEVICE_HEADSET; + } + break; + default: + img_name = WFD_ICON_DEVICE_UNKNOWN; + break; + } - __WDUG_LOG_FUNC_EXIT__; - return strdup(_("IDS_WFD_NOCONTENT")); + icon = elm_image_add(layout); + elm_image_file_set(icon, WFD_UG_EDJ_PATH, img_name); + evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(icon, 2, 61, 132, 204); + evas_object_show(icon); + evas_object_propagate_events_set(icon, EINA_FALSE); + elm_layout_content_set(layout, "elm.swallow.content", icon); + } + if (layout) + evas_object_show(layout); + __FUNC_EXIT__; + return layout; } /** - * This function let the ug get the multi connect button - * @return the multi connect button + * This function let the ug get the text of no device item + * @return the text of no device item * @param[in] data the pointer to the main data structure * @param[in] obj the pointer to the evas object * @param[in] part the pointer to the part of item */ -static Evas_Object *_gl_button_get(void *data, Evas_Object *obj, const char *part) +static char *_gl_noitem_text_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; - struct ug_data *ugd = (struct ug_data *) data; + __FUNC_ENTER__; - WDUG_LOGI("%s", part); - ugd->multi_btn = elm_button_add(obj); - wfd_refresh_wifi_direct_state(ugd); - - if (ugd->wfd_status == WIFI_DIRECT_STATE_CONNECTING) { - elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_CANCEL")); - WDUG_LOGI("button: Cancel connect\n"); - } else { - if (ugd->gl_connected_peer_cnt > 1) { - elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT_ALL")); - WDUG_LOGI("button: Disconnect All\n"); - } else if (ugd->gl_connected_peer_cnt == 1) { - elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT")); - WDUG_LOGI("button: Disconnect\n"); - } else { - elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_MULTI")); - WDUG_LOGI("button: Multi connect\n"); - } + if (data == NULL) { + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); + return NULL; } - evas_object_smart_callback_add(ugd->multi_btn, "clicked", _wifid_create_multibutton_cb, ugd); - evas_object_show(ugd->multi_btn); - - __WDUG_LOG_FUNC_EXIT__; - return ugd->multi_btn; + DBG(LOG_INFO,"part = %s",part); + if (!g_strcmp0(part, "elm.text.main.left")) { + return g_strdup(_("IDS_BT_BODY_NO_DEVICES_FOUND_ABB")); + } + __FUNC_EXIT__; + return NULL; } /** @@ -529,21 +590,34 @@ static Evas_Object *_gl_button_get(void *data, Evas_Object *obj, const char *par */ static char *_gl_conn_dev_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - - if (!strcmp(part, "elm.text")) { - return strdup(_("IDS_WFD_BODY_CONNECTED_DEVICES")); + DBG(LOG_INFO,"part = %s",part); + if (!g_strcmp0(part, "elm.text.main")) { + return g_strdup(_("IDS_ST_HEADER_CONNECTED_DEVICES")); } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } +char* ConvertRGBAtoHex(int r, int g, int b, int a) +{ + int hexcolor = 0; + char *string = NULL; + string = g_try_malloc0(sizeof(char )* 255); + if (string == NULL) { + return string; + } + hexcolor = (r << 24) + (g << 16) + (b << 8) + a; + sprintf(string, "%08x", hexcolor ); + return string; +} + /** * This function let the ug get the label of connected device * @return the label of connected device @@ -553,25 +627,53 @@ static char *_gl_conn_dev_title_label_get(void *data, Evas_Object *obj, const ch */ static char *_gl_peer_conn_dev_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); device_type_s *peer = (device_type_s *) data; - char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, }; - WDUG_LOGI("%s", part); + DBG(LOG_INFO, "%s", part); + char *det = NULL; + char *buf = NULL; + char *str = NULL; + char *ssid; + int r = 0, g = 0, b = 0, a = 0; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - if (!strcmp(part, "elm.text.1")) { - return strdup(peer->ssid); - } else { - g_strlcpy(buf, _("IDS_WFD_CONNECTED"), WFD_GLOBALIZATION_STR_LENGTH); - __WDUG_LOG_FUNC_EXIT__; - return strdup(buf); + if (!g_strcmp0(part, "elm.text.main.left.top")) { + if (strlen(peer->ssid) != 0) { + ssid = elm_entry_utf8_to_markup(peer->ssid); + if (NULL == ssid) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return ssid; + } + } else if(!g_strcmp0(part, "elm.text.sub.left.bottom")){ + det = elm_entry_utf8_to_markup(_("IDS_COM_BODY_CONNECTED_M_STATUS")); + edje_color_class_get("T024S",&r, &g, &b, &a, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL); + str = ConvertRGBAtoHex(r, g, b, a); + buf = g_strdup_printf("%s", + str, det); + if (det != NULL) { + g_free(det); + } + if (str != NULL) { + g_free(str); + } + __FUNC_EXIT__; + return buf; } + __FUNC_EXIT__; + return NULL; } /** @@ -584,18 +686,18 @@ static char *_gl_peer_conn_dev_label_get(void *data, Evas_Object *obj, const cha static char *_gl_conn_failed_dev_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - if (!strcmp(part, "elm.text")) { - return strdup(IDS_WFD_BODY_FAILED_DEVICES); + if (!g_strcmp0(part, "elm.text")) { + return g_strdup(_("IDS_WIFI_SBODY_NOT_CONNECTED_M_STATUS_ABB")); } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } @@ -608,25 +710,38 @@ static char *_gl_conn_failed_dev_title_label_get(void *data, Evas_Object *obj, */ static char *_gl_peer_conn_failed_dev_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); device_type_s *peer = (device_type_s *) data; char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, }; - WDUG_LOGI("%s", part); + char *ssid; + DBG(LOG_INFO, "%s", part); if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - if (!strcmp(part, "elm.text.1")) { - return strdup(peer->ssid); + if (!g_strcmp0(part, "elm.text.1")) { + if (strlen(peer->ssid) != 0) { + ssid = elm_entry_utf8_to_markup(peer->ssid); + if (NULL == ssid) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return ssid; + } } else { - g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"), WFD_GLOBALIZATION_STR_LENGTH); - __WDUG_LOG_FUNC_EXIT__; - return strdup(buf); + g_strlcpy(buf, _("IDS_CHATON_HEADER_CONNECTION_FAILED_ABB2"), + WFD_GLOBALIZATION_STR_LENGTH); + __FUNC_EXIT__; + return g_strdup(buf); } + return NULL; } /** @@ -638,27 +753,89 @@ static char *_gl_peer_conn_failed_dev_label_get(void *data, Evas_Object *obj, co */ static char *_gl_multi_connect_dev_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; struct ug_data *ugd = wfd_get_ug_data(); if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } + DBG(LOG_INFO, "%s", part); - if (!strcmp(part, "elm.text")) { + if (!g_strcmp0(part, "elm.text.main")) { if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_IN_PROGRESS) { - return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES")); + return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB")); } else if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_COMPLETED) { - return strdup(IDS_WFD_BODY_FAILED_DEVICES); + return g_strdup(_("IDS_WIFI_SBODY_NOT_CONNECTED_M_STATUS_ABB")); } } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; + return NULL; +} + +/** + * This function let the ug get the title label of select all in multi connect + * @return the label of select all string + * @param[in] data the pointer to the main data structure + * @param[in] obj the pointer to the evas object + * @param[in] part the pointer to the part of item + */ +static char *_gl_multi_connect_select_all_title_label_get(void *data, Evas_Object *obj, const char *part) +{ + __FUNC_ENTER__; + + if (data == NULL) { + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); + return NULL; + } + DBG(LOG_INFO, "%s", part); + + if (!g_strcmp0(part, "elm.text.main.left")) { + __FUNC_EXIT__; + return g_strdup(_("IDS_WIFI_BODY_SELECT_ALL")); + } + __FUNC_EXIT__; return NULL; } /** + * This function let the ug get the icon of select all genlist + * @return the icon of select all genlist + * @param[in] data the pointer to the main data structure + * @param[in] obj the pointer to the evas object + * @param[in] part the pointer to the part of item + */ +static Evas_Object *_wfd_gl_select_all_icon_get(void *data, Evas_Object *obj, const char *part) +{ + __FUNC_ENTER__; + + struct ug_data *ugd = (struct ug_data *) data; + Evas_Object *check = NULL; + Evas_Object *icon_layout = NULL; + + DBG(LOG_INFO, "Part %s", part); + + if (!g_strcmp0(part, "elm.icon.2")) { + icon_layout = elm_layout_add(obj); + elm_layout_theme_set(icon_layout, "layout", "list/C/type.2", "default"); + DBG(LOG_INFO, "Part %s", part); + check = elm_check_add(icon_layout); + ugd->select_all_icon = check; + if (ugd->is_select_all_checked == EINA_TRUE) { + elm_check_state_set(ugd->select_all_icon, TRUE); + } + elm_object_style_set(check, "default/genlist"); + evas_object_propagate_events_set(check, EINA_FALSE); + evas_object_smart_callback_add(check, "changed", + wfd_genlist_select_all_check_changed_cb, (void *)data); + elm_layout_content_set(icon_layout, "elm.swallow.content", check); + } + __FUNC_EXIT__; + return icon_layout; +} + +/** * This function let the ug get the title label of busy device list * @return the label of connected device * @param[in] data the pointer to the main data structure @@ -668,18 +845,19 @@ static char *_gl_multi_connect_dev_title_label_get(void *data, Evas_Object *obj, static char *_gl_busy_dev_title_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } + DBG(LOG_INFO, "%s", part); - if (!strcmp(part, "elm.text")) { - return strdup(_("IDS_WFD_BODY_BUSY_DEVICES")); + if (!g_strcmp0(part,"elm.text.main")) { + return g_strdup(_("IDS_ST_HEADER_BUSY_DEVICES")); } - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return NULL; } @@ -692,27 +870,40 @@ static char *_gl_busy_dev_title_label_get(void *data, Evas_Object *obj, */ static char *_gl_peer_busy_dev_label_get(void *data, Evas_Object *obj, const char *part) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == part, "NULL!!"); device_type_s *peer = (device_type_s *) data; char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, }; - WDUG_LOGI("%s", part); + char *ssid; + DBG(LOG_INFO, "%s", part); if (data == NULL) { - WDUG_LOGE("Incorrect parameter(NULL)\n"); + DBG(LOG_ERROR, "Incorrect parameter(NULL)\n"); return NULL; } - WDUG_LOGI("peer->ssid = %s", peer->ssid); + DBG(LOG_INFO, "peer->ssid = %s", peer->ssid); - if (!strcmp(part, "elm.text.1")) { - return strdup(peer->ssid); - } else { - g_strlcpy(buf, _("IDS_WFD_CONNECTED_WITH_OTHER_DEVICE"), WFD_GLOBALIZATION_STR_LENGTH); - __WDUG_LOG_FUNC_EXIT__; - return strdup(buf); + if (!g_strcmp0(part, "elm.text.main.left.top")) { + if (strlen(peer->ssid) != 0) { + ssid = elm_entry_utf8_to_markup(peer->ssid); + if (NULL == ssid) { + DBG(LOG_ERROR, "elm_entry_utf8_to_markup failed.\n"); + __FUNC_EXIT__; + return NULL; + } + __FUNC_EXIT__; + return ssid; + } + } else if (!g_strcmp0(part, "elm.text.sub.left.bottom")) { + g_strlcpy(buf, _("IDS_ST_BODY_CONNECTED_WITH_ANOTHER_DEVICE_ABB"), + WFD_GLOBALIZATION_STR_LENGTH); + __FUNC_EXIT__; + return g_strdup(buf); } + return NULL; + } /** @@ -723,11 +914,12 @@ static char *_gl_peer_busy_dev_label_get(void *data, Evas_Object *obj, const cha */ static void _gl_peer_del(void *data, Evas_Object *obj) { - __WDUG_LOG_FUNC_ENTER__; + __FUNC_ENTER__; + assertm_if(NULL == obj, "NULL!!"); assertm_if(NULL == data, "NULL!!"); - __WDUG_LOG_FUNC_EXIT__; + __FUNC_EXIT__; return; } @@ -737,51 +929,67 @@ static void _gl_peer_del(void *data, Evas_Object *obj) */ void initialize_gen_item_class() { - __WDUG_LOG_FUNC_ENTER__; - head_itc.item_style = "dialogue/2text.1icon.10"; - head_itc.func.text_get = _gl_header_label_get; - head_itc.func.content_get = _gl_header_icon_get; - head_itc.func.state_get = NULL; - - name_itc.item_style = "dialogue/1text"; - name_itc.func.text_get = _gl_name_label_get; - name_itc.func.content_get = NULL; - name_itc.func.state_get = NULL; - name_itc.func.del = NULL; - - title_itc.item_style = "dialogue/title"; + elm_theme_extension_add(NULL, WFD_UG_EDJ_PATH); + + device_name_itc.item_style = "dialogue/2text.2"; + device_name_itc.func.text_get = NULL; + device_name_itc.func.content_get = NULL; + device_name_itc.func.state_get = NULL; + +#ifdef WFD_ON_OFF_GENLIST + wfd_onoff_itc.item_style = "2line.bottom"; + wfd_onoff_itc.func.text_get = _gl_wfd_onoff_text_get; + wfd_onoff_itc.func.content_get = _gl_wfd_onoff_content_get; + wfd_onoff_itc.func.state_get = NULL; + wfd_onoff_itc.func.del = NULL; +#endif + + + title_itc.item_style = "groupindex"; title_itc.func.text_get = _gl_title_label_get; title_itc.func.content_get = _gl_title_content_get; title_itc.func.state_get = NULL; title_itc.func.del = NULL; - peer_itc.item_style = "dialogue/2text.2icon.3"; + multi_view_title_itc.item_style = "groupindex"; + multi_view_title_itc.func.text_get = _gl_multi_title_label_get; + multi_view_title_itc.func.content_get = _gl_multi_title_content_get; + multi_view_title_itc.func.state_get = NULL; + multi_view_title_itc.func.del = NULL; + + title_no_device_itc.item_style = "groupindex"; + title_no_device_itc.func.text_get = _gl_title_no_device_label_get; + title_no_device_itc.func.content_get = NULL; + title_no_device_itc.func.state_get = NULL; + title_no_device_itc.func.del = NULL; + + title_available_itc.item_style = "groupindex"; + title_available_itc.func.text_get = _gl_available_title_label_get; + title_available_itc.func.content_get = _gl_title_content_get; + title_available_itc.func.state_get = NULL; + title_available_itc.func.del = NULL; + + peer_itc.item_style = "2line.top"; peer_itc.func.text_get = _gl_peer_label_get; peer_itc.func.content_get = _gl_peer_icon_get; peer_itc.func.state_get = NULL; peer_itc.func.del = _gl_peer_del; - noitem_itc.item_style = "dialogue/1text"; + noitem_itc.item_style = "1line"; noitem_itc.func.text_get = _gl_noitem_text_get; noitem_itc.func.content_get = NULL; noitem_itc.func.state_get = NULL; noitem_itc.func.del = NULL; - button_itc.item_style = "1icon"; - button_itc.func.text_get = NULL; - button_itc.func.content_get = _gl_button_get; - button_itc.func.state_get = NULL; - button_itc.func.del = NULL; - - title_conn_itc.item_style = "dialogue/title"; + title_conn_itc.item_style = "groupindex"; title_conn_itc.func.text_get = _gl_conn_dev_title_label_get; title_conn_itc.func.content_get = NULL; title_conn_itc.func.state_get = NULL; title_conn_itc.func.del = NULL; - peer_conn_itc.item_style = "dialogue/2text.2icon.3"; + peer_conn_itc.item_style = "2line.top"; peer_conn_itc.func.text_get = _gl_peer_conn_dev_label_get; - peer_conn_itc.func.content_get = _gl_peer_icon_get; + peer_conn_itc.func.content_get = _gl_conn_peer_icon_get; peer_conn_itc.func.state_get = NULL; peer_conn_itc.func.del = _gl_peer_del; @@ -797,24 +1005,28 @@ void initialize_gen_item_class() peer_conn_failed_itc.func.state_get = NULL; peer_conn_failed_itc.func.del = _gl_peer_del; - title_busy_itc.item_style = "dialogue/title"; + title_busy_itc.item_style = "groupindex"; title_busy_itc.func.text_get = _gl_busy_dev_title_label_get; title_busy_itc.func.content_get = NULL; title_busy_itc.func.state_get = NULL; title_busy_itc.func.del = NULL; - peer_busy_itc.item_style = "dialogue/2text.2icon.3"; + peer_busy_itc.item_style = "2line.top"; peer_busy_itc.func.text_get = _gl_peer_busy_dev_label_get; peer_busy_itc.func.content_get = _gl_peer_icon_get; peer_busy_itc.func.state_get = NULL; peer_busy_itc.func.del = _gl_peer_del; - title_multi_connect_itc.item_style = "dialogue/title"; + title_multi_connect_itc.item_style = "groupindex"; title_multi_connect_itc.func.text_get = _gl_multi_connect_dev_title_label_get; title_multi_connect_itc.func.content_get = NULL; title_multi_connect_itc.func.state_get = NULL; title_multi_connect_itc.func.del = NULL; - __WDUG_LOG_FUNC_EXIT__; - + select_all_multi_connect_itc.item_style = "1line"; + select_all_multi_connect_itc.func.text_get = + _gl_multi_connect_select_all_title_label_get; + select_all_multi_connect_itc.func.content_get = _wfd_gl_select_all_icon_get; + select_all_multi_connect_itc.func.state_get = NULL; + select_all_multi_connect_itc.func.del = NULL; }