Apply new BT share UI for tizen 3.0
[apps/native/bluetooth-share-ui.git] / src / bt-share-ui-popup.c
old mode 100755 (executable)
new mode 100644 (file)
index 8d5db96..24516c3
@@ -35,7 +35,6 @@
 #include <app.h>
 #include <bluetooth-share-api.h>
 #include <notification.h>
-#include <E_DBus.h>
 
 #include "applog.h"
 #include "bt-share-ui-view.h"
 #include "bt-share-ui-widget.h"
 #include "bt-share-ui-main.h"
 
-#define NEW_LINE       "\n"
-
 extern bt_share_appdata_t *app_state;
 
-
-static void __bt_destroy_ft_popup(bt_share_appdata_t *ad)
-{
-       DBG("");
-       ret_if(ad == NULL);
-
-       if (ad->ft_popup) {
-               DBG("delete ft_popup");
-               evas_object_del(ad->ft_popup);
-               ad->ft_popup = NULL;
-       }
-
-       return;
-}
-
-static void __bt_ft_retry_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       DBG("+");
-
-       ret_if(data == NULL);
-       bt_share_appdata_t *ad = app_state;
-       bt_tr_data_t *info = (bt_tr_data_t *)data;
-
-       __bt_destroy_ft_popup(ad);
-
-       if (ad->bt_status == BT_ADAPTER_ENABLED) {
-               if (!_bt_share_ui_ipc_retry_send(ad, info)) {
-                       INFO(" info->id %d", info->id);
-                       _bt_share_ui_ipc_info_update(ad, info->id);
-                       _bt_delete_selected_item(ad);
-               }
-       }
-
-       DBG("-");
-       return;
-}
-
-static void __bt_ft_retry_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       DBG("+");
-
-       ret_if(data == NULL);
-       bt_share_appdata_t *ad = app_state;
-
-       __bt_destroy_ft_popup(ad);
-
-       DBG("-");
-       return;
-}
-
-static void __bt_ft_retry_mouseup_cb(void *data,
-                       Evas *e, Evas_Object *obj, void *event_info)
-{
-       Evas_Event_Mouse_Up *ev = event_info;
-       bt_share_appdata_t *ad = app_state;
-       bt_tr_data_t *info = (bt_tr_data_t *)data;
-
-       DBG("Mouse event callback function is called +");
-       if (ev->button == 3) {
-               __bt_destroy_ft_popup(ad);
-               _bt_share_ui_ipc_info_update(ad, info->id);
-       }
-
-       DBG("Mouse event callback -");
-}
-
-static void __bt_ft_ok_popup_cb(void *data, Evas_Object *obj,
-                       void *event_info)
-{
-       DBG(" +");
-       ret_if(data == NULL);
-       ret_if(!obj);
-       bt_share_appdata_t *ad = app_state;
-       bt_tr_data_t *info = (bt_tr_data_t *)data;
-
-       const char *text = elm_object_text_get(obj);
-
-       if (!g_strcmp0(text, BT_STR_RETRY)) {
-               __bt_ft_retry_ok_cb(data, obj, event_info);
-               return;
-       }
-
-       __bt_destroy_ft_popup(ad);
-
-       if (ad->bt_status == BT_ADAPTER_DISABLED)
-               _bt_update_tr_notification(info);
-       else /*Adapter enabled case */
-               _bt_share_ui_ipc_info_update(ad, info->id);
-
-       _bt_delete_selected_item(ad);
-
-       DBG("-");
-       return;
-}
-
-static void __bt_ft_ok_mouseup_cb(void *data,
-                       Evas *e, Evas_Object *obj, void *event_info)
-{
-       Evas_Event_Mouse_Up *ev = event_info;
-       bt_share_appdata_t *ad = app_state;
-       bt_tr_data_t *info = (bt_tr_data_t *)data;
-
-       DBG("Mouse event callback function is called +");
-
-       if (ev->button == 3) {
-               __bt_destroy_ft_popup(ad);
-               _bt_share_ui_ipc_info_update(ad, info->id);
-               _bt_delete_selected_item(ad);
-       }
-       DBG("Mouse event callback -");
-}
-
-static Evas_Object *__bt_create_popup_layout(Evas_Object *parent, bt_share_appdata_t *ad)
-{
-       Evas_Object *layout = NULL;
-
-       layout = elm_layout_add(parent);
-       elm_layout_file_set(layout, EDJFILE, "ft_popup");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
-                                        EVAS_HINT_EXPAND);
-       ad->progress_layout = layout;
-       return layout;
-}
-
-static Evas_Object *__bt_create_progressbar(Evas_Object *parent, bt_share_appdata_t *ad)
-{
-       Evas_Object *progressbar = NULL;
-       progressbar = elm_progressbar_add(parent);
-       elm_object_style_set(progressbar, "list_progress");
-       elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
-       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
-       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_signal_emit(progressbar, "elm,units,show", "elm");
-       elm_progressbar_value_set(progressbar, 0.0);
-       evas_object_show(progressbar);
-       return progressbar;
-}
-
-static Evas_Object *__bt_create_popup_pb_layout(Evas_Object *parent, bt_share_appdata_t *ad)
-{
-       Evas_Object *layout = NULL;
-
-       layout = elm_layout_add(parent);
-       elm_layout_file_set(layout, EDJFILE, "popup_2text_progressbar_view_layout");
-       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
-                                        EVAS_HINT_EXPAND);
-       ad->progress_layout = layout;
-       return layout;
-}
-
-Evas_Object *_bt_create_ft_popup(bt_share_ft_popup_type_e type, bt_tr_data_t *info)
-{
-       DBG(" +");
-       bt_share_appdata_t *ad = app_state;
-       Evas_Object *popup = NULL;
-       char msg[BT_GLOBALIZATION_STR_LENGTH] = { 0 };
-       char tmp[BT_GLOBALIZATION_STR_LENGTH] = { 0 };
-       char *name = NULL;
-       char *markup_text = NULL;
-       char *stms_str = NULL;
-
-       if (info->file_path == NULL) {
-               ERR("Invalid data");
-               return NULL;
-       }
-
-       popup = elm_popup_add(ad->win);
-       evas_object_size_hint_weight_set(popup,
-                                        EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       INFO("Popup type : %d", type);
-       ad->ft_type = type;
-       ad->ft_info = info;
-
-       if (type == BT_FT_SENT_POPUP) {
-               DBG("BT_FT_SENT_POPUP");
-               elm_object_part_text_set(popup, "title,text", BT_STR_SENT_FILES);
-               char file_size_str[BT_FILE_SIZE_STR] = { 0 };
-
-               stms_str = BT_STR_TO_S;
-               snprintf(msg, sizeof(msg), stms_str, info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               /* file size */
-               if (info->size < 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dB", info->size);
-               else if (info->size > 1024 * 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dMB", info->size / (1024 * 1024));
-               else
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dKB", info->size / 1024);
-
-               stms_str = BT_STR_FILE_SIZE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, file_size_str);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(popup, markup_text);
-       } else if (type == BT_FT_RECV_SUCCESS_POPUP) {
-               DBG("BT_FT_RECV_SUCCESS_POPUP");
-               elm_object_part_text_set(popup, "title,text", BT_STR_RECEIVED_FILES);
-               char file_size_str[BT_FILE_SIZE_STR] = { 0 };
-
-               stms_str = BT_STR_FROM_S;
-               snprintf(msg, sizeof(msg), stms_str, info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               /* file size */
-               if (info->size < 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dB", info->size);
-               else if (info->size > 1024 * 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dMB", info->size / (1024 * 1024));
-               else
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dKB", info->size / 1024);
-
-               stms_str = BT_STR_FILE_SIZE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, file_size_str);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(popup, markup_text);
-       } else if (type == BT_FT_RECV_FAIL_POPUP) {
-               DBG("BT_FT_RECV_FAIL_POPUP");
-               elm_object_part_text_set(popup, "title,text", BT_STR_UNABLE_TO_RECEIVED_FILES);
-
-               g_strlcat(msg, BT_STR_FILE_NOT_RECV, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, info->file_path);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(popup, markup_text);
-       } else if (type == BT_FT_FILE_NOT_EXIST) {
-               elm_object_part_text_set(popup, "title,text", BT_STR_RECEIVED_FILES);
-               __bt_create_popup_layout(popup, ad);
-
-               g_strlcat(msg, BT_STR_FILE_NOT_EXIST, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, info->file_path);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(popup, markup_text);
-       } else  if (type == BT_FT_RETRY_POPUP) {
-               elm_object_part_text_set(popup, "title,text", BT_STR_UNABLE_TO_SEND_FILES);
-
-               stms_str = BT_STR_SEND_FAIL_TO_S;
-               snprintf(msg, sizeof(msg), stms_str, info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(popup, markup_text);
-       }
-
-       evas_object_show(popup);
-
-       if (type == BT_FT_RETRY_POPUP) {
-               if (ad->bt_status == BT_ADAPTER_DISABLED ||
-                       access(info->file_path, F_OK) != 0) {
-                       _bt_create_button(popup,  "popup", "button1",
-                                       BT_STR_OK, NULL, __bt_ft_ok_popup_cb, info);
-               } else {
-                       _bt_create_button(popup, "popup", "button1",
-                                       BT_STR_RETRY, NULL, __bt_ft_retry_ok_cb, info);
-               }
-               eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                               __bt_ft_retry_cancel_cb, info);
-               evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
-                               __bt_ft_retry_mouseup_cb, info);
-       } else {
-               _bt_create_button(popup, "popup", "button1",
-                               BT_STR_OK, NULL, __bt_ft_ok_popup_cb, info);
-               eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                               __bt_ft_ok_popup_cb, info);
-               evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
-                               __bt_ft_ok_mouseup_cb, info);
-       }
-
-       if(markup_text)
-               free(markup_text);
-
-       DBG("-");
-       return popup;
-}
-
-void _bt_lang_changed_ft_popup(bt_share_appdata_t *ad)
-{
-       DBG(" +");
-       char msg[BT_GLOBALIZATION_STR_LENGTH] = { 0 };
-       char tmp[BT_GLOBALIZATION_STR_LENGTH] = { 0 };
-       char *name = NULL;
-       char *markup_text = NULL;
-       char *stms_str = NULL;
-       Evas_Object *btn1 = NULL;
-
-       if (ad->ft_type == BT_FT_SENT_POPUP) {
-               elm_object_part_text_set(ad->ft_popup, "title,text", BT_STR_SENT_FILES);
-               char file_size_str[BT_FILE_SIZE_STR] = { 0 };
-
-               stms_str = BT_STR_FROM_S;
-               snprintf(msg, sizeof(msg), stms_str, ad->ft_info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(ad->ft_info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = ad->ft_info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               /* file size */
-               if (ad->ft_info->size < 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dB", ad->ft_info->size);
-               else if (ad->ft_info->size > 1024 * 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dMB", ad->ft_info->size / (1024 * 1024));
-               else
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dKB", ad->ft_info->size / 1024);
-
-               stms_str = BT_STR_FILE_SIZE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, file_size_str);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(ad->ft_popup, markup_text);
-       } else if (ad->ft_type == BT_FT_RECV_SUCCESS_POPUP) {
-               elm_object_part_text_set(ad->ft_popup, "title,text", BT_STR_RECEIVED_FILES);
-               char file_size_str[BT_FILE_SIZE_STR] = { 0 };
-
-               stms_str = BT_STR_FROM_S;
-               snprintf(msg, sizeof(msg), stms_str, ad->ft_info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(ad->ft_info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = ad->ft_info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               /* file size */
-               if (ad->ft_info->size < 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dB", ad->ft_info->size);
-               else if (ad->ft_info->size > 1024 * 1024)
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dMB", ad->ft_info->size / (1024 * 1024));
-               else
-                       snprintf(file_size_str, sizeof(file_size_str),
-                               "%dKB", ad->ft_info->size / 1024);
-
-               stms_str = BT_STR_FILE_SIZE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, file_size_str);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(ad->ft_popup, markup_text);
-       } else if (ad->ft_type == BT_FT_RECV_FAIL_POPUP) {
-               elm_object_part_text_set(ad->ft_popup, "title,text", BT_STR_UNABLE_TO_RECEIVED_FILES);
-
-               g_strlcat(msg, BT_STR_FILE_NOT_RECV, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, ad->ft_info->file_path);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               stms_str = BT_STR_FAIL_S;
-               snprintf(tmp, sizeof(tmp), stms_str, BT_STR_TR_CANCELLED);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(ad->ft_popup, markup_text);
-       } else if (ad->ft_type == BT_FT_FILE_NOT_EXIST) {
-               elm_object_part_text_set(ad->ft_popup, "title,text", BT_STR_RECEIVED_FILES);
-
-               g_strlcat(msg, BT_STR_FILE_NOT_EXIST, BT_GLOBALIZATION_STR_LENGTH);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, ad->ft_info->file_path);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(ad->ft_popup, markup_text);
-       } else  if (ad->ft_type == BT_FT_RETRY_POPUP) {
-               elm_object_part_text_set(ad->ft_popup, "title,text", BT_STR_UNABLE_TO_SEND_FILES);
-
-               stms_str = BT_STR_SEND_FAIL_TO_S;
-               snprintf(msg, sizeof(msg), stms_str, ad->ft_info->dev_name);
-               g_strlcat(msg, NEW_LINE, BT_GLOBALIZATION_STR_LENGTH);
-
-               name = strrchr(ad->ft_info->file_path, '/');
-               if (name != NULL)
-                       name++;
-               else
-                       name = ad->ft_info->file_path;
-
-               stms_str = BT_STR_FILE_S;
-               snprintf(tmp, sizeof(tmp), stms_str, name);
-               g_strlcat(msg, tmp, BT_GLOBALIZATION_STR_LENGTH);
-
-               markup_text = elm_entry_utf8_to_markup(msg);
-               elm_object_text_set(ad->ft_popup, markup_text);
-       }
-
-       if (ad->ft_type == BT_FT_RETRY_POPUP) {
-               btn1 = elm_object_part_content_get(ad->ft_popup, "button1");
-               if (ad->bt_status == BT_ADAPTER_DISABLED) {
-                       if (btn1)
-                               elm_object_text_set(btn1, BT_STR_OK);
-               } else {
-                       if (btn1)
-                               elm_object_text_set(btn1, BT_STR_RETRY);
-               }
-       } else {
-               btn1 = elm_object_part_content_get(ad->ft_popup, "button1");
-               if (btn1)
-                       elm_object_text_set(btn1, BT_STR_OK);
-       }
-
-       if(markup_text)
-               free(markup_text);
-
-       DBG(" -");
-}
-
-static void __bt_progress_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       DBG(" +");
-       ret_if(data == NULL);
-
-       bt_share_appdata_t *ad = NULL;
-
-       ad = (bt_share_appdata_t *)data;
-
-       _bt_destroy_progress_popup(ad);
-
-       if (ad->tr_view == NULL)
-               _bt_terminate_app();
-
-       DBG("-");
-       return;
-}
-
-static void __bt_progress_cancel_cb(void *data, Evas_Object *obj,
-                                               void *event_info)
-{
-       DBG(" +");
-       ret_if(data == NULL);
-
-       bt_share_appdata_t *ad = NULL;
-       bt_share_popup_data_t *pb_data = NULL;
-
-       ad = (bt_share_appdata_t *)data;
-       pb_data = evas_object_data_get(ad->progress_popup, "progressbar_data");
-       _bt_abort_signal_send(ad, pb_data);
-
-       _bt_destroy_progress_popup(ad);
-
-       if (ad->tr_view == NULL)
-               _bt_terminate_app();
-
-       DBG("-");
-       return;
-}
-
-static void __bt_progress_mouseup_cb(void *data,
-                       Evas *e, Evas_Object *obj, void *event_info)
-{
-       Evas_Event_Mouse_Up *ev = event_info;
-       bt_share_appdata_t *ad = NULL;
-       bt_share_popup_data_t *pb_data = NULL;
-
-       ad = (bt_share_appdata_t *)data;
-       pb_data = evas_object_data_get(ad->progress_popup, "progressbar_data");
-
-       DBG("Mouse event callback function is called +");
-
-       if (ev->button == 3) {
-               _bt_abort_signal_send(ad, pb_data);
-               _bt_destroy_progress_popup(ad);
-
-               if (ad->tr_view == NULL)
-                       _bt_terminate_app();
-       }
-       DBG("Mouse event callback -");
-}
-
-Evas_Object *_bt_create_progress_popup(bt_share_popup_data_t *data)
-{
-       DBG(" +");
-       retv_if(data == NULL, NULL);
-       Evas_Object *popup = NULL;
-       Evas_Object *layout = NULL;
-       Evas_Object *progressbar = NULL;
-       bt_share_appdata_t *ad = app_state;
-       char temp[BT_PERCENT_STR_LEN] = { 0 };
-       float i = 0.0;
-       int tmp = 0;
-       char *markup_text = NULL;
-
-       popup = elm_popup_add(ad->win);
-       evas_object_size_hint_weight_set(popup,
-                                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       layout = __bt_create_popup_pb_layout(popup, ad);
-
-       elm_object_part_text_set(popup, "title,text", (!strcmp(data->transfer_type, "outbound")) ?
-                                       BT_STR_SEND_FILES : BT_STR_RECEIVE_FILES);
-       elm_object_part_text_set(layout, "elm.text.description", (!strcmp(data->transfer_type, "outbound")) ?
-                                               BT_STR_SENDING : BT_STR_RECEIVING);
-
-       markup_text = elm_entry_utf8_to_markup(data->filename);
-       elm_object_part_text_set(layout, "elm.subtext.description", markup_text);
-
-       if(markup_text)
-               free(markup_text);
-
-       progressbar = __bt_create_progressbar(popup, ad);
-       elm_object_part_content_set(layout, "progressbar", progressbar);
-       ad->pb = progressbar;
-
-       tmp = atoi(data->percentage);
-       elm_progressbar_unit_format_set(ad->pb, NULL);
-       i = (float)tmp / (float)100.0;
-       elm_progressbar_value_set(ad->pb, i);
-       evas_object_show(ad->pb);
-
-       snprintf(temp, BT_PERCENT_STR_LEN, "%d%%", tmp);
-       elm_object_part_text_set(progressbar,"elm.text.bottom.left", temp);
-       elm_object_signal_emit(progressbar, "elm.text.bottom.show", "elm");
-
-       ad->pb_transfer_id = data->transfer_id;
-       elm_object_content_set(popup, layout);
-
-       _bt_create_button(popup, "popup", "button1",
-                       BT_STR_RESUME, NULL, __bt_progress_ok_cb, ad);
-       _bt_create_button(popup, "popup", "button2",
-                       BT_STR_CANCEL, NULL, __bt_progress_cancel_cb, ad);
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                       __bt_progress_ok_cb, ad);
-       evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
-                       __bt_progress_mouseup_cb, ad);
-
-       evas_object_show(popup);
-
-       DBG("-");
-       ad->progress_data = data;
-       return popup;
-}
-
-int _bt_destroy_progress_popup(bt_share_appdata_t *ad)
-{
-       DBG("+");
-
-       retvm_if(ad == NULL, 0,
-                "Invalid argument: ad is NULL");
-       bt_share_popup_data_t *pb_data = NULL;
-
-       if (ad->progress_popup) {
-               pb_data = evas_object_data_get(ad->progress_popup,
-                               "progressbar_data");
-               if (pb_data) {
-                       g_free((gpointer)pb_data->filename);
-                       g_free((gpointer)pb_data->percentage);
-                       g_free((gpointer)pb_data->transfer_type);
-                       g_free((gpointer)pb_data);
-               }
-
-               evas_object_del(ad->progress_popup);
-               ad->progress_popup = NULL;
-       }
-
-       DBG("-");
-       return 0;
-}
-
-void _bt_lang_changed_progress_popup(bt_share_appdata_t *ad)
-{
-       DBG(" +");
-       ret_if(ad == NULL);
-       Evas_Object *btn1 = NULL;
-       Evas_Object *btn2 = NULL;
-
-       elm_object_part_text_set(ad->progress_popup, "title,text",
-                                       (!strcmp(ad->progress_data->transfer_type, "outbound")) ?
-                                       BT_STR_SEND_FILES : BT_STR_RECEIVE_FILES);
-       elm_object_part_text_set(ad->progress_layout, "elm.text.description",
-                                       (!strcmp(ad->progress_data->transfer_type, "outbound")) ?
-                                       BT_STR_SENDING : BT_STR_RECEIVING);
-
-       btn1 = elm_object_part_content_get(ad->progress_popup, "button1");
-       if (btn1)
-               elm_object_text_set(btn1, BT_STR_RESUME);
-       btn2 = elm_object_part_content_get(ad->progress_popup, "button2");
-       if (btn2)
-               elm_object_text_set(btn2, BT_STR_CANCEL);
-
-       DBG(" -");
-}
-
-int _bt_update_progress_popup(bt_share_appdata_t *ad,
+int _bt_update_progressbar(bt_share_appdata_t *ad,
                        int transfer_id, const char *name, int percentage)
 {
-       char temp[BT_PERCENT_STR_LEN] = {0};
-
        retvm_if(ad == NULL, 0, "Invalid argument: ad is NULL");
-       retvm_if(ad->pb_transfer_id != transfer_id, 0, "Invalid transfer_id!");
-       retvm_if(!ad->progress_popup, 0, "No progress_popup!");
-
-       float i = 0.0;
-       i = (float)(percentage) / (float)100.0;
-       elm_progressbar_value_set(ad->pb, i);
-       evas_object_show(ad->pb);
+       retvm_if(ad->transfer_info == NULL, 0, "Invalid argument: transfer_info is NULL");
+       retvm_if(ad->transfer_info->transfer_id != transfer_id, 0, "Invalid transfer_id!");
+
+       if (ad->transfer_info) {
+               ad->transfer_info->percentage = percentage;
+               if (ad->progress_item && ad->progressbar) {
+                       float i;
+                       i = (float)(percentage) / (float)100.0;
+                       elm_progressbar_value_set(ad->progressbar, i);
+
+                       elm_object_part_text_set(ad->progressbar, "elm.text.bottom.left",
+                                       g_strdup_printf("%d%%", percentage));
+               }
 
-       snprintf(temp, BT_PERCENT_STR_LEN, "%d%%", percentage);
-       elm_object_part_text_set(ad->pb,"elm.text.bottom.left", temp);
-       elm_object_signal_emit(ad->pb, "elm,bottom,text,show", "elm");
+       }
        return 0;
 }
 
-
 static gboolean __bt_info_popup_timer_cb(void *data, Evas_Object *obj,
                                    void *event_info)
 {
@@ -733,21 +77,21 @@ static gboolean __bt_info_popup_timer_cb(void *data, Evas_Object *obj,
 
        _bt_destroy_info_popup(ad);
 
-       if (ad->tr_view == NULL) {
+       if (ad->tr_view == NULL)
                _bt_terminate_app();
-       }
+
        DBG("-");
        return FALSE;
 }
 
 Evas_Object *_bt_create_info_popup(bt_share_appdata_t *ad,
-                                       const char *title, const char *text)
+                                       const char *text)
 {
-       DBG("+");
+       FN_START;
        Evas_Object *popup = NULL;
 
-       retv_if((!ad || !title || !text), NULL);
-       retv_if (ad->info_popup != NULL, NULL);
+       retv_if((!ad || !text), NULL);
+       retv_if(ad->info_popup != NULL, NULL);
 
        popup = elm_popup_add(ad->win);
        elm_object_style_set(popup, "toast");
@@ -755,12 +99,12 @@ Evas_Object *_bt_create_info_popup(bt_share_appdata_t *ad,
                                         EVAS_HINT_EXPAND);
 
        eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                       eext_popup_back_cb, NULL);
-       elm_object_text_set(popup, text);
+                       (Evas_Smart_Cb)__bt_info_popup_timer_cb, ad);
+       elm_object_part_text_set(popup, "elm.text", text);
        evas_object_smart_callback_add(popup, "block,clicked",
                        (Evas_Smart_Cb)__bt_info_popup_timer_cb, ad);
 
-       if(!elm_config_access_get()) {
+       if (!elm_config_access_get()) {
                elm_popup_timeout_set(popup, BT_INFO_POPUP_TIMEOUT_IN_SEC);
                evas_object_smart_callback_add(popup, "timeout",
                        (Evas_Smart_Cb) __bt_info_popup_timer_cb, ad);
@@ -772,64 +116,100 @@ Evas_Object *_bt_create_info_popup(bt_share_appdata_t *ad,
        evas_object_show(popup);
        ad->info_popup = popup;
 
-       DBG("-");
+       FN_END;
        return popup;
 }
 
-static gboolean __bt_extinctive_info_popup_timer_cb(void *data,
-                               Evas_Object *obj, void *event_info)
+static void
+__bt_share_popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       bt_share_appdata_t *ad;
-       ad = (bt_share_appdata_t *)data;
-       retv_if(ad == NULL, FALSE);
+       elm_popup_dismiss(obj);
+}
 
-       _bt_destroy_info_popup(ad);
+static void
+__bt_share_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       elm_popup_dismiss(obj);
+}
 
-       if (!ad->tr_view)
-               _bt_terminate_app();
+static void
+__bt_share_popup_hide_finished_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       evas_object_del(obj);
+}
 
-       return FALSE;
+static void
+__bt_share_progressbar_popup_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       Ecore_Timer *timer = data;
+       ecore_timer_del(timer);
 }
 
-Evas_Object *_bt_create_extinctive_info_popup(bt_share_appdata_t *ad,
-                               const char *title, const char *text)
+static Eina_Bool
+__bt_share_progressbar_timer_cb(void *data)
 {
-       DBG("+");
-       Evas_Object *popup = NULL;
+       retv_if(!data, ECORE_CALLBACK_CANCEL);
 
-       retv_if((!ad || !title || !text), NULL);
+       Evas_Object *popup = data;
+       Evas_Object *progressbar = evas_object_data_get(popup, "progressbar");
+       double value;
 
-       if (ad->info_popup != NULL)
-               return NULL;
+       value = elm_progressbar_value_get(progressbar);
+       if (value == 1.0) {
+               evas_object_data_del(popup, "timer");
+               evas_object_del(popup);
+               return ECORE_CALLBACK_CANCEL;
+       }
+       value = value + 0.01;
+       elm_progressbar_value_set(progressbar, value);
+
+       return ECORE_CALLBACK_RENEW;
+}
+
+Evas_Object *_bt_share_add_turning_on_popup(bt_share_appdata_t *ad)
+{
+       FN_START;
+       retv_if(ad == NULL, NULL);
+       Evas_Object *popup = NULL;
+       Evas_Object *layout = NULL;
+       Evas_Object *progressbar = NULL;
+       Ecore_Timer *timer = NULL;
 
        popup = elm_popup_add(ad->win);
-       elm_object_style_set(popup, "toast");
-       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
-                                        EVAS_HINT_EXPAND);
+       elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
-                       eext_popup_back_cb, NULL);
-       elm_object_text_set(popup, text);
-       evas_object_smart_callback_add(popup, "block,clicked",
-                       (Evas_Smart_Cb)__bt_extinctive_info_popup_timer_cb, ad);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __bt_share_popup_hide_cb, NULL);
+       evas_object_smart_callback_add(popup, "dismissed", __bt_share_popup_hide_finished_cb, NULL);
+       evas_object_smart_callback_add(popup, "block,clicked", __bt_share_popup_block_clicked_cb, NULL);
 
-       if(!elm_config_access_get()) {
-               elm_popup_timeout_set(popup, BT_INFO_POPUP_TIMEOUT_IN_SEC);
-               evas_object_smart_callback_add(popup, "timeout",
-                       (Evas_Smart_Cb) __bt_extinctive_info_popup_timer_cb, ad);
-       } else {
-               evas_object_smart_callback_add(popup, "access,read,stop",
-                       (Evas_Smart_Cb) __bt_extinctive_info_popup_timer_cb, ad);
-       }
+       /* layout */
+       layout = elm_layout_add(popup);
+       elm_layout_file_set(layout, EDJFILE, "turning_on_view_layout");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_text_set(layout, "elm.text", BT_STR_TURNING_ON_BLUETOOTH_ING);
+
+       progressbar = elm_progressbar_add(layout);
+       elm_object_style_set(progressbar, "process_medium");
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+       elm_object_part_content_set(layout, "processing", progressbar);
+       timer = ecore_timer_add(0.1, __bt_share_progressbar_timer_cb, popup);
+
+       elm_object_content_set(popup, layout);
+
+       evas_object_data_set(popup, "progressbar", progressbar);
+       evas_object_data_set(popup, "timer", timer);
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                       __bt_share_progressbar_popup_del_cb, timer);
 
        evas_object_show(popup);
-       ad->info_popup = popup;
 
-       DBG("-");
+       FN_END;
        return popup;
 }
 
-
 int _bt_destroy_info_popup(bt_share_appdata_t *ad)
 {
        DBG("+");