summaryrefslogtreecommitdiff
path: root/ug-wifidirect/src/wfd_ug_genlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'ug-wifidirect/src/wfd_ug_genlist.c')
-rwxr-xr-xug-wifidirect/src/wfd_ug_genlist.c1402
1 files changed, 816 insertions, 586 deletions
diff --git a/ug-wifidirect/src/wfd_ug_genlist.c b/ug-wifidirect/src/wfd_ug_genlist.c
index 836c5b3..0a0a025 100755
--- a/ug-wifidirect/src/wfd_ug_genlist.c
+++ b/ug-wifidirect/src/wfd_ug_genlist.c
@@ -18,8 +18,6 @@
*/
#include <libintl.h>
-
-#include <assert.h>
#include <glib.h>
#include <Elementary.h>
@@ -31,15 +29,17 @@
#include "wfd_ug_view.h"
#include "wfd_client.h"
-Elm_Gen_Item_Class sep_itc;
-Elm_Gen_Item_Class sep_itc_end;
-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 help_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;
@@ -49,163 +49,226 @@ 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;
+#ifdef WFD_ON_OFF_GENLIST
+static char *_gl_wfd_onoff_text_get(void *data, Evas_Object *obj,
+ const char *part)
+{
+ __FUNC_ENTER__;
+
+ 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"));
+ }
+ __FUNC_EXIT__;
+ return NULL;
+}
-static char *_gl_header_label_get(void *data, Evas_Object * obj, const char *part)
+static Evas_Object *_gl_wfd_onoff_content_get(void *data,Evas_Object *obj,
+ const char *part)
{
- __FUNC_ENTER__;
- struct ug_data *ugd = (struct ug_data*) data;
- DBG(LOG_VERBOSE, "%s", part);
-
- if(data == NULL)
- {
- DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
- return NULL;
- }
-
- if(!strcmp(part, "elm.text.1"))
- {
- DBG(LOG_VERBOSE, "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")); // "Deactivating Wi-Fi Direct..."
- break;
- case HEAD_TEXT_TYPE_ACTIVATING:
- return strdup(_("IDS_WFD_BODY_ACTIVATING")); //"Activating Wi-Fi Direct..."
- break;
- default:
- break;
- }
- }
- 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);
- }
-
- __FUNC_EXIT__;
- return NULL;
+ __FUNC_ENTER__;
+
+ 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 (g_strcmp0(part, "elm.icon.2")) {
+ return NULL;
+ }
+ 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
-static Evas_Object *_gl_header_icon_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * 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_device_name_label_get(void *data, Evas_Object *obj,
+ const char *part)
{
- __FUNC_ENTER__;
- struct ug_data *ugd = (struct ug_data*) data;
- Evas_Object *onoff = NULL;
-
- if(data == NULL)
- {
- DBG(LOG_ERROR, "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;
-
- DBG(LOG_VERBOSE, "%s", part);
- 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", _wfd_onoff_btn_cb, ugd);
- evas_object_show(onoff);
-
- __FUNC_EXIT__;
-
- return onoff;
+ __FUNC_ENTER__;
+
+ 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"));
+ }
+ __FUNC_EXIT__;
+ return NULL;
+}
+
+/**
+ * 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_title_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"));
+ }
+ __FUNC_EXIT__;
+ return NULL;
}
-static char *_gl_name_label_get(void *data, Evas_Object *obj, const char *part)
+static char *_gl_title_no_device_label_get(void *data, Evas_Object *obj,
+ const char *part)
{
- __FUNC_ENTER__;
- struct ug_data *ugd = (struct ug_data*) data;
+ __FUNC_ENTER__;
- if(data == NULL)
- {
- DBG(LOG_ERROR, "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"));
+ }
- DBG(LOG_VERBOSE, "%s", part);
+ __FUNC_EXIT__;
+ return NULL;
+}
- if(!strcmp(part, "elm.text"))
- {
- return strdup(_("IDS_WFD_TITLE_ABOUT_WIFI")); // "Device name"
- }
- else if(!strcmp(part, "elm.text.2"))
- {
- return strdup(ugd->dev_name);
- }
+static char *_gl_multi_title_label_get(void *data, Evas_Object *obj, const char *part)
+{
+ __FUNC_ENTER__;
- __FUNC_EXIT__;
+ 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"));
+ }
- return NULL;
+ __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");
-static char *_gl_title_label_get(void *data, Evas_Object *obj,
- const char *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, "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__;
- struct ug_data *ugd = (struct ug_data*) data;
-
- if(data == NULL)
- {
- 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")); // "Available devices"
- else
- return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES")); // "Wi-Fi Direct devices"
- }
- else
- {
- // It's called at Main View
- if(ugd->gl_available_peer_cnt > 0)
- return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES")); // "Available devices"
- else
- return strdup(_("IDS_WFD_BODY_WIFI_DIRECT_DEVICES")); // "Wi-Fi Direct devices"
- }
- }
-
- __FUNC_EXIT__;
-
- return NULL;
+ __FUNC_ENTER__;
+
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ DBG(LOG_INFO, "available- %s", part);
+ if (!g_strcmp0(part, "elm.text.main")) {
+ return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB"));
+ }
+
+ __FUNC_EXIT__;
+ return NULL;
}
+/**
+ * This function let the ug get the content of titile
+ * @return the content 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 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;
+ struct ug_data *ugd = (struct ug_data *) data;
if (data == NULL) {
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);
@@ -214,589 +277,756 @@ static Evas_Object *_gl_title_content_get(void *data, Evas_Object *obj, const ch
}
}
+ __FUNC_EXIT__;
return progressbar;
}
-static char *_gl_peer_label_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * This function let the ug get the label of peer item
+ * @return the label 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_peer_label_get(void *data, Evas_Object *obj, const char *part)
{
- __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, };
- DBG(LOG_VERBOSE, "%s", part);
- if(data == NULL)
- {
- DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
- return NULL;
- }
-
- if (!strcmp(part, "elm.text.1"))
- {
- __FUNC_EXIT__;
- return strdup(peer->ssid);
- }
- else if (!strcmp(part, "elm.text.2"))
- {
- switch (peer->conn_status) {
- case PEER_CONN_STATUS_DISCONNECTED:
- g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
-
- case PEER_CONN_STATUS_CONNECTING:
- g_strlcpy(buf, _("IDS_WFD_CONNECTING"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
-
- case PEER_CONN_STATUS_CONNECTED:
- g_strlcpy(buf, _("IDS_WFD_CONNECTED"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
-
- case PEER_CONN_STATUS_FAILED_TO_CONNECT:
- g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
-
- case PEER_CONN_STATUS_WAIT_FOR_CONNECT:
- g_strlcpy(buf, _("IDS_WFD_WAITING_FOR_CONNECT"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
-
- default:
- g_strlcpy(buf, _("IDS_WFD_TAP_TO_CONNECT"),
- WFD_GLOBALIZATION_STR_LENGTH);
- break;
- }
- }
- else
- {
- __FUNC_EXIT__;
- return NULL;
- }
-
- __FUNC_EXIT__;
- return strdup(buf);
+ __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, };
+ char *ssid;
+
+ DBG(LOG_INFO, "%s", part);
+
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+
+ 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_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH);
+ break;
+ case PEER_CONN_STATUS_CONNECTING:
+ 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_COM_BODY_CONNECTED_M_STATUS"), WFD_GLOBALIZATION_STR_LENGTH);
+ } else {
+ g_strlcpy(buf, _("IDS_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH);
+ }
+ break;
+ case PEER_CONN_STATUS_FAILED_TO_CONNECT:
+ 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_WIFI_BODY_WAITING_FOR_CONNECTION_M_STATUS_ABB"), WFD_GLOBALIZATION_STR_LENGTH);
+ break;
+ default:
+ g_strlcpy(buf, _("IDS_CHATON_BODY_AVAILABLE"), WFD_GLOBALIZATION_STR_LENGTH);
+ break;
+ }
+ } else {
+ __FUNC_EXIT__;
+ return NULL;
+ }
+
+ __FUNC_EXIT__;
+ return g_strdup(buf);
}
-static Evas_Object *_gl_peer_icon_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * 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 Evas_Object *_gl_peer_icon_get(void *data, Evas_Object *obj, const char *part)
{
- __FUNC_ENTER__;
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == part, "NULL!!");
-
- device_type_s *peer = (device_type_s*) data;
- Evas_Object *icon = NULL;
-
- if(data == NULL)
- {
- DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
- return NULL;
- }
-
- if(!strcmp(part, "elm.icon.2"))
- {
- DBG(LOG_VERBOSE, "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");
- elm_progressbar_pulse(icon, EINA_TRUE);
- }
- else if(peer->conn_status == PEER_CONN_STATUS_CONNECTED)
- {
-#if 0
- icon = elm_icon_add(obj);
- elm_icon_file_set(icon, WFD_ICON_CONNECTED, NULL);
-#endif
- 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"))
- {
- DBG(LOG_VERBOSE, "elm.icon.1 - category [%d]\n", peer->category);
- char *img_path = NULL;
- switch(peer->category)
- {
+ __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) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ 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) {
+ 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_show(icon);
+ 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- 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 (peer->conn_status == PEER_CONN_STATUS_CONNECTED) {
- img_path = WFD_ICON_DEVICE_COMPUTER_CONNECT;
- } else {
- img_path = WFD_ICON_DEVICE_COMPUTER;
- }
+ img_name = WFD_ICON_DEVICE_UNKNOWN;
break;
- }
-
- if(img_path != NULL)
- {
- 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);
- evas_object_show(icon);
- }
- else
- {
- return NULL;
- }
- }
-
- __FUNC_EXIT__;
- return icon;
-}
+ }
+
+ 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);
+ ea_theme_object_color_set(icon, "AO001");
+ 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;
+}
-static char *_gl_noitem_text_get(void *data, Evas_Object * obj,
- const char *part)
+/**
+ * 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 Evas_Object *_gl_conn_peer_icon_get(void *data, Evas_Object *obj, const char *part)
{
- __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)
- {
+ if (data == NULL) {
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;
+ }
+ 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);
+ ea_theme_object_color_set(icon, "AO001");
+ 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 strdup(_("IDS_WFD_NOCONTENT"));
+ return layout;
}
-
-static char *_gl_help_label_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * 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 char *_gl_noitem_text_get(void *data, Evas_Object *obj, const char *part)
{
- __FUNC_ENTER__;
- DBG(LOG_VERBOSE, "%s", part);
- __FUNC_EXIT__;
- return strdup("Help");
-}
+ __FUNC_ENTER__;
+
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ 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;
+}
-static Evas_Object *_gl_button_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * This function let the ug get the title label of connected device list
+ * @return the title label of connected device list
+ * @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_conn_dev_title_label_get(void *data, Evas_Object *obj, const char *part)
{
- __FUNC_ENTER__;
- struct ug_data *ugd = (struct ug_data*) data;
+ __FUNC_ENTER__;
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ DBG(LOG_INFO,"part = %s",part);
+ if (!g_strcmp0(part, "elm.text.main")) {
+ return g_strdup(_("IDS_ST_HEADER_CONNECTED_DEVICES"));
+ }
- DBG(LOG_VERBOSE, "%s", part);
+ __FUNC_EXIT__;
+ return NULL;
+}
- ugd->multi_btn = elm_button_add(obj);
+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;
+}
- wfd_refresh_wifi_direct_state(ugd);
+/**
+ * This function let the ug get the label of connected device
+ * @return the label of connected device
+ * @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_peer_conn_dev_label_get(void *data, Evas_Object *obj, const char *part)
+{
+ __FUNC_ENTER__;
- if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_COMPLETED)
- {
- elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT"));
- DBG(LOG_VERBOSE, "button: Disconnect\n");
+ assertm_if(NULL == obj, "NULL!!");
+ assertm_if(NULL == part, "NULL!!");
+ device_type_s *peer = (device_type_s *) data;
+ 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;
- // Don't connect "clicked" callback.
- return ugd->multi_btn;
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
}
- if (ugd->wfd_status == WFD_LINK_STATUS_CONNECTING)
- {
- elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_CANCEL"));
- DBG(LOG_VERBOSE, "button: Cancel connect\n");
- }
- else if (ugd->wfd_status >= WFD_LINK_STATUS_CONNECTED)
- {
- if (ugd->gl_connected_peer_cnt > 1)
- {
- elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT_ALL"));
- DBG(LOG_VERBOSE, "button: Disconnect All\n");
+ 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
- {
- elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_DISCONNECT"));
- DBG(LOG_VERBOSE, "button: Disconnect\n");
+ } else if(!g_strcmp0(part, "elm.text.sub.left.bottom")){
+ det = elm_entry_utf8_to_markup(_("IDS_COM_BODY_CONNECTED_M_STATUS"));
+ ea_theme_color_get("T024S",&r, &g, &b, &a,
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL);
+ str = ConvertRGBAtoHex(r, g, b, a);
+ buf = g_strdup_printf("<color=#%s>%s</color>",
+ str, det);
+ if (det != NULL) {
+ g_free(det);
}
+ if (str != NULL) {
+ g_free(str);
+ }
+ __FUNC_EXIT__;
+ return buf;
}
- else
- {
- elm_object_text_set(ugd->multi_btn, _("IDS_WFD_BUTTON_MULTI"));
- DBG(LOG_VERBOSE, "button: Multi connect\n");
- }
-
- evas_object_smart_callback_add(ugd->multi_btn, "clicked", _wifid_create_multibutton_cb, ugd);
- evas_object_show(ugd->multi_btn);
-
- __FUNC_EXIT__;
-
- return ugd->multi_btn;
+ __FUNC_EXIT__;
+ return NULL;
}
-
-static char *_gl_conn_dev_title_label_get(void *data, Evas_Object *obj,
+/**
+ * This function let the ug get the title label of connected failed device list
+ * @return the label of connected device
+ * @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_conn_failed_dev_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;
- }
+ __FUNC_ENTER__;
- if (!strcmp(part, "elm.text"))
- {
- return strdup(_("IDS_WFD_BODY_CONNECTED_DEVICES"));
- }
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
- __FUNC_EXIT__;
+ if (!g_strcmp0(part, "elm.text")) {
+ return g_strdup(_("IDS_WIFI_SBODY_NOT_CONNECTED_M_STATUS_ABB"));
+ }
- return NULL;
+ __FUNC_EXIT__;
+ return NULL;
}
-
-static char *_gl_peer_conn_dev_label_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * This function let the ug get the label of connected failed device
+ * @return the label of connected device
+ * @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_peer_conn_failed_dev_label_get(void *data, Evas_Object *obj, const char *part)
{
__FUNC_ENTER__;
+
assertm_if(NULL == obj, "NULL!!");
assertm_if(NULL == part, "NULL!!");
-
- device_type_s *peer = (device_type_s*) data;
-
+ device_type_s *peer = (device_type_s *) data;
char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
- DBG(LOG_VERBOSE, "%s", part);
- if(data == NULL)
- {
+ char *ssid;
+ DBG(LOG_INFO, "%s", part);
+
+ if (data == NULL) {
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);
+ 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_CHATON_HEADER_CONNECTION_FAILED_ABB2"),
+ WFD_GLOBALIZATION_STR_LENGTH);
__FUNC_EXIT__;
- return strdup(buf);
+ return g_strdup(buf);
}
+ return NULL;
}
-static char *_gl_conn_failed_dev_title_label_get(void *data, Evas_Object *obj,
- const char *part)
+/**
+ * This function let the ug get the title label of multi connect list
+ * @return the label of connected device
+ * @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_dev_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;
- }
+ __FUNC_ENTER__;
+ struct ug_data *ugd = wfd_get_ug_data();
- if (!strcmp(part, "elm.text"))
- {
- return strdup(IDS_WFD_BODY_FAILED_DEVICES);
- }
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ DBG(LOG_INFO, "%s", part);
- __FUNC_EXIT__;
+ if (!g_strcmp0(part, "elm.text.main")) {
+ if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_IN_PROGRESS) {
+ return g_strdup(_("IDS_WIFI_HEADER_AVAILABLE_DEVICES_ABB"));
+ } else if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_COMPLETED) {
+ return g_strdup(_("IDS_WIFI_SBODY_NOT_CONNECTED_M_STATUS_ABB"));
+ }
+ }
- return NULL;
+ __FUNC_EXIT__;
+ return NULL;
}
-
-static char *_gl_peer_conn_failed_dev_label_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * 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__;
- 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, };
- DBG(LOG_VERBOSE, "%s", part);
- if(data == NULL)
- {
+ if (data == NULL) {
DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
return NULL;
}
+ DBG(LOG_INFO, "%s", part);
- if (!strcmp(part, "elm.text.1"))
- {
- return strdup(peer->ssid);
- }
- else
- {
- g_strlcpy(buf, _("IDS_WFD_FAILED_TO_CONNECT"),
- WFD_GLOBALIZATION_STR_LENGTH);
+ if (!g_strcmp0(part, "elm.text.main.left")) {
__FUNC_EXIT__;
- return strdup(buf);
+ return g_strdup(_("IDS_WIFI_BODY_SELECT_ALL"));
}
+ __FUNC_EXIT__;
+ return NULL;
}
-static char *_gl_multi_connect_dev_title_label_get(void *data, Evas_Object *obj,
- const char *part)
+/**
+ * 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 = wfd_get_ug_data();
-
- if(data == NULL)
- {
- DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
- return NULL;
- }
-
- if (!strcmp(part, "elm.text"))
- {
- if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_IN_PROGRESS)
- return strdup(_("IDS_WFD_BODY_AVAILABLE_DEVICES")); // "Available devices"
- else if (ugd->multi_connect_mode == WFD_MULTI_CONNECT_MODE_COMPLETED)
- return strdup(IDS_WFD_BODY_FAILED_DEVICES); // "Available devices"
- }
-
- __FUNC_EXIT__;
-
- return NULL;
-}
+ __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
+ * @param[in] obj the pointer to the evas object
+ * @param[in] part the pointer to the part of item
+ */
static char *_gl_busy_dev_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;
- }
+ __FUNC_ENTER__;
- if (!strcmp(part, "elm.text"))
- {
- return strdup(_("IDS_WFD_BODY_BUSY_DEVICES"));
- }
+ if (data == NULL) {
+ DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
+ return NULL;
+ }
+ DBG(LOG_INFO, "%s", part);
- __FUNC_EXIT__;
+ if (!g_strcmp0(part,"elm.text.main")) {
+ return g_strdup(_("IDS_ST_HEADER_BUSY_DEVICES"));
+ }
- return NULL;
+ __FUNC_EXIT__;
+ return NULL;
}
-
-static char *_gl_peer_busy_dev_label_get(void *data, Evas_Object * obj, const char *part)
+/**
+ * This function let the ug get the label of busy device
+ * @return the label of connected device
+ * @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_peer_busy_dev_label_get(void *data, Evas_Object *obj, const char *part)
{
__FUNC_ENTER__;
assertm_if(NULL == obj, "NULL!!");
assertm_if(NULL == part, "NULL!!");
- device_type_s *peer = (device_type_s*) data;
+ device_type_s *peer = (device_type_s *) data;
char buf[WFD_GLOBALIZATION_STR_LENGTH] = { 0, };
- DBG(LOG_VERBOSE, "%s", part);
- if(data == NULL)
- {
+ char *ssid;
+ DBG(LOG_INFO, "%s", part);
+
+ if (data == NULL) {
DBG(LOG_ERROR, "Incorrect parameter(NULL)\n");
return NULL;
}
- DBG(LOG_VERBOSE, "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);
+
+ DBG(LOG_INFO, "peer->ssid = %s", peer->ssid);
+
+ 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 strdup(buf);
+ return g_strdup(buf);
}
+ return NULL;
+
}
-static void _gl_peer_del(void *data, Evas_Object * obj)
+/**
+ * This function let the ug delete the peer item
+ * @return void
+ * @param[in] data the pointer to the main data structure
+ * @param[in] obj the pointer to the evas object
+ */
+static void _gl_peer_del(void *data, Evas_Object *obj)
{
- __FUNC_ENTER__;
- assertm_if(NULL == obj, "NULL!!");
- assertm_if(NULL == data, "NULL!!");
+ __FUNC_ENTER__;
+
+ assertm_if(NULL == obj, "NULL!!");
+ assertm_if(NULL == data, "NULL!!");
- __FUNC_EXIT__;
- return;
+ __FUNC_EXIT__;
+ return;
}
+/**
+ * This function let the ug initialize the items of genlist
+ * @return void
+ */
void initialize_gen_item_class()
{
- sep_itc.item_style = "dialogue/separator";
- sep_itc.func.text_get = NULL;
- sep_itc.func.content_get = NULL;
- sep_itc.func.state_get = NULL;
- sep_itc.func.del = NULL;
-
- sep_itc_end.item_style = "dialogue/separator/end";
- sep_itc_end.func.text_get = NULL;
- sep_itc_end.func.content_get = NULL;
- sep_itc_end.func.state_get = NULL;
- sep_itc_end.func.del = NULL;
-
- head_itc.item_style = "dialogue/2text.1icon.6";
- 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";
- 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";
- 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.func.text_get = _gl_noitem_text_get;
- noitem_itc.func.content_get = NULL;
- noitem_itc.func.state_get = NULL;
- noitem_itc.func.del = NULL;
-
- help_itc.item_style = "dialogue/1text";
- help_itc.func.text_get = _gl_help_label_get;
- help_itc.func.content_get = NULL;
- help_itc.func.state_get = NULL;
- help_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.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.func.text_get = _gl_peer_conn_dev_label_get;
- peer_conn_itc.func.content_get = _gl_peer_icon_get;
- peer_conn_itc.func.state_get = NULL;
- peer_conn_itc.func.del = _gl_peer_del;
-
- title_conn_failed_itc.item_style = "dialogue/title";
- title_conn_failed_itc.func.text_get = _gl_conn_failed_dev_title_label_get;
- title_conn_failed_itc.func.content_get = NULL;
- title_conn_failed_itc.func.state_get = NULL;
- title_conn_failed_itc.func.del = NULL;
-
- peer_conn_failed_itc.item_style = "dialogue/2text.2icon.3";
- peer_conn_failed_itc.func.text_get = _gl_peer_conn_failed_dev_label_get;
- peer_conn_failed_itc.func.content_get = _gl_peer_icon_get;
- 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.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.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.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;
-
-#if 0
- peer_multi_connect_itc.item_style = "dialogue/2text.2icon.3";
- peer_multi_connect_itc.func.text_get = _gl_peer_label_get;
- peer_multi_connect_itc.func.content_get = _gl_peer_icon_get;
- peer_multi_connect_itc.func.state_get = NULL;
- peer_multi_connect_itc.func.del = _gl_peer_del;
+ 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;
+
+ 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 = "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;
+
+ 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 = "2line.top";
+ peer_conn_itc.func.text_get = _gl_peer_conn_dev_label_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;
+
+ title_conn_failed_itc.item_style = "dialogue/title";
+ title_conn_failed_itc.func.text_get = _gl_conn_failed_dev_title_label_get;
+ title_conn_failed_itc.func.content_get = NULL;
+ title_conn_failed_itc.func.state_get = NULL;
+ title_conn_failed_itc.func.del = NULL;
+
+ peer_conn_failed_itc.item_style = "dialogue/2text.2icon.3";
+ peer_conn_failed_itc.func.text_get = _gl_peer_conn_failed_dev_label_get;
+ peer_conn_failed_itc.func.content_get = _gl_peer_icon_get;
+ peer_conn_failed_itc.func.state_get = NULL;
+ peer_conn_failed_itc.func.del = _gl_peer_del;
+
+ 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 = "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 = "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;
+
+ 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;
}