From: polu.sandeep Date: Fri, 16 Oct 2015 10:24:11 +0000 (+0900) Subject: Apply latest changes X-Git-Tag: release/160311~148 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db8dad2d7528f81432c1f5f64ede7182201c1316;p=apps%2Fnative%2Ftelegram-tizen.git Apply latest changes Change-Id: I482563d3b51c1b819a7ef08feea8694dcbc3122b --- diff --git a/TelegramTizen/db_manager/tg_db_manager.c b/TelegramTizen/db_manager/tg_db_manager.c index 91f7f7c..733a0cd 100644 --- a/TelegramTizen/db_manager/tg_db_manager.c +++ b/TelegramTizen/db_manager/tg_db_manager.c @@ -471,11 +471,11 @@ Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List var_query = realloc(var_query, strlen(var_query)+strlen(order_column) + 1); strcat(var_query, order_column); if (is_asc) { - var_query = realloc(var_query, strlen(var_query)+strlen(" ASC ") + 1); - strcat(var_query, " ASC "); + var_query = realloc(var_query, strlen(var_query)+strlen(" COLLATE NOCASE ASC ") + 1); + strcat(var_query, " COLLATE NOCASE ASC "); } else { - var_query = realloc(var_query, strlen(var_query)+strlen(" DESC ") + 1); - strcat(var_query, " DESC "); + var_query = realloc(var_query, strlen(var_query)+strlen(" COLLATE NOCASE DESC ") + 1); + strcat(var_query, " COLLATE NOCASE DESC "); } } diff --git a/TelegramTizen/inc/tg_messaging_view.h b/TelegramTizen/inc/tg_messaging_view.h index 24f9e89..3da1a20 100644 --- a/TelegramTizen/inc/tg_messaging_view.h +++ b/TelegramTizen/inc/tg_messaging_view.h @@ -20,4 +20,5 @@ extern void on_user_status_changed(appdata_s* ad, char* status); extern void on_group_chat_info_changed(appdata_s *ad, char *type_of_change); extern void on_chat_profile_pic_changed(appdata_s *ad, char *file_path); extern void on_messaging_menu_button_clicked(void *data, Evas_Object *obj, void *event_info); +extern void refresh_messaging_view(appdata_s *ad); #endif /* TG_MESSAGING_VIEW_H_ */ diff --git a/TelegramTizen/res/edje/telegram_chat_conv.edc b/TelegramTizen/res/edje/telegram_chat_conv.edc deleted file mode 100644 index e9cecfe..0000000 --- a/TelegramTizen/res/edje/telegram_chat_conv.edc +++ /dev/null @@ -1,760 +0,0 @@ -collections -{ - images { - image: "chat_bg.jpg" COMP; - image: "bubble_rec_bg.#.png" COMP; - image: "bubble_sent_bg.#.png" COMP; - image: "SplashScreenImage.jpg" COMP; - image: "ApplicationIcon.png" COMP; - image: "msg_in_photo.9.png" COMP; - image: "msg_out_photo.9.png" COMP; - image: "call_btn_circle.png" COMP; - image: "Telegram-main-icon.png" COMP; - } - - group - { - name: "splash_screen"; - parts{ - part { - name: "swallow.splash_screen,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.splash_screen"; } - rel2 { relative: 1.0 1.0; to, "swallow.splash_screen"; } - color: 255 255 255 255; - } - } - part{ - name: "splash_screen_bg_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: 0.3 0.2; to, "swallow.splash_screen,bg"; } - rel2 { relative: 0.7 0.4; to, "swallow.splash_screen,bg"; } - image { - normal: "Telegram-main-icon.png"; - } - } - } - part{ - name: "swallow.splash_screen"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; - } - } - } - } - - -group -{ - name: "chat_image_list_item_group"; - parts{ - part { - name: "swallow.chat_image_list_item,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_image_list_item"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_image_list_item"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_image_list_item_br"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: -0.1 -0.1; to, "swallow.chat_image_list_item,bg"; } - rel2 { relative: 1.1 1.1; to, "swallow.chat_image_list_item,bg"; } - image { - border: 13 12 15 11; - normal: "msg_in_photo.9.png"; - } - } - } - part{ - name: "swallow.chat_image_list_item"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.6 0.1; } - rel2 { relative: 0.9 0.9; } - color: 0 0 0 0; - } - } - } -} - - - group - { - name: "chat_image_item"; - parts{ - part{ - name: "swallow.chat_item_bg_image"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - part{ - name: "swallow.chat_image_size"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.3 0.4; } - rel2 { relative: 0.6 0.6; } - color: 0 0 0 0; - } - } - part{ - name: "swallow.chat_image_item"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.8 0.3; } - rel2 { relative: 0.9 0.7; } - color: 0 0 0 0; - } - } - part{ - name: "swallow.chat_image_progress"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.4 0.4; } - rel2 { relative: 0.6 0.6; } - color: 0 0 0 0; - } - } - } - } - - - group - { - name: "image_rounded_mask"; - parts{ - part { - name: "swallow.bg"; - type:SWALLOW; - description { - state: "default" 0.0; - rel1 { relative: -0.2 -0.2; to, "swallow.image_rounded_mask"; } - rel2 { relative: 1.2 1.2; to, "swallow.image_rounded_mask"; } - color: 0 0 0 0; - } - } - part{ - name: "swallow.image_rounded_mask"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - } - } - - group - { - name: "chat_list_with_bg"; - parts{ - part { - name: "swallow.bg"; - type:SWALLOW; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; - } - } - part{ - name: "swallow.chat_list_with_bg"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0;} - rel2 { relative: 1.0 1.0;} - } - } - } - } - - group - { - name: "chat_bg_conv"; - parts{ - part { - name: "swallow.chat_bg_box,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_bg_box"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_bg_box"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_box_bg_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_bg_box,bg"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_bg_box,bg"; } - image { - normal: "chat_bg.jpg"; - } - } - } - part{ - name: "swallow.chat_bg_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; - } - } - } - } - - -group -{ - name: "chat_title_box"; - parts{ - part { - name: "swallow.profile_pic,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 0.2 1.0; } - color: 50 255 255 200; - } - } - part{ - name: "swallow.profile_pic"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.05 0.05; } - rel2 { relative: 0.15 0.95; } - } - } - - part { - name: "swallow.profile_name,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.2 0.0; } - rel2 { relative: 1.0 0.5; } - color: 50 255 255 200; - } - } - - part{ - name: "swallow.profile_name"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.2 0.0; } - rel2 { relative: 1.0 0.5; } - } - } - - part { - name: "swallow.profile_time,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.2 0.5; } - rel2 { relative: 1.0 1.0; } - color: 50 255 255 200; - } - } - - part{ - name: "swallow.profile_time"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.2 0.5; } - rel2 { relative: 1.0 1.0; } - } - } - } -} - - - - - group - { - name: "chat_conv"; - parts{ - part{ - name: "swallow.title_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.1; } - } - } - part{ - name: "swallow.chat_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.1; } - rel2 { relative: 1.0 0.85; } - } - } - part{ - name: "swallow.entry_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - fixed: 1 0; - rel1 { relative: 0.0 0.85;} - rel2 { relative: 1.0 1.0;} - color: 50 100 255 255; - } - } - - } - } - - group - { - name: "chat_entry_box"; - parts{ - part{ - name: "swallow.smiely_icon"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.1; } - rel2 { relative: 0.15 0.9; } - min: 50 50; - max: 50 50; - } - } - part { - name: "entry,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.text_entry"; } - rel2 { relative: 1.0 1.0; to, "swallow.text_entry"; } - color: 192 199 189 255; - } - } - part{ - name: "swallow.text_entry"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.15 0.2; } - rel2 { relative: 0.8 0.9; } - } - } - part{ - name: "swallow.attach_icon"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.8 0.1; } - rel2 { relative: 0.9 0.9; } - min: 50 50; - max: 50 50; - } - } - part{ - name: "swallow.send_icon"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.9 0.1; } - rel2 { relative: 1.0 0.9; } - min: 50 50; - max: 50 50; - } - } - - } - } - - group - { - name: "chat_display_box"; - parts{ - part { - name: "bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_box"; } - rel2 { relative: 1.1 1.0; to, "swallow.chat_box"; } - color: 0 0 0 0; - } - } - part{ - name: "swallow.chat_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - } - } - - group - { - name: "chat_send_item_box"; - parts{ - part { - name: "chat_send_bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_send_text"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_send_text"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_send_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: -0.05 -0.6; to, "chat_send_bg"; } - rel2 { relative: 1.15 1.2; to, "chat_send_bg"; } - image { - border: 20 46 20 46; - normal: "bubble_sent_bg.#.png"; - } - } - } - part{ - name: "swallow.chat_send_text"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 0.9 0.9; } - } - } - } - } - - group - { - name: "chat_recv_item_box"; - parts{ - part { - name: "chat_recv_bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_recv_text"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_recv_text"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_recv_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: -0.1 -0.6; to, "chat_recv_bg"; } - rel2 { relative: 1.1 1.2; to, "chat_recv_bg"; } - image { - border: 20 46 20 46; - normal: "bubble_rec_bg.#.png"; - } - } - } - part{ - name: "swallow.chat_recv_text"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.05 0.1; } - rel2 { relative: 1.0 0.9; } - } - } - } - } - - - - group - { - name: "chat_send_pic_item_box"; - parts{ - part { - name: "chat_send_pic_bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_send_pic"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_send_pic"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_send_pic_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: -0.05 -0.1; to, "chat_send_pic_bg"; } - rel2 { relative: 1.1 1.1; to, "chat_send_pic_bg"; } - image { - border: 13 12 15 11; - normal: "msg_out_photo.9.png"; - } - } - } - part{ - name: "swallow.chat_send_pic"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 0.9 1.0; } - } - } - } - } - - group - { - name: "chat_recv_pic_item_box"; - parts{ - part { - name: "chat_recv_pic_bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "swallow.chat_recv_pic"; } - rel2 { relative: 1.0 1.0; to, "swallow.chat_recv_pic"; } - color: 0 0 0 0; - } - } - part{ - name: "chat_recv_pic_image"; - type:IMAGE; - description{ - state: "default" 0.0; - rel1 { relative: -0.1 -0.1; to, "chat_recv_pic_bg"; } - rel2 { relative: 1.1 1.1; to, "chat_recv_pic_bg"; } - image { - border: 13 12 15 11; - normal: "msg_in_photo.9.png"; - } - } - } - part{ - name: "swallow.chat_recv_pic"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.1; } - rel2 { relative: 1.0 1.0; } - } - } - } - } - - group - { - name: "chat_first_registration"; - parts{ - part{ - name: "swallow.first_name_label"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.1; } - rel2 { relative: 0.9 0.2; } - } - } - - part { - name: "first_name_entry,border"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.1 0.21; } - rel2 { relative: 0.9 0.30; } - color: 100 100 100 100; - } - } - - part{ - name: "swallow.first_name_entry"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.21; } - rel2 { relative: 0.9 0.30; } - } - } - - part{ - name: "swallow.last_name_label"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.35; } - rel2 { relative: 0.9 0.45; } - } - } - - part { - name: "last_name_entry,border"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.1 0.46; } - rel2 { relative: 0.9 0.55; } - color: 100 100 100 100; - } - } - part{ - name: "swallow.last_name_entry"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.46; } - rel2 { relative: 0.9 0.55; } - } - } - part{ - name: "swallow.submit_btn"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.56; } - rel2 { relative: 0.9 0.65; } - } - } - } - } - - group - { - name: "group_chat_entry"; - parts{ - part{ - name: "group_chat_entry_box,bg"; - type:RECT; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.2; } - color: 255 255 255 255; - } - } - part{ - name: "swallow.group_chat_entry_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.2; } - } - } - part { - name: "contacts_header,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.2; } - rel2 { relative: 1.0 0.27; } - color: 96 96 96 255; - } - } - part { - name: "swallow.contacts_header"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.2; } - rel2 { relative: 1.0 0.27; } - color: 96 96 96 255; - } - } - - part{ - name: "swallow.group_chat_buddy_list_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.0 0.27;} - rel2 { relative: 1.0 1.0;} - align: 0.5 1.0; - fixed: 0.5 1.0; - min: 0 100; - color: 50 100 255 255; - } - } - } - } - - group - { - name: "group_chat_photo_name_entry"; - parts{ - part{ - name: "swallow.cam_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.1 0.2; } - rel2 { relative: 0.25 0.8; } - } - } - - part { - name: "entry_box,bg"; - type: RECT; - description { - state: "default" 0.0; - rel1 { relative: 0.3 0.3; } - rel2 { relative: 0.95 0.65; } - color: 222 222 222 222; - } - } - - part{ - name: "swallow.entry_box"; - type:SWALLOW; - description{ - state: "default" 0.0; - rel1 { relative: 0.3 0.3;} - rel2 { relative: 0.95 0.65;} - color: 50 100 255 255; - } - } - } - } -} \ No newline at end of file diff --git a/TelegramTizen/res/edje/telegram_chat_layout.edc b/TelegramTizen/res/edje/telegram_chat_layout.edc deleted file mode 100644 index b2cedcd..0000000 --- a/TelegramTizen/res/edje/telegram_chat_layout.edc +++ /dev/null @@ -1,58 +0,0 @@ -collections { - - -group { - name: "chat_messaging_layout"; - parts{ - part{ - name: "swallow.title_box"; - type:SWALLOW; - scale: 1; - description{ - state: "default" 0.0; - min: 254 100; - fixed: 1 1; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 0.1; - } - color: 50 23 55 255; - } - } - part{ - name: "swallow.chat_box"; - type:RECT; - description{ - state: "default" 0.0; - rel1 { - relative: 0.0 0.1; - } - rel2 { - relative: 1.0 0.85; - } - color: 27 54 87 255; - } - } - part{ - name: "swallow.entry_box"; - type:SWALLOW; - scale: 1;; - description{ - state: "default" 0.0; - min: 254 100;; - fixed: 1 1; - rel1 { - relative: 0.0 0.85; - } - rel2 { - relative: 1.0 1.0; - } - color: 50 100 255 255; - } - } - } -} - -} \ No newline at end of file diff --git a/TelegramTizen/res/edje/telegram_chat_layout.edj b/TelegramTizen/res/edje/telegram_chat_layout.edj deleted file mode 100644 index 56b085d..0000000 Binary files a/TelegramTizen/res/edje/telegram_chat_layout.edj and /dev/null differ diff --git a/TelegramTizen/res/edje/telegram_chat_view.edc b/TelegramTizen/res/edje/telegram_chat_view.edc deleted file mode 100644 index f6984c9..0000000 --- a/TelegramTizen/res/edje/telegram_chat_view.edc +++ /dev/null @@ -1,3239 +0,0 @@ - -#define MEDIA_HEIGHT 147 -#define MEDIA_WIDTH 234 -#define MEDIA_DETAILS_LAYOUT_HT 24 -#define MEDIA_PAD_WIDTH 7 -#define MEDIA_PROGRESSBAR_HT 3 -#define VIDEO_ICON_W 19 -#define VIDEO_ICON_H 10 -#define AUDIO_ICON_W 12 -#define AUDIO_ICON_H 14 -#define IMAGE_ICON_W 14 -#define IMAGE_ICON_H 13 - -collections -{ -images -{ - image: "sub_panel_bn_press.png" COMP; - image: "sub_panel_bn_normal.png" COMP; -} - -#define PADDING_LEFT(param_padding_name, param_padding_size) \ - part \ - { \ - name: param_padding_name; \ - type: SPACER; \ - scale: 1; \ - mouse_events: 0;\ - description \ - { \ - state: "default" 0.0; \ - min: param_padding_size 0; \ - fixed: 1 0; \ - rel1{relative: 0.0 0.0;} \ - rel2{relative: 0.0 1.0;} \ - align: 0.0 0.5; \ - } \ - } -#define PADDING_TOP(param_padding_name, param_padding_size) \ - part \ - { \ - name: param_padding_name; \ - type: SPACER; \ - scale: 1; \ - mouse_events: 0;\ - description \ - { \ - state: "default" 0.0; \ - min: 0 param_padding_size ; \ - fixed: 0 1; \ - rel1{relative: 0.0 0.0;} \ - rel2{relative: 1.0 0.0;} \ - align: 0.5 0.0; \ - } \ - } -#define PADDING_BOTTOM(param_padding_name, param_padding_size) \ - part \ - { \ - name: param_padding_name; \ - type: SPACER; \ - scale: 1; \ - mouse_events: 0;\ - description \ - { \ - state: "default" 0.0; \ - min: 0 param_padding_size; \ - fixed: 0 1; \ - rel1{relative: 0.0 1.0;} \ - rel2{relative: 1.0 1.0;} \ - align: 0.5 1.0; \ - } \ - } - -#define PADDING_RIGHT(param_padding_name, param_padding_size) \ - part \ - { \ - name: param_padding_name; \ - type: SPACER; \ - scale: 1; \ - mouse_events: 0;\ - description \ - { \ - state: "default" 0.0; \ - min: param_padding_size 0; \ - fixed: 1 0; \ - rel1{relative: 1.0 0.0;} \ - rel2{relative: 1.0 1.0;} \ - align: 1.0 0.5; \ - } \ - } - - -group -{ - name: "genlistpic"; - parts - { - part - { - name: "elm.image"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - min: 72 72; - max: 72 72; - } - } - part - { - name: "clipper_container"; - type: RECT; - description - { - state: "default" 0.0; - color: 0 0 0 0; - rel1 - { - relative: 0.0 0.0; - to: elm.image; - } - rel2 - { - relative: 1.0 1.0; - to: elm.image; - } - } - } - } -} - -group -{ - name: "removely"; - images - { - image: "remove.png" COMP; - } - parts - { - part - { - name: "elm.image.rect"; - type: RECT; - scale: 1; - description - { - state: "default" 0.0; - min: 60 60; - max: 60 60; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 255 0 0 0; - } - } - part - { - name: "elm.image"; - type: IMAGE; - scale: 1; - description - { - state: "default" 0.0; - image.normal: "remove.png"; - min: 28 6; - max: 28 6; - rel1 - { - relative: 0.0 0.0; - to: elm.image.rect; - } - rel2 - { - relative: 1.0 1.0; - to: elm.image.rect; - } - } - } - } -} - -group -{ - name: "conversationpic"; - parts - { - part - { - name: "elm.image"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - min: 56 56; - max: 56 56; - } - } - part - { - name: "clipper_container"; - type: RECT; - description - { - state: "default" 0.0; - color: 0 0 0 0; - rel1 - { - relative: 0.0 0.0; - to: elm.image; - } - rel2 - { - relative: 1.0 1.0; - to: elm.image; - } - } - } - } -} - -group -{ - name: "conversation_edit_view"; - images - { - image: "message_line.png" COMP; - } - parts - { - part - { - name: "edit_area_main_rect"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - min: 480 80; - max: 480 80; - color: 255 255 255 255; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part - { - name: "entry/top/padding"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - min: 480 18; - max: 480 18; - rel1.relative: 0.0 0.0; - rel1.to: "edit_area_main_rect"; - rel2.relative: 1.0 1.0; - rel2.to: "edit_area_main_rect"; - } - } - part - { - name: "edit_area_container"; - type: RECT; - scale: 1; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - color: 255 255 255 255; - min: 480 45; - max: 480 45; - rel1.relative: 0.0 1.0; - rel1.to_y: "entry/top/padding"; - rel2.relative: 1.0 1.0; - rel2.to_y: "entry/top/padding"; - } - } - part - { - name: "elm.rect.cancel_rec"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 0; - align: 0.0 0.0; - min:65 45; - max:65 45; - rel1 - { - relative: 0.0 1.0; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part - { - name: "elm.cancel_rec.button"; - type: SWALLOW; - description - { - state: "default" 0.0; - min: 45 45; - max: 45 45; - fixed: 1 1; - visible: 0; - align: 1.0 0.5; - rel1.to: "elm.rect.cancel_rec"; - rel1.relative: 0.0 0.0; - rel2.to: "elm.rect.cancel_rec"; - rel2.relative: 1.0 1.0; - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part - { - name: "entry/left/padding"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.0 0.0; - min:15 45; - max:15 45; - rel1 - { - relative: 0.0 1.0; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - min:20 45; - max:20 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.cancel_rec"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.cancel_rec"; - to_y: "entry/top/padding"; - } - } - } - part - { - name: "elm.rect.editarea"; - type: SPACER; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.0 0.0; - min:270 45; - max:270 45; - rel1 - { - relative: 1.0 1.0; - to_x: "entry/left/padding"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "entry/left/padding"; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - min:310 45; - max:310 45; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - min:380 45; - max:380 45; - } - } - part - { - name: "elm.edit.field"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - min:270 43; - max:270 43; - rel1.to: "elm.rect.editarea"; - rel1.relative: 0.0 0.0; - rel2.to: "elm.rect.editarea"; - rel2.relative: 1.0 1.0; - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - min:310 43; - max:310 43; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - min:380 43; - max:380 43; - } - } - part - { - name: "elm.rect.editarea_line"; - type: IMAGE; - description - { - state: "default" 0.0; - image.normal: "message_line.png"; - fixed: 1 1; - visible: 1; - align: 0.0 0.0; - min:320 2; - min:320 2; - rel1 - { - relative: 1.0 1.0; - to_x: "entry/left/padding"; - to_y: "elm.rect.editarea"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "entry/left/padding"; - to_y: "elm.rect.editarea"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - min:380 2; - min:380 2; - } - } - part - { - name: "elm.rect.emoticon"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 1; - align: 0.0 0.0; - min: 50 45; - max: 50 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part - { - name: "elm.emoticon.button"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 1; - align: 0.5 0.5; - min: 26 26; - max: 26 26; - rel1.to: "elm.rect.emoticon"; - rel1.relative: 0.0 0.0; - rel2.to: "elm.rect.emoticon"; - rel2.relative: 1.0 1.0; - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part - { - name: "elm.rect.sticker"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 1; - align: 0.0 0.0; - min: 80 45; - max: 80 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.emoticon"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.emoticon"; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part - { - name: "elm.sticker.button"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 1; - align: 0.5 0.5; - min: 40 45; - max: 40 45; - rel1.to: "elm.rect.sticker"; - rel1.relative: 0.0 0.0; - rel2.to: "elm.rect.sticker"; - rel2.relative: 1.0 1.0; - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part - { - name: "elm.rect.send"; - type: SPACER; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.0 0.0; - min: 65 45; - max: 65 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.sticker"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.sticker"; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - min: 85 45; - max: 85 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - min: 85 45; - max: 85 45; - rel1 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "elm.rect.editarea"; - to_y: "entry/top/padding"; - } - } - } - part - { - name: "elm.send.button"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.0 0.5; - min: 45 45; - max: 45 45; - rel1.to: "elm.rect.send"; - rel1.relative: 0.0 0.0; - rel2.to: "elm.rect.send"; - rel2.relative: 1.0 1.0; - } - description - { - state: "start_rec" 0.0; - inherit: "default" 0.0; - align: 0.5 0.5; - } - description - { - state: "start_typing" 0.0; - inherit: "default" 0.0; - align: 0.5 0.5; - } - } - } - programs - { - /*program - { - name: "emoticon_clicked"; - signal: "mouse,clicked,*"; - source: "elm.emoticon.button"; - action: SIGNAL_EMIT "insert,emoticon" "elm.emoticon.button"; - } - program - { - name: "sticker_clicked"; - signal: "mouse,clicked,*"; - source: "elm.sticker.button"; - action: SIGNAL_EMIT "insert,sticker" "elm.sticker.button"; - } - program - { - name: "mouse_clicked"; - signal: "mouse,clicked,*"; - source: "elm.send.button"; - action: SIGNAL_EMIT "send,msg" "elm.send.button"; - }*/ - program - { - name: "set_start_rec"; - signal: "start_rec,show"; - source: ""; - action: STATE_SET "start_rec" 0.0; - target: "elm.rect.cancel_rec"; - target: "elm.cancel_rec.button"; - target: "entry/left/padding"; - target: "elm.rect.editarea"; - target: "elm.edit.field"; - target: "elm.rect.editarea_line"; - target: "elm.rect.emoticon"; - target: "elm.emoticon.button"; - target: "elm.rect.sticker"; - target: "elm.sticker.button"; - target: "elm.rect.send"; - target: "elm.send.button"; - } - program - { - name: "set_start_typing"; - signal: "start_typing,show"; - source: ""; - action: STATE_SET "start_typing" 0.0; - target: "elm.rect.editarea"; - target: "elm.edit.field"; - target: "elm.rect.editarea_line"; - target: "elm.rect.emoticon"; - target: "elm.emoticon.button"; - target: "elm.rect.sticker"; - target: "elm.sticker.button"; - target: "elm.rect.send"; - target: "elm.send.button"; - } - program - { - name: "set_default"; - signal: "default,show"; - source: ""; - action: STATE_SET "default" 0.0; - target: "elm.rect.cancel_rec"; - target: "elm.cancel_rec.button"; - target: "entry/left/padding"; - target: "elm.rect.editarea"; - target: "elm.edit.field"; - target: "elm.rect.editarea_line"; - target: "elm.rect.emoticon"; - target: "elm.emoticon.button"; - target: "elm.rect.sticker"; - target: "elm.sticker.button"; - target: "elm.rect.send"; - target: "elm.send.button"; - } - /*program - { - name: "cancel_clicked"; - signal: "mouse,clicked,*"; - source: "elm.cancel_rec.button"; - action: SIGNAL_EMIT "cancel,clicked" "elm.cancel_rec.button"; - }*/ - } -} - -group -{ - name: "chaton_main_group"; - parts - { - part - { - name: "main_background"; - type: RECT; - mouse_events: 0; - description - { - state: "default" 0.0; - color: 0 0 0 255; - min: 720 1280; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - - part - { - name: "main_content_layout"; - type: SWALLOW; - mouse_events: 1; - description - { - state: "default" 0.0; - min: 720 1280; - align: 0.5 0.5; - rel1 - { - relative: 0.0 0.0; - to: main_background; - } - rel2 - { - relative: 1.0 1.0; - to: main_background; - } - } - } - } -} -group -{ - name: "conversation_layout_sep"; - parts - { - PADDING_LEFT("padding_left", 15); - PADDING_RIGHT("padding_right", 15); - part - { - name: "layout_bg"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - color:255 255 255 255; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part - { - name: "layout_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - fixed: 0 1; - align: 0.5 1.0; - min:0 30; - //max: 0 25; - // color: 0 255 0 255; - rel1 - { - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_right"; - relative: 0.0 1.0; - } - } - } - part - { - name: "layout_progress"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "layout_rect"; - relative: 0.0 0.0; - } - rel2 - { - to_x: "layout_rect"; - relative: 0.0 1.0; - } - fixed: 1 0; - align: 0.0 0.5; - visible: 0; - min:0 0; - max:0 0; - } - description - { - state: "show_progress" 0.0 ; - inherit: "default" 0.0; - visible: 1; - min:24 0; - max:24 0; - } - } - part - { - name: "layout_sep"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "layout_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "layout_rect"; - relative: 1.0 1.0; - } - } - } - } - programs { - program - { - name: "show_progress"; - signal: "elm,state,progress,enabled"; - source: ""; - action: STATE_SET "show_progress" 0.0; - target: "layout_progress"; - } - } -} - -group -{ - name: "conversation_send_entry"; - parts - { - PADDING_TOP("padding_top",18); - PADDING_LEFT("padding_left", 15); - PADDING_RIGHT("padding_right", 15); - //PADDING_BOTTOM("padding_bottom", 5); - part - { - name: "BG"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 220 229 234 255; - } - } - part - { - name: "conv_main_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:255 0 0 255; - fixed: 1 0; - align: 1.0 0.5; - min:235 0; - rel1 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "padding_right"; - to_y:"send_time_rect"; - relative: 0.0 0.0; - } - } - } - part - { - name: "send_time_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - fixed: 0 1; - align: 0.5 1.0; - min:0 20; - //max: 0 25; - // color: 0 255 0 255; - rel1 - { - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_right"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_time_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - fixed: 1 1; - align: 0.0 0.0; - min:50 20; - rel1 - { - to_y: "padding_top"; - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_y: "padding_top"; - to_x: "padding_left";; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_status_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - color:0 0 255 255; - fixed: 1 0; - align: 0.0 0.5; - min:20 0; - rel1 - { - to: "conv_time_text"; - relative: 1.0 0.0; - } - rel2 - { - to: "conv_time_text"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - //fixed: 1 0; - //align: 1.0 0.5; - //min:25 0; - rel1 - { - to: "conv_status_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_status_rect"; - relative: 1.0 1.0; - } - } - } - } -} - -group -{ - name: "conversation_recv_entry"; - parts - { - PADDING_TOP("padding_top",18); - PADDING_LEFT("padding_left", 15); - PADDING_RIGHT("padding_right", 15); - //PADDING_BOTTOM("padding_bottom", 5); - part - { - name: "BG"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 237 241 242 255; - } - } - part - { - name: "conv_main_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:255 0 0 255; - fixed: 1 0; - align: 0.0 0.5; - min:235 0; - rel1 - { - to_x: "padding_left"; - to_y: "padding_top"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_left"; - to_y:"recv_time_rect"; - relative: 1.0 0.0; - } - } - } - part - { - name: "recv_time_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - fixed: 0 1; - align: 0.5 1.0; - min:0 20; - //max: 0 25; - // color: 0 255 0 255; - rel1 - { - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_right"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_time_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - fixed: 1 1; - align: 1.0 0.0; - min:50 20; - rel1 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_status_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - color:0 0 255 255; - fixed: 1 0; - align: 1.0 0.5; - min:20 0; - rel1 - { - to: "conv_time_text"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_time_text"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - //fixed: 1 0; - //align: 0.0 0.5; - //min:25 0; - rel1 - { - to: "conv_status_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_status_rect"; - relative: 1.0 1.0; - } - } - } - } -} -group -{ - name: "conversation_send_media"; - parts - { - PADDING_TOP("padding_top",18); - PADDING_LEFT("padding_left", 15); - PADDING_RIGHT("padding_right", 15); - //PADDING_BOTTOM("padding_bottom", 5); - part - { - name: "BG"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 220 229 234 255; - } - } - part - { - name: "conv_main_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:255 0 0 255; - fixed: 1 0; - align: 1.0 0.5; - min:235 0; - rel1 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "padding_right"; - to_y:"conv_main_rect"; - relative: 0.0 0.0; - } - } - } - part - { - name: "conv_main_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - color:255 255 255 255; - fixed: 1 1; - align: 1.0 1.0; - min:233 146; - max:233 146; - rel1 - { - to_x: "padding_right"; - to_y: "send_time_rect"; - relative: 0.0 0.0; - } - rel2 - { - to_x: "padding_right"; - to_y: "send_time_rect"; - relative: 0.0 0.0; - } - } - } - part - { - name: "conv_media_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - align: 0.5 0.5; - color:0 0 0 255; - fixed: 1 1; - min:229 142; - max:229 142; - rel1 - { - to: "conv_main_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_main_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_main_media"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "conv_media_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_media_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_media_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min:50 50; - max:50 50; - rel1 - { - to: "conv_media_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_media_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "send_time_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - fixed: 0 1; - align: 0.5 1.0; - min:0 20; - //max: 0 25; - // color: 0 255 0 255; - rel1 - { - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_right"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_time_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - fixed: 1 1; - align: 0.0 0.0; - min:50 20; - rel1 - { - to_y: "padding_top"; - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_y: "padding_top"; - to_x: "padding_left";; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_status_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - color:0 0 255 255; - fixed: 1 0; - align: 0.0 0.5; - min:20 0; - rel1 - { - to: "conv_time_text"; - relative: 1.0 0.0; - } - rel2 - { - to: "conv_time_text"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - //fixed: 1 0; - //align: 1.0 0.5; - //min:25 0; - rel1 - { - to: "conv_status_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_status_rect"; - relative: 1.0 1.0; - } - } - } - } -} -group -{ - name: "conversation_recv_media"; - parts - { - PADDING_TOP("padding_top",18); - PADDING_LEFT("padding_left", 15); - PADDING_RIGHT("padding_right", 15); - //PADDING_BOTTOM("padding_bottom", 5); - part - { - name: "BG"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 237 241 242 255; - } - } - part - { - name: "conv_main_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:255 0 0 255; - fixed: 1 0; - align: 0.0 0.5; - min:235 0; - rel1 - { - to_x: "padding_left"; - to_y: "padding_top"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_left"; - to_y:"conv_main_rect"; - relative: 1.0 0.0; - } - } - } - part - { - name: "conv_main_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - color:255 255 255 255; - fixed: 1 1; - align: 0.0 1.0; - min:233 146; - max:233 146; - rel1 - { - to_x: "padding_left"; - to_y: "recv_time_rect"; - relative: 1.0 0.0; - } - rel2 - { - to_x: "padding_left"; - to_y: "recv_time_rect"; - relative: 1.0 0.0; - } - } - } - part - { - name: "conv_media_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - align: 0.5 0.5; - color:0 0 0 255; - fixed: 1 1; - min:229 142; - max:229 142; - rel1 - { - to: "conv_main_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_main_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_main_media"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "conv_media_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_media_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "conv_media_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - // visible: 1; - // color:255 0 0 255; - align: 0.5 0.5; - fixed: 1 1; - min:50 50; - max: 50 50; - rel1 - { - to: "conv_media_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_media_rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "recv_time_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - fixed: 0 1; - align: 0.5 1.0; - min:0 20; - //max: 0 25; - // color: 0 255 0 255; - rel1 - { - to_x: "padding_left"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "padding_right"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_time_text"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - fixed: 1 1; - align: 1.0 0.0; - min:50 20; - rel1 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "padding_right"; - to_y: "padding_top"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_status_rect"; - type: RECT; - description - { - state: "default" 0.0; - visible: 0; - color:0 0 255 255; - fixed: 1 0; - align: 1.0 0.5; - min:20 0; - rel1 - { - to: "conv_time_text"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_time_text"; - relative: 0.0 1.0; - } - } - } - part - { - name: "conv_status"; - type: SWALLOW; - description - { - state: "default" 0.0; - //visible: 1; - //color:0 0 255 255; - //fixed: 1 0; - //align: 0.0 0.5; - //min:25 0; - rel1 - { - to: "conv_status_rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "conv_status_rect"; - relative: 1.0 1.0; - } - } - } - } -} -group { - name: "popup_gengrid_custom_landscape_3line"; - parts { - part { - name: "elm.swallow.content"; - type: SWALLOW; - scale: 1; - description { - state: "default" 0.0; - min: 426 502; - align: 0.5 0.5; - } - } - } -} - -group -{ - name: "media_area"; - images - { - image: "ic_label_attach_audio.png" COMP; - image: "ic_label_attach_video.png" COMP; - image: "ic_label_attach_image.png" COMP; - } - parts - { - part - { - name: "BG"; - type: RECT; - description - { - state: "default" 0.0; - min:MEDIA_WIDTH MEDIA_HEIGHT; - max:MEDIA_WIDTH MEDIA_HEIGHT; - fixed: 1 1; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - visible: 1; - color:21 109 149 128; - } - } - part - { - name: "media_thumbnail"; - type: SWALLOW; - description - { - state: "default" 0.0; - visible: 1; - rel1 - { - to: "BG"; - relative: 0.0 0.0; - } - rel2 - { - to: "BG"; - relative: 1.0 1.0; - } - } - } - part - { - name: "media_details"; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - color: 0 0 0 178; - align: 0 1; - min:MEDIA_WIDTH MEDIA_DETAILS_LAYOUT_HT; - max:MEDIA_WIDTH MEDIA_DETAILS_LAYOUT_HT; - fixed: 1 1; - rel2 - { - to: "BG"; - relative: 1.0 1.0; - } - } - } - part - { - name: "media_progressbar"; - type: SWALLOW; - description - { - state: "default" 0.0; - visible: 1; - align: 0 1; - min: MEDIA_WIDTH MEDIA_PROGRESSBAR_HT; - max: MEDIA_WIDTH MEDIA_PROGRESSBAR_HT; - rel2 - { - to: "media_details"; - relative: 1.0 0.0; - } - } - } - part { - name: "left_pad"; - type: SPACER; - scale: 1; - description { - state: "default" 0.0; - min: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - max: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - fixed: 1 1; - rel1 - { - to: "media_details"; - relative: 0.0 0.0; - } - rel2 - { - to: "media_details"; - relative: MEDIA_PAD_WIDTH/MEDIA_WIDTH 1.0; - } - } - } - part - { - name: "media_type_image"; - type: IMAGE; - description - { - state: "default" 0.0; - visible: 1; - align: 0 0.5; - min: AUDIO_ICON_W AUDIO_ICON_H; - max: AUDIO_ICON_W AUDIO_ICON_H; - image.normal: "ic_label_attach_audio.png"; - rel1 - { - to: "left_pad"; - relative: 1.0 0.0; - } - } - description - { - state: "show_video_icon" 0.0 ; - inherit: "default" 0.0; - min: VIDEO_ICON_W VIDEO_ICON_H; - max: VIDEO_ICON_W VIDEO_ICON_H; - image.normal: "ic_label_attach_video.png"; - } - description - { - state: "show_image_icon" 0.0 ; - inherit: "default" 0.0; - min: IMAGE_ICON_W IMAGE_ICON_H; - max: IMAGE_ICON_W IMAGE_ICON_H; - image.normal: "ic_label_attach_image.png"; - } - } - part { - name: "right_pad"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - visible: 0; - min: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - max: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - fixed: 1 1; - rel1 - { - to: "media_details"; - relative: (MEDIA_WIDTH-MEDIA_PAD_WIDTH)/MEDIA_WIDTH 0.0; - } - rel2 - { - to: "media_details"; - relative: 1.0 1.0; - } - } - } - part { - name: "text_icon_pad"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - min: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - max: MEDIA_PAD_WIDTH MEDIA_DETAILS_LAYOUT_HT; - fixed: 1 1; - align: 0 0.5; - rel1 - { - to: "media_details"; - relative: (MEDIA_PAD_WIDTH+AUDIO_ICON_W)/MEDIA_WIDTH 0.0; - } - } - description - { - state: "show_video_icon" 0.0 ; - inherit: "default" 0.0; - rel1 - { - to: "media_details"; - relative: (MEDIA_PAD_WIDTH+VIDEO_ICON_W)/MEDIA_WIDTH 0.0; - } - } - description - { - state: "show_image_icon" 0.0 ; - inherit: "default" 0.0; - rel1 - { - to: "media_details"; - relative: (MEDIA_PAD_WIDTH+IMAGE_ICON_W)/MEDIA_WIDTH 0.0; - } - } - } - part - { - name: "play_time_text"; - type: TEXT; - description - { - state: "default" 0.0; - visible: 1; - min: 0 MEDIA_DETAILS_LAYOUT_HT; - fixed: 0 1; - rel1 - { - to: "text_icon_pad"; - relative: 1.0 0.0; - } - rel2 - { - to: "media_details"; - relative: 1.0 1.0; - } - text { - font: "Tizen:style=Regular"; - size: 15; - align: 0 0.5; - text_class: "tizen"; - min: 1 1; - } - color:255 255 255 191; - } - description - { - state: "hidden" 0.0; - visible: 0; - min: 0 0; - fixed: 1 1; - rel1 - { - to: "left_pad"; - relative: 1.0 0.0; - } - rel2 - { - to: "media_details"; - relative: 1.0 1.0; - } - } - } - part - { - name: "media_size_text"; - type: TEXT; - description - { - state: "default" 0.0; - visible: 1; - min: 1 MEDIA_DETAILS_LAYOUT_HT; - fixed: 0 1; - rel1 - { - to: "media_details"; - relative: 0.0 0.0; - } - rel2 - { - to: "right_pad"; - relative: 0.0 1.0; - } - text { - font: "Tizen:style=Regular"; - size: 15; - align: 1 0.5; - text_class: "tizen"; - text: "512 KB"; - min: 1 1; - } - color:255 255 255 191; - } - } - } - programs { - program { name: "hide_play_time"; - signal: "elm,state,hide,playtime"; - source: "elm"; - action: STATE_SET "hidden" 0.0; - target: "play_time_text"; - } - program { name: "show_video_icon"; - signal: "elm,state,show,video_icon"; - source: "elm"; - action: STATE_SET "show_video_icon" 0.0; - target: "media_type_image"; - target: "text_icon_pad"; - } - program { name: "show_image_icon"; - signal: "elm,state,show,image_icon"; - source: "elm"; - action: STATE_SET "show_image_icon" 0.0; - target: "media_type_image"; - target: "text_icon_pad"; - } - } -} - -group -{ - name: "conversation_bubble_view"; - parts - { - part - { - name: "elm.rect"; - type: RECT; - scale: 1; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - color: 225 237 241 255; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - description - { - state: "sticker_view" 0.0; - inherit: "default" 0.0; - min: 480 264; - max: 480 264; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - part - { - name: "elm.swallow.content"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - rel1.to: "elm.rect"; - rel2.to: "elm.rect"; - } - } - part - { - name: "elm.swallow.float"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - align: 0.5 0.0; - min: 0 50; - fixed: 0 1; - rel1 - { - to: "elm.rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "elm.rect"; - relative: 1.0 0.0; - } - } - } - part - { - name: "edit_area_main_rect"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 0; - align: 0.5 0.0; - min: 480 80; - max: 480 80; - rel1 - { - relative: 0.0 1.0; - to_y: "elm.rect"; - } - rel2 - { - relative: 1.0 1.0; - to_y: "elm.rect"; - } - } - description - { - state: "sticker_view" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part - { - name: "sticker_main_rect"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - visible: 0; - align: 0.5 0.0; - min: 480 357; - max: 480 357; - rel1 - { - relative: 0.0 1.0; - to_y: "edit_area_main_rect"; - } - rel2 - { - relative: 1.0 1.0; - to_y: "edit_area_main_rect"; - } - } - description - { - state: "sticker_view" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs - { - program - { - name: "set_sticker_view"; - signal: "sticker_view,show"; - source: ""; - action: STATE_SET "sticker_view" 0.0; - target: "elm.rect"; - target: "edit_area_main_rect"; - target: "sticker_main_rect"; - } - program - { - name: "set_default_view"; - signal: "default_view,show"; - source: ""; - action: STATE_SET "default" 0.0; - target: "elm.rect"; - target: "edit_area_main_rect"; - target: "sticker_main_rect"; - } - } -} - -group -{ - name: "floating_date"; - parts - { - part { - name: "rect"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - color: 225 237 241 255; - } - } - part { - name: "elm.rect"; - type: RECT; - scale: 1; - description { - state: "default" 0.0; - min: 0 50; - max: 480 50; - fixed: 0 1; - rel1 { - to: elm.text; - relative: 0.0 0.0; - offset: -17 0; - } - rel2 { - to: elm.text; - relative: 1.0 1.0; - offset: 17 0; - } - color: 31 115 154 242; - } - } - part { - name: "elm.text"; - type: TEXT; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - min: 100 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - text { - min: 0 1; - max: 1 0; - size: 20; - } - } - } - } -} - -group -{ - name: "contacts_attach_area"; - parts - { - part - { - name: "bg"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 0 0 0 0; - } - } - part - { - name: "bg_image"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - } - } - part - { - name: "pic.left.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 0.0 1.0; - } - align: 0.0 0.5; - min: 15 0; - fixed: 1 0; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.top.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 0.0; - } - align: 0.5 0.0; - min: 0 8; - fixed: 0 1; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.bottom.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 1.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 0.5 1.0; - min: 0 9; - fixed: 0 1; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.swallow.rect"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.left.pad"; - to_y: "pic.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "pic.left.pad"; - to_y: "pic.bottom.pad"; - relative: 1.0 0.0; - } - align: 0.0 0.5; - min: 70 0; - fixed: 1 0; - visible: 0; - color: 255 0 0 255; - } - } - part - { - name: "pic.swallow"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "pic.swallow.rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "pic.swallow.rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "pic.right.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "pic.swallow.rect"; - relative: 1.0 0.0; - } - rel2 - { - to: "pic.swallow.rect"; - relative: 1.0 1.0; - } - align: 0.0 0.5; - min: 15 0; - fixed: 1 0; - } - } - part - { - name: "text.right.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 1.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 1.0 0.5; - min: 15 0; - fixed: 1 0; - } - } - part - { - name: "contact.name.top.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 0.0; - } - align: 0.5 0.0; - min: 0 15; - fixed: 0 1; - } - } - part - { - name: "contact.name"; - type: SWALLOW; - scale: 0; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "contact.name.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "pic.right.pad"; - to_y: "contact.name.top.pad"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - min: 150 20; - max: 150 20; - fixed: 1 1; - } - } - part - { - name: "contact.number.top.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "contact.name"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "bg"; - to_y: "contact.name"; - relative: 1.0 1.0; - } - align: 0.5 0.0; - min: 0 16; - fixed: 0 1; - } - } - part - { - name: "contact.number"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "contact.number.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "text.right.pad"; - to_y: "text.bottom.pad"; - relative: 0.0 0.0; - } - } - } - part - { - name: "text.bottom.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 1.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 0.5 1.0; - min: 0 20; - fixed: 0 1; - } - } - } -} - - - -group -{ - name: "location_attach_area"; - parts - { - part - { - name: "bg"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - color: 0 0 0 0; - } - } - part - { - name: "bg_image"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - } - } - part - { - name: "pic.left.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 0.0 1.0; - } - align: 0.0 0.5; - min: 15 0; - fixed: 1 0; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.top.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 0.0; - } - align: 0.5 0.0; - min: 0 8; - fixed: 0 1; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.bottom.pad"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 1.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 0.5 1.0; - min: 0 9; - fixed: 0 1; - color: 0 255 0 255; - visible: 0; - } - } - part - { - name: "pic.swallow.rect"; - type: RECT; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.left.pad"; - to_y: "pic.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "pic.left.pad"; - to_y: "pic.bottom.pad"; - relative: 1.0 0.0; - } - align: 0.0 0.5; - min: 70 0; - fixed: 1 0; - visible: 0; - color: 255 0 0 255; - } - } - part - { - name: "pic.swallow"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "pic.swallow.rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "pic.swallow.rect"; - relative: 1.0 1.0; - } - } - } - part - { - name: "pic.right.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "pic.swallow.rect"; - relative: 1.0 0.0; - } - rel2 - { - to: "pic.swallow.rect"; - relative: 1.0 1.0; - } - align: 0.0 0.5; - min: 15 0; - fixed: 1 0; - } - } - part - { - name: "text.right.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 1.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 1.0 0.5; - min: 15 0; - fixed: 1 0; - } - } - part - { - name: "location.name.top.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 0.0; - } - rel2 - { - to: "bg"; - relative: 1.0 0.0; - } - align: 0.5 0.0; - min: 0 15; - fixed: 0 1; - } - } - part - { - name: "location.name"; - type: SWALLOW; - scale: 0; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "location.name.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "pic.right.pad"; - to_y: "location.name.top.pad"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - min: 150 20; - max: 150 20; - fixed: 1 1; - } - } - part - { - name: "location.number.top.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "location.name"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "bg"; - to_y: "location.name"; - relative: 1.0 1.0; - } - align: 0.5 0.0; - min: 0 16; - fixed: 0 1; - } - } - part - { - name: "location.number"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to_x: "pic.right.pad"; - to_y: "location.number.top.pad"; - relative: 1.0 1.0; - } - rel2 - { - to_x: "text.right.pad"; - to_y: "text.bottom.pad"; - relative: 0.0 0.0; - } - } - } - part - { - name: "text.bottom.pad"; - type: SPACER; - description - { - state: "default" 0.0; - rel1 - { - to: "bg"; - relative: 0.0 1.0; - } - rel2 - { - to: "bg"; - relative: 1.0 1.0; - } - align: 0.5 1.0; - min: 0 20; - fixed: 0 1; - } - } - } -} - - -group -{ - name: "bubble_sticker_layout"; - parts - { - part - { - name: "bg"; - type: RECT; - description - { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - min: 240 240; - max: 240 240; - color: 0 0 0 0; - } - } - part - { - name: "pic.swallow.rect"; - type: RECT; - description - { - state: "default" 0.0; - align: 0.5 0.5; - min: 240 240; - max: 240 240; - color: 0 0 0 0; - rel1 - { - relative: 0.0 0.0; - to: "bg"; - } - rel2 - { - relative: 1.0 1.0; - to: "bg"; - } - } - } - part - { - name: "pic.swallow"; - type: SWALLOW; - description - { - state: "default" 0.0; - rel1 - { - to: "pic.swallow.rect"; - relative: 0.0 0.0; - } - rel2 - { - to: "pic.swallow.rect"; - relative: 1.0 1.0; - } - } - } - } -} - - -group -{ - name: "conversation_sticker_view"; - parts - { - part - { - name: "conversation_sticker_main_rect"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - color: 43 43 43 255; - min: 480 357; - max: 480 357; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - part - { - name: "conversation_sticker_tab_rect"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - min: 480 81; - max: 480 81; - color: 43 43 43 255; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - part - { - name: "conversation_sticker_tab"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min: 480 81; - max: 480 81; - rel1 - { - relative: 0.0 0.0; - to: "conversation_sticker_tab_rect"; - } - rel2 - { - relative: 1.0 1.0; - to: "conversation_sticker_tab_rect"; - } - } - } - part - { - name: "conversation_sticker_rect"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.0; - min: 480 276; - max: 480 276; - color: 54 54 54 255; - rel1 - { - relative: 0.0 1.0; - to_y: "conversation_sticker_tab_rect"; - } - rel2 - { - relative: 1.0 1.0; - to_y: "conversation_sticker_tab_rect"; - } - } - } - part - { - name: "conversation_sticker"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min: 480 276; - max: 480 276; - rel1 - { - relative: 0.0 0.0; - to: "conversation_sticker_rect"; - } - rel2 - { - relative: 1.0 1.0; - to: "conversation_sticker_rect"; - } - } - } - } -} - -group -{ - name: "sticker_tabbar_view"; - parts - { - part - { - name: "sticker_tabbar_main_rect"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min: 69 81; - max: 69 81; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - part - { - name: "sticker_tabbar_main_rect_bg"; - type: IMAGE; - description - { - state: "default" 0.0; - image.normal: "sub_panel_bn_normal.png"; - rel1 - { - relative: 0.0 0.0; - to: sticker_tabbar_main_rect; - } - rel2 - { - relative: 1.0 1.0; - to: sticker_tabbar_main_rect; - } - min: 69 81; - max: 69 81; - } - description - { - state: "tab_pressed" 0.0; - inherit: "default" 0.0; - image.normal: "sub_panel_bn_press.png"; - } - } - part - { - name: "sticker_tabbar_rect"; - type: SPACER; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min: 69 81; - max: 69 81; - rel1 - { - relative: 0.0 0.0; - to: "sticker_tabbar_main_rect"; - } - rel2 - { - relative: 1.0 1.0; - to: "sticker_tabbar_main_rect"; - } - } - } - part - { - name: "sticker_tabbar"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - align: 0.5 0.5; - min: 30 30; - max: 69 81; - rel1 - { - relative: 0.0 0.0; - to: "sticker_tabbar_rect"; - } - rel2 - { - relative: 1.0 1.0; - to: "sticker_tabbar_rect"; - } - } - } - } - programs - { - program - { - name: "set_tab_pressed"; - signal: "tab_pressed,show"; - source: ""; - action: STATE_SET "tab_pressed" 0.0; - target: "sticker_tabbar_main_rect_bg"; - } - program - { - name: "set_default"; - signal: "tab_pressed_next,show"; - source: ""; - action: STATE_SET "default" 0.0; - target: "sticker_tabbar_main_rect_bg"; - } - } -} - -} diff --git a/TelegramTizen/res/edje/telegram_init_screen.edc b/TelegramTizen/res/edje/telegram_init_screen.edc index 2b152c9..16c4a62 100644 --- a/TelegramTizen/res/edje/telegram_init_screen.edc +++ b/TelegramTizen/res/edje/telegram_init_screen.edc @@ -955,7 +955,7 @@ collections { align: 0 0; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 0.0 0.0; to: "bg"; } - color: 61 185 204 255; + color: 45 165 224 255; } } @@ -986,7 +986,7 @@ collections { } part{ name: "swallow.entry_box"; - type:SWALLOW; + type: SWALLOW; description{ state: "default" 0.0; min: 0 0; @@ -998,6 +998,16 @@ collections { color: 50 100 255 255; } } + part{ + name: "swallow.no_msg_text"; + type: SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.55; } + rel2 { relative: 1.0 0.65; } + color: 0 0 0 0; + } + } } } @@ -1122,14 +1132,22 @@ group parts{ part{ + name: "swallow.back_arrow"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.01 0.0; } + rel2 { relative: 0.05 1.0; } + } + } + + part{ name: "swallow.profile_pic"; type:SWALLOW; description{ state: "default" 0.0; - rel1 { relative: 0.01 0.1; } - rel2 { relative: 0.1 0.9; } - min: 60 60; - max: 60 60; + rel1 { relative: 0.05 0.032; } + rel2 { relative: 0.196 0.968; } } } @@ -1138,7 +1156,7 @@ group type:SWALLOW; description{ state: "default" 0.0; - rel1 { relative: 0.1 0.1; } + rel1 { relative: 0.196 0.1; } rel2 { relative: 0.8 0.5; } } } @@ -1147,7 +1165,7 @@ group type:SWALLOW; description{ state: "default" 0.0; - rel1 { relative: 0.1 0.5; } + rel1 { relative: 0.196 0.5; } rel2 { relative: 0.8 1.0; } } } @@ -1261,6 +1279,132 @@ group } + images { + image: "telegram_date_divider.#.png" COMP; + } + + group + { + name: "chat_date_item_box"; + parts{ + part{ + name: "chat_serv_image"; + type:IMAGE; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + max: 480 2; + image { + normal: "telegram_date_divider.#.png"; + } + } + } + } + } + + + + group + { + name: "chat_date_item"; + parts{ + part { + name: "sp1"; + type: SPACER; + description { + state: "default" 0.0; + min: 32 38; + max: 32 38; + fixed: 1 1; + rel1 { relative: 0.0 0.5; to_y: "elm.text";} + rel2 { relative: 0.0 0.5; to_y: "elm.text";} + } + } + part { + name: "sp2"; + type: SPACER; + description { + state: "default" 0.0; + min: 12 38; + max: 12 38; + fixed: 1 1; + rel1 { relative: 0.0 0.5; to_x: "elm.text"; to_y: "elm.text"; } + rel2 { relative: 0.0 0.5; to_x:"elm.text"; to: "elm.text"; } + } + } + part { + name: "sp3"; + type: SPACER; + description { + state: "default" 0.0; + min: 12 38; + max: 12 38; + fixed: 1 1; + rel1 { relative: 1.0 0.5; to: "elm.text"; } + rel2 { relative: 1.0 0.5; to: "elm.text"; } + } + } + + part { + name: "sp4"; + type: SPACER; + description { + state: "default" 0.0; + min: 32 38; + max: 32 38; + fixed: 1 1; + rel1 { relative: 1.0 0.5; to_y: "elm.text"; } + rel2 { relative: 1.0 0.5; to_y: "elm.text";} + } + } + + part { + name: "elm.text"; + type: SWALLOW; + description { state: "default" 0.0; + rel1 { relative: 0.5 0.5; } + rel2 { relative: 0.5 0.5; } + min: 216 38; + max: -1 38; + fixed: 1 1; + } + } + + part{ + name: "left_dev"; + type:IMAGE; + description{ + state: "default" 0.0; + rel1 { relative: 1.0 0.5; to_x: "sp1"; to_y: "elm.text"; } + rel2 { relative: 0.0 0.5; to_x: "sp2"; to_y: "elm.text"; } + min: 0 2; + max: -1 2; + fixed: 0 1; + image { + normal: "telegram_date_divider.#.png"; + } + } + } + part{ + name: "right_dev"; + type:IMAGE; + description{ + state: "default" 0.0; + rel1 { relative: 1.0 0.5; to_x: "sp3"; to_y: "elm.text"; } + rel2 { relative: 0.0 0.5; to_x: "sp4"; to_y: "elm.text"; } + min: 0 2; + max: -1 2; + fixed: 0 1; + image { + normal: "telegram_date_divider.#.png"; + } + } + } + + } + } + group { name: "chat_service_item_box"; @@ -1694,7 +1838,7 @@ group min: 0 130; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; - color: 255 0 0 0; + color: 0 0 0 0; } } } @@ -2515,5 +2659,248 @@ group } } } + + + group + { + name: "group_chat_entry"; + parts{ + part{ + name: "group_chat_entry_box,bg"; + type:RECT; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 0.2; } + color: 255 255 255 255; + } + } + part{ + name: "swallow.group_chat_entry_box"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 0.2; } + } + } + part { + name: "contacts_header,bg"; + type: RECT; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.2; } + rel2 { relative: 1.0 0.27; } + color: 96 96 96 255; + } + } + part { + name: "swallow.contacts_header"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.2; } + rel2 { relative: 1.0 0.27; } + color: 96 96 96 255; + } + } + + part{ + name: "swallow.group_chat_buddy_list_box"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.27;} + rel2 { relative: 1.0 1.0;} + align: 0.5 1.0; + fixed: 0.5 1.0; + min: 0 100; + color: 50 100 255 255; + } + } + } + } + + group + { + name: "group_chat_photo_name_entry"; + parts{ + part{ + name: "swallow.cam_box"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.1 0.2; } + rel2 { relative: 0.25 0.8; } + } + } + + part { + name: "entry_box,bg"; + type: RECT; + description { + state: "default" 0.0; + rel1 { relative: 0.3 0.3; } + rel2 { relative: 0.95 0.65; } + color: 222 222 222 222; + } + } + + part{ + name: "swallow.entry_box"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.3 0.3;} + rel2 { relative: 0.95 0.65;} + color: 50 100 255 255; + } + } + } + } + + group { + name: "msg_circle_layout"; + parts { + part { + name: masking_bg; + type: RECT; + precise_is_inside: 1; + description { + state: default 0.0; + rel1.relative: 0.23 0.1; + rel2.relative: 0.77 0.9; + color: 250 250 250 0; + } + } + part { + name: masking; + type: IMAGE; + precise_is_inside: 1; + description { + state: default 0.0; + rel1.relative: 0.23 0.1; + rel2.relative: 0.77 0.9; + image.normal: camera_btn_gallery_mask.png; + } + } + part { + name: content_bg; + type: RECT; + clip_to: masking; + description { + state: default 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + color: 250 250 250 255; + } + } + part { + name: content; + type: SWALLOW; + clip_to: masking; + description { + state: default 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + } + } + + images { + image: "telegram_attach_image_round_bg.#.png" COMP; + image: "telegram_attach_image_round_line.#.png" COMP; + image: "telegram_attach_image_round_shadow.#.png" COMP; + } + + + + + group { + name: "rounded_corner_layout"; + parts { + part { + name: "masking"; + type: IMAGE; + precise_is_inside: 1; + description { + state: default 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + image { + border: 20 20 20 20; + normal: "telegram_attach_image_round_bg.#.png"; + } + } + } + part { + name: "content"; + type: SWALLOW; + clip_to: masking; + description { + state: default 0.0; + rel1 { relative: 0.0 0.0; to, "masking"; } + rel2 { relative: 1.0 1.0; to, "masking"; } + } + } + } + } + + group + { + name: "chat_image_layout"; + parts{ + part { + name: "chat_image_base"; + type: RECT; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to, "swallow.chat_image"; } + rel2 { relative: 1.0 1.0; to, "swallow.chat_image"; } + color: 0 0 0 0; + } + } + part{ + name: "chat_image"; + type:IMAGE; + description{ + state: "default" 0.0; + rel1 { relative: -0.015 -0.015; to, "chat_image_base"; } + rel2 { relative: 1.01 1.01; to, "chat_image_base"; } + visible:1; + image { + border: 20 20 20 20; + normal: "telegram_attach_image_round_line.#.png"; + } + color: 250 250 250 255; + } + } + part{ + name: "chat_image_shadow"; + type:IMAGE; + description{ + state: "default" 0.0; + rel1 { relative: -0.015 -0.01; to, "chat_image_base"; } + rel2 { relative: 1.015 1.01; to, "chat_image_base"; } + image { + border: 20 20 20 20; + normal: "telegram_attach_image_round_shadow.#.png"; + } + color: 0 0 0 51; + } + } + part{ + name: "swallow.chat_image"; + type:SWALLOW; + description{ + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + } + } + } diff --git a/TelegramTizen/res/edje/telegram_theme.edc b/TelegramTizen/res/edje/telegram_theme.edc index 7049c5f..951d624 100644 --- a/TelegramTizen/res/edje/telegram_theme.edc +++ b/TelegramTizen/res/edje/telegram_theme.edc @@ -90,7 +90,8 @@ #define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 30 #define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 110 111 118 255 -#define ENTRY_BUBBLE_TIME_COLOR 141 141 141 255 +//#define ENTRY_BUBBLE_TIME_COLOR 141 141 141 255 +#define ENTRY_BUBBLE_TIME_COLOR 255 255 255 255 #define ENTRY_BUBBLE_EX_PAD 58 #define ENTRY_BUBBLE_IX_PAD 20 @@ -120,8 +121,10 @@ collections { images { - image: "00_messagebubble_bg_receive_bg.#.png" COMP; - image: "00_messagebubble_bg_sent_bg.#.png" COMP; + image: "telegram_bubble_bg_receive_ef.#.png" COMP; + image: "telegram_bubble_bg_receive.#.png" COMP; + image: "telegram_bubble_bg_send_ef.#.png" COMP; + image: "telegram_bubble_bg_send.#.png" COMP; image: "ic_message_read.png" COMP; } @@ -714,7 +717,7 @@ group { name: "elm/entry/base-noedit/readmessage1"; } } part { - name: "elm.image.bg"; + name: "elm.image.bg.ef"; type: IMAGE; scale: 1; description { @@ -722,9 +725,9 @@ group { name: "elm/entry/base-noedit/readmessage1"; rel1.to: "elm.bubble.lefttop.pad"; rel2.to: "elm.bubble.rightbottom.pad"; image { - normal: "00_messagebubble_bg_receive_bg.#.png"; + normal: "telegram_bubble_bg_receive_ef.#.png"; } - color_class: "W055"; + color: 106 126 204 255; } description { state: "pressed" 0.0; inherit: "default" 0.0; @@ -734,7 +737,29 @@ group { name: "elm/entry/base-noedit/readmessage1"; inherit: "default" 0.0; color_class: "W0551"; } + } + part { + name: "elm.image.bg"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + rel1.to: "elm.bubble.lefttop.pad"; + rel2.to: "elm.bubble.rightbottom.pad"; + image { + normal: "telegram_bubble_bg_receive.#.png"; + } + color: 106 126 204 255; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + color_class: "W042"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "W0551"; } + } part { name: "elm.text.gc"; @@ -1515,7 +1540,34 @@ group { name: "elm/layout/bubble/readmessage/my_layout"; fixed: 1 1; } } - + part { + name: "elm.image.bg.ef"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + rel1 { + to_x: "elm.bubble.leftbottom.pad"; + to_y: "elm.bubble.lefttop.pad"; + } + rel2 { + to_x: "elm.bubble.righttop.pad"; + to_y: "elm.bubble.leftbottom.pad"; + } + image { + normal: "telegram_bubble_bg_send_ef.#.png"; + } + color: 45 165 224 225; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + color_class: "W042"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "W0541"; + } + } part { name: "elm.image.bg"; type: IMAGE; @@ -1531,9 +1583,9 @@ group { name: "elm/layout/bubble/readmessage/my_layout"; to_y: "elm.bubble.leftbottom.pad"; } image { - normal: "00_messagebubble_bg_sent_bg.#.png"; + normal: "telegram_bubble_bg_send.#.png"; } - color_class: "W054"; + color: 45 165 224 225; } description { state: "pressed" 0.0; inherit: "default" 0.0; @@ -1738,8 +1790,8 @@ group { name: "elm/layout/bubble/readmessage/my_layout"; scale: 1; description { state: "default" 0.0; - min: 10 10; - max: 10 10; + min: 20 20; + max: 20 20; align: 1.0 0.5; rel1 { to: "pad_vertical"; diff --git a/TelegramTizen/res/images/telegram_attach_image_round_bg.#.png b/TelegramTizen/res/images/telegram_attach_image_round_bg.#.png new file mode 100644 index 0000000..33e2893 Binary files /dev/null and b/TelegramTizen/res/images/telegram_attach_image_round_bg.#.png differ diff --git a/TelegramTizen/res/images/telegram_attach_image_round_line.#.png b/TelegramTizen/res/images/telegram_attach_image_round_line.#.png new file mode 100644 index 0000000..5f73f6b Binary files /dev/null and b/TelegramTizen/res/images/telegram_attach_image_round_line.#.png differ diff --git a/TelegramTizen/res/images/telegram_attach_image_round_shadow.#.png b/TelegramTizen/res/images/telegram_attach_image_round_shadow.#.png new file mode 100644 index 0000000..507c30b Binary files /dev/null and b/TelegramTizen/res/images/telegram_attach_image_round_shadow.#.png differ diff --git a/TelegramTizen/res/images/telegram_bubble_bg_receive.#.png b/TelegramTizen/res/images/telegram_bubble_bg_receive.#.png new file mode 100644 index 0000000..57d31ef Binary files /dev/null and b/TelegramTizen/res/images/telegram_bubble_bg_receive.#.png differ diff --git a/TelegramTizen/res/images/telegram_bubble_bg_receive_ef.#.png b/TelegramTizen/res/images/telegram_bubble_bg_receive_ef.#.png new file mode 100644 index 0000000..9790462 Binary files /dev/null and b/TelegramTizen/res/images/telegram_bubble_bg_receive_ef.#.png differ diff --git a/TelegramTizen/res/images/telegram_bubble_bg_send.#.png b/TelegramTizen/res/images/telegram_bubble_bg_send.#.png new file mode 100644 index 0000000..9501633 Binary files /dev/null and b/TelegramTizen/res/images/telegram_bubble_bg_send.#.png differ diff --git a/TelegramTizen/res/images/telegram_bubble_bg_send_ef.#.png b/TelegramTizen/res/images/telegram_bubble_bg_send_ef.#.png new file mode 100644 index 0000000..2f889b2 Binary files /dev/null and b/TelegramTizen/res/images/telegram_bubble_bg_send_ef.#.png differ diff --git a/TelegramTizen/res/images/telegram_date_divider.#.png b/TelegramTizen/res/images/telegram_date_divider.#.png new file mode 100644 index 0000000..00af9ed Binary files /dev/null and b/TelegramTizen/res/images/telegram_date_divider.#.png differ diff --git a/TelegramTizen/src/group_chat_entry_view.c b/TelegramTizen/src/group_chat_entry_view.c index dfabe52..f1caae4 100644 --- a/TelegramTizen/src/group_chat_entry_view.c +++ b/TelegramTizen/src/group_chat_entry_view.c @@ -254,7 +254,7 @@ void launch_group_chat_name_entry_view(void *data) char edj_path[PATH_MAX] = {0, }; Evas_Object* main_layout = elm_layout_add(ad->win); - app_get_resource(EDJ_CHAT_CONV_FILE, edj_path, (int)PATH_MAX); + app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX); elm_layout_file_set(main_layout, edj_path, "group_chat_entry"); evas_object_size_hint_weight_set(main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(main_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -263,7 +263,7 @@ void launch_group_chat_name_entry_view(void *data) elm_object_content_set(scroller, main_layout); Evas_Object* entry_layout = elm_layout_add(ad->win); - app_get_resource(EDJ_CHAT_CONV_FILE, edj_path, (int)PATH_MAX); + app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX); elm_layout_file_set(entry_layout, edj_path, "group_chat_photo_name_entry"); evas_object_show(entry_layout); elm_object_part_content_set(main_layout, "swallow.group_chat_entry_box", entry_layout); diff --git a/TelegramTizen/src/telegramtizen.c b/TelegramTizen/src/telegramtizen.c index cc7d8a6..8b387b4 100644 --- a/TelegramTizen/src/telegramtizen.c +++ b/TelegramTizen/src/telegramtizen.c @@ -2224,9 +2224,9 @@ static int _on_service_client_msg_received_cb(void *data, bundle *const rec_msg) char status_buf[512] = {'\0'}; if(len_org_str > 25) { strncpy(res, org_msg, 25); - snprintf(status_buf, 512, "%s", res); + snprintf(status_buf, 512, "%s", res); } else { - snprintf(status_buf, 512, "%s", org_msg); + snprintf(status_buf, 512, "%s", org_msg); } elm_object_text_set(sel_item->status_lbl, status_buf); } @@ -2288,13 +2288,13 @@ static int _on_service_client_msg_received_cb(void *data, bundle *const rec_msg) int len_org_str = strlen(org_msg); - char res[40] = {'\0'}; + char res[30] = {'\0'}; char status_buf[126] = {'\0'}; - if(len_org_str > 40) { - strncpy(res, org_msg, 39); + if(len_org_str > 30) { + strncpy(res, org_msg, 29); sprintf(status_buf,"%s", res); } else { - snprintf(status_buf, "%s", org_msg); + sprintf(status_buf, "%s", org_msg); } elm_object_text_set(sel_item->status_lbl, status_buf); } @@ -3142,7 +3142,7 @@ TelegramAppDirection tg_get_device_orientation() return target_direction; } -void update_ccurrent_view(appdata_s *ad) +void update_current_view(appdata_s *ad) { if (!ad) { return; @@ -3151,6 +3151,9 @@ void update_ccurrent_view(appdata_s *ad) case TG_USER_MAIN_VIEW_STATE: refresh_main_list_view(ad, EINA_FALSE); break; + case TG_CHAT_MESSAGING_VIEW_STATE: + refresh_messaging_view(ad); + break; default: break; } @@ -3196,7 +3199,7 @@ static void ui_app_orient_changed(app_event_info_h event_info, void *user_data) } if (target_direction != ad->target_direction) { ad->target_direction = target_direction; - update_ccurrent_view(ad); + update_current_view(ad); } return; } diff --git a/TelegramTizen/src/tg_messaging_view.c b/TelegramTizen/src/tg_messaging_view.c index 53fbe4e..8f07b96 100644 --- a/TelegramTizen/src/tg_messaging_view.c +++ b/TelegramTizen/src/tg_messaging_view.c @@ -770,14 +770,23 @@ static Evas_Object * item_provider(void *data, Evas_Object *entry, const char *i evas_object_smart_callback_add(entry, "clicked", on_media_chat_item_clicked, NULL); if (item_to_display) { + char edj_path[PATH_MAX] = {0, }; app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX); layout = elm_layout_add(entry); - elm_layout_file_set(layout, edj_path, "bubble_media_layout"); + elm_layout_file_set(layout, edj_path, "chat_image_layout"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(layout); - elm_object_part_content_set(layout, "swallow.media_item", item_to_display); + + Evas_Object *rounded_layout = elm_layout_add(entry); + elm_layout_file_set(rounded_layout, edj_path, "rounded_corner_layout"); + evas_object_size_hint_weight_set(rounded_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(rounded_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(rounded_layout); + elm_object_part_content_set(rounded_layout, "content", item_to_display); + + elm_object_part_content_set(layout, "swallow.chat_image", rounded_layout); } if(msg->message) { @@ -798,16 +807,23 @@ static Evas_Object * item_provider(void *data, Evas_Object *entry, const char *i } -Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const char *part) +Evas_Object *on_message_item_content_get_cb(void *data, Evas_Object *obj, const char *part) { Evas_Object *layout; layout = elm_layout_add(obj); if (!strcmp(part, "elm.icon.entry")) { + int message_id = (int)data; - Evas_Object* chat_list = obj; + Evas_Object *chat_list = obj; appdata_s* ad = evas_object_data_get(chat_list, "app_data"); - int user_id = (int)evas_object_data_get(chat_list, "user_id"); + Evas_Object *no_msg_lbl = evas_object_data_get(ad->nf, "chat_list_no_msg_text"); + if (no_msg_lbl) { + evas_object_del(no_msg_lbl); + evas_object_data_set(ad->nf, "chat_list_no_msg_text", NULL); + } + + int user_id = (int)evas_object_data_get(chat_list, "user_id"); evas_object_data_set(chat_list, "message_id", data); @@ -831,30 +847,31 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const } - if (msg->service) { + if (msg->service == 2) { char edj_path[PATH_MAX] = {0, }; app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX); layout = elm_layout_add(obj); - elm_layout_file_set(layout, edj_path, "chat_service_item_box"); + elm_layout_file_set(layout, edj_path, "chat_date_item"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(layout); - Evas_Object* ser_lbl = elm_label_add(obj); + Evas_Object *ser_lbl = elm_label_add(obj); char temp_msg[4*256] = {0,}; snprintf(temp_msg, sizeof(temp_msg), "%s", msg->message); elm_object_text_set(ser_lbl, temp_msg); elm_label_ellipsis_set(ser_lbl, EINA_TRUE); - evas_object_resize(ser_lbl, 200, 15); + //evas_object_resize(ser_lbl, 200, 15); evas_object_show(ser_lbl); - elm_object_part_content_set(layout, "swallow.chat_service_text", ser_lbl); - + elm_object_part_content_set(layout, "elm.text", ser_lbl); return layout; + } else if (msg->service == 1) { + } - Evas_Object* entry = elm_entry_add(obj); + Evas_Object *entry = elm_entry_add(obj); evas_object_data_set(entry, "chat_list", (void*)chat_list); evas_object_data_set(entry, "message_id", (void*)message_id); @@ -863,7 +880,7 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const //elm_entry_magnifier_disabled_set(entry, EINA_TRUE); // FIXME: Deprecated API - //elm_entry_selection_handler_disabled_set(entry, EINA_TRUE); + elm_entry_selection_handler_disabled_set(entry, EINA_TRUE); char *sender_name = NULL; if(msg->out) { @@ -894,11 +911,14 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(layout); - char temp_name[256] = {0,}; + // To be handled for group chat +#if 0 + char temp_name[256] = {0,}; snprintf(temp_name, sizeof(temp_name), "%s
", sender_name); +#endif Eina_Strbuf *buf = eina_strbuf_new(); - eina_strbuf_append(buf, temp_name); + eina_strbuf_append(buf, ""); if (sender_name) { free(sender_name); @@ -907,7 +927,7 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const if (msg->media_type == tgl_message_media_none) { char temp_msg[4*256] = {0,}; - snprintf(temp_msg, sizeof(temp_msg), "%s", msg->message); + snprintf(temp_msg, sizeof(temp_msg), "%s", msg->message); eina_strbuf_append(buf, temp_msg); elm_entry_entry_set(entry, eina_strbuf_string_get(buf)); eina_strbuf_free(buf); @@ -931,7 +951,7 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const if (media_msg) { snprintf(loc_url, sizeof(loc_url), "https://maps.google.com/?q=%s,%s", media_msg->latitude, media_msg->longitude); char temp_msg[4*256] = {0,}; - snprintf(temp_msg, sizeof(temp_msg), "%s", loc_url); + snprintf(temp_msg, sizeof(temp_msg), "%s", loc_url); eina_strbuf_append(buf, temp_msg); elm_entry_entry_set(entry, eina_strbuf_string_get(buf)); eina_strbuf_free(buf); @@ -948,7 +968,7 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const if (media_msg) { char temp_msg[4*256] = {0,}; - snprintf(temp_msg, sizeof(temp_msg), "%s %s, %s", media_msg->first_name, media_msg->last_name, media_msg->phone_no); + snprintf(temp_msg, sizeof(temp_msg), "%s %s, %s", media_msg->first_name, media_msg->last_name, media_msg->phone_no); eina_strbuf_append(buf, temp_msg); elm_entry_entry_set(entry, eina_strbuf_string_get(buf)); eina_strbuf_free(buf); @@ -970,7 +990,7 @@ Evas_Object* on_message_item_content_get_cb(void *data, Evas_Object *obj, const //set time time_t t = msg->date; - const char *format = "%I:%M %P"; + const char *format = "%I:%M %p"; struct tm lt; char res[32]; (void) localtime_r(&t, <); @@ -1214,9 +1234,9 @@ void on_text_message_state_changed(appdata_s* ad, tg_message_s *msg, int type_of } } -void add_date_item_to_chat(void *data) +Eina_Bool add_date_item_to_chat(void *data) { - Evas_Object* chat_list = data; + Evas_Object *chat_list = data; appdata_s* ad = evas_object_data_get(chat_list, "app_data"); int user_id = (int)evas_object_data_get(chat_list, "user_id"); @@ -1229,7 +1249,6 @@ void add_date_item_to_chat(void *data) if (msg_id > 0) { // send request to service - static Elm_Genlist_Item_Class itc; itc.item_style = "entry"; itc.func.text_get = NULL; @@ -1239,8 +1258,75 @@ void add_date_item_to_chat(void *data) Elm_Object_Item* item = elm_genlist_item_append(chat_list, &itc, (void *)msg_id, NULL, ELM_GENLIST_ITEM_NONE, on_text_message_clicked, (void*)msg_id); elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); ad->is_last_msg_changed = EINA_TRUE; + return EINA_TRUE; } + return EINA_FALSE; +} + + + +static Eina_Bool on_new_text_message_send_cb(void *data) +{ + Evas_Object *chat_list = data; + appdata_s* ad = evas_object_data_get(chat_list, "app_data"); + int user_id = (int)evas_object_data_get(chat_list, "user_id"); + Evas_Object *text_entry = evas_object_data_get(chat_list, "text_entry"); + + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); + const char* text_to_send = elm_entry_entry_get(text_entry); + if (!text_to_send || (strlen(text_to_send) == 0)) + return ECORE_CALLBACK_CANCEL; + + int unique_id = time(NULL); + tg_message_s msg; + msg.msg_id = unique_id; + msg.from_id = ad->current_user_data->user_id.id; + msg.date = time(NULL); + msg.flags = 0; + msg.fwd_date = 0; + msg.fwd_from_id= 0; + msg.fwd_from_id = 0; + msg.unique_id = 0; + msg.message = (char*)text_to_send; + msg.message_len = strlen(text_to_send); + msg.media_type = tgl_message_media_none; + msg.media_id = ""; + msg.out = 1; + msg.service = 0; + msg.to_id = sel_item->use_data->peer_id; + msg.unread = 0; + msg.msg_state = TG_MESSAGE_STATE_SENDING; + char* msg_table = get_table_name_from_number(msg.to_id); + create_buddy_msg_table(msg_table); + insert_msg_into_db(&msg, msg_table, unique_id); + free(msg_table); + + peer_with_pic_s* pic_peer_item = ad->peer_in_cahtting_data; + if (pic_peer_item) { + tg_peer_info_s* peer_item = pic_peer_item->use_data; + // update peer table + if (peer_item) { + peer_item->last_msg_id = msg.msg_id; + peer_item->last_msg_date = msg.date; + insert_or_update_peer_into_database(peer_item); + } + } + + // send request to service + send_request_for_message_transport(ad, ad->service_client, sel_item->use_data->peer_id, msg.msg_id, tgl_message_media_none, text_to_send, sel_item->use_data->peer_type); + + static Elm_Genlist_Item_Class itc; + itc.item_style = "entry"; + itc.func.text_get = NULL; + itc.func.content_get = on_message_item_content_get_cb; + itc.func.state_get = NULL; + itc.func.del = NULL; + Elm_Object_Item* item = elm_genlist_item_append(chat_list, &itc, (void *)unique_id, NULL, ELM_GENLIST_ITEM_NONE, on_text_message_clicked, (void*)unique_id); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + elm_entry_entry_set(text_entry, ""); + ad->is_last_msg_changed = EINA_TRUE; + return ECORE_CALLBACK_CANCEL; } static void on_text_message_send_clicked(void *data, Evas_Object *obj, void *event_info) @@ -1256,10 +1342,12 @@ static void on_text_message_send_clicked(void *data, Evas_Object *obj, void *eve if (!text_to_send || (strlen(text_to_send) == 0)) return; - add_date_item_to_chat(data); + if(add_date_item_to_chat(data)) { + ecore_timer_add(3, on_new_text_message_send_cb, chat_list); + return; + } int unique_id = time(NULL); - tg_message_s msg; msg.msg_id = unique_id; msg.from_id = ad->current_user_data->user_id.id; @@ -1344,15 +1432,15 @@ void on_user_presence_state_changed(appdata_s* ad, int buddy_id) if (is_online > 0) { char status_str[256]={0,}; - snprintf(status_str, sizeof(status_str) - 1, "%s", "online"); + snprintf(status_str, sizeof(status_str) - 1, "%s", "online"); elm_object_text_set(profile_time,status_str); } else { time_t t = last_seen; if (is_today) { - format = "Last seen Today at %I:%M %P"; + format = "Last seen %I:%M %p"; } else { - format = "Last seen %d/%b/%Y at %I:%M %P"; + format = "Last seen %b %d, %I:%M %P"; } struct tm lt; @@ -1367,7 +1455,7 @@ void on_user_presence_state_changed(appdata_s* ad, int buddy_id) } char time_str[256]={0,}; - snprintf(time_str, sizeof(time_str) - 1, "%s", res); + snprintf(time_str, sizeof(time_str) - 1, "%s", res); elm_object_text_set(profile_time,time_str); } @@ -1390,7 +1478,7 @@ void on_user_presence_state_changed(appdata_s* ad, int buddy_id) tg_chat_info_s* chat_info = get_chat_info(buddy_id); if (!chat_info) { char status_str[256]={0,}; - snprintf(status_str, sizeof(status_str) - 1, "Unidentified."); + snprintf(status_str, sizeof(status_str) - 1, "Unidentified."); elm_object_text_set(profile_time,status_str); return; } @@ -1409,11 +1497,11 @@ void on_user_presence_state_changed(appdata_s* ad, int buddy_id) if (online_members == 0) { char status_str[256]={0,}; - snprintf(status_str, sizeof(status_str) - 1, "%d members", user_list_size); + snprintf(status_str, sizeof(status_str) - 1, "%d members", user_list_size); elm_object_text_set(profile_time,status_str); } else { char status_str[256]={0,}; - snprintf(status_str, sizeof(status_str) - 1, "%d members, %d online", user_list_size, online_members); + snprintf(status_str, sizeof(status_str) - 1, "%d members, %d online", user_list_size, online_members); elm_object_text_set(profile_time,status_str); } @@ -1473,12 +1561,88 @@ void on_list_media_item_clicked(void *data, Evas_Object *obj, void *event_info) } +static Eina_Bool on_new_contact_message_send_cb(void *data) +{ + Evas_Object *chat_list = data; + appdata_s* ad = evas_object_data_get(chat_list, "app_data"); + int user_id = (int)evas_object_data_get(chat_list, "user_id"); + + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); + + int unique_id = time(NULL); + + char unique_id_str[50]; + sprintf(unique_id_str, "%d", unique_id); + + tg_message_s msg; + msg.msg_id = unique_id; + msg.from_id = ad->current_user_data->user_id.id; + msg.date = time(NULL); + msg.flags = 0; + msg.fwd_date = 0; + msg.fwd_from_id= 0; + msg.fwd_from_id = 0; + msg.unique_id = unique_id; + msg.message = ""; + msg.message_len = 0; + msg.media_type = tgl_message_media_contact; + msg.media_id = strdup(unique_id_str); + msg.out = 1; + msg.service = 0; + msg.to_id = sel_item->use_data->peer_id; + msg.unread = 0; + msg.msg_state = TG_MESSAGE_STATE_SENDING; + + + char* msg_table = get_table_name_from_number(msg.to_id); + create_buddy_msg_table(msg_table); + insert_msg_into_db(&msg, msg_table, unique_id); + int img_width = 0; + int img_height = 0; + int media_size = 0; + + char *first_name = evas_object_data_get(chat_list, "contact_first_name"); + char *last_name = evas_object_data_get(chat_list, "contact_last_name"); + char *phone_number = evas_object_data_get(chat_list, "contact_phone_number"); + + insert_media_info_to_db(&msg, NULL, img_width, img_height, media_size, NULL, NULL, first_name, last_name, phone_number); + + free(msg_table); + + // send request to service + send_request_for_media_transport(ad, ad->service_client, sel_item->use_data->peer_id, msg.msg_id, unique_id, tgl_message_media_contact, NULL, sel_item->use_data->peer_type); + + static Elm_Genlist_Item_Class itc; + itc.item_style = "entry"; + itc.func.text_get = NULL; + itc.func.content_get = on_message_item_content_get_cb; + itc.func.state_get = NULL; + itc.func.del = NULL; + Elm_Object_Item* item = elm_genlist_item_append(chat_list, &itc, (void*)unique_id, NULL, ELM_GENLIST_ITEM_NONE, on_list_media_item_clicked, (void*)unique_id); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + free(msg.media_id); + + return ECORE_CALLBACK_CANCEL; + +} + void send_contact_message_to_buddy(void *data, char *first_name, char *last_name, char *phone_number) { - Evas_Object* chat_list = data; + Evas_Object *chat_list = data; appdata_s* ad = evas_object_data_get(chat_list, "app_data"); int user_id = (int)evas_object_data_get(chat_list, "user_id"); - add_date_item_to_chat(data); + + if(add_date_item_to_chat(data)) { + + evas_object_data_set(chat_list, "contact_first_name", strdup(first_name)); + evas_object_data_set(chat_list, "contact_last_name", strdup(last_name)); + evas_object_data_set(chat_list, "contact_phone_number", strdup(phone_number)); + + ecore_timer_add(3, on_new_contact_message_send_cb, chat_list); + return; + } + + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); int unique_id = time(NULL); @@ -1530,12 +1694,80 @@ void send_contact_message_to_buddy(void *data, char *first_name, char *last_name free(msg.media_id); } +static Eina_Bool on_new_location_message_send_cb(void *data) +{ + Evas_Object *chat_list = data; + appdata_s* ad = evas_object_data_get(chat_list, "app_data"); + int user_id = (int)evas_object_data_get(chat_list, "user_id"); + + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); + + int unique_id = time(NULL); + + char unique_id_str[50]; + sprintf(unique_id_str, "%d", unique_id); + + tg_message_s msg; + msg.msg_id = unique_id; + msg.from_id = ad->current_user_data->user_id.id; + msg.date = time(NULL); + msg.flags = 0; + msg.fwd_date = 0; + msg.fwd_from_id= 0; + msg.fwd_from_id = 0; + msg.unique_id = unique_id; + msg.message = ""; + msg.message_len = 0; + msg.media_type = tgl_message_media_geo; + msg.media_id = strdup(unique_id_str); + msg.out = 1; + msg.service = 0; + msg.to_id = sel_item->use_data->peer_id; + msg.unread = 0; + msg.msg_state = TG_MESSAGE_STATE_SENDING; + + char* msg_table = get_table_name_from_number(msg.to_id); + create_buddy_msg_table(msg_table); + insert_msg_into_db(&msg, msg_table, unique_id); + int img_width = 0; + int img_height = 0; + int media_size = 0; + + char *latitude = evas_object_data_get(chat_list, "contact_latitude"); + char *longitude = evas_object_data_get(chat_list, "contact_longitude"); + + insert_media_info_to_db(&msg, NULL, img_width, img_height, media_size, latitude, longitude, NULL, NULL, NULL); + + free(msg_table); + + // send request to service + send_request_for_media_transport(ad, ad->service_client, sel_item->use_data->peer_id, msg.msg_id, unique_id, tgl_message_media_geo, NULL, sel_item->use_data->peer_type); + + static Elm_Genlist_Item_Class itc; + itc.item_style = "entry"; + itc.func.text_get = NULL; + itc.func.content_get = on_message_item_content_get_cb; + itc.func.state_get = NULL; + itc.func.del = NULL; + Elm_Object_Item* item = elm_genlist_item_append(chat_list, &itc, (void*)unique_id, NULL, ELM_GENLIST_ITEM_NONE, on_list_media_item_clicked, (void*)unique_id); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + free(msg.media_id); + return ECORE_CALLBACK_CANCEL; +} + void send_location_message_to_buddy(void *data, char *latitude, char *longitude) { - Evas_Object* chat_list = data; + Evas_Object *chat_list = data; appdata_s* ad = evas_object_data_get(chat_list, "app_data"); int user_id = (int)evas_object_data_get(chat_list, "user_id"); - add_date_item_to_chat(data); + + if(add_date_item_to_chat(data)) { + evas_object_data_set(chat_list, "contact_latitude", strdup(latitude)); + evas_object_data_set(chat_list, "contact_longitude", strdup(longitude)); + ecore_timer_add(3, on_new_location_message_send_cb, chat_list); + return; + } + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); int unique_id = time(NULL); @@ -1586,12 +1818,93 @@ void send_location_message_to_buddy(void *data, char *latitude, char *longitude) free(msg.media_id); } +static Eina_Bool on_new_media_message_send_cb(void *data) +{ + Evas_Object *chat_list = data; + appdata_s* ad = evas_object_data_get(chat_list, "app_data"); + int user_id = (int)evas_object_data_get(chat_list, "user_id"); + + peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); + + int unique_id = time(NULL); + + char unique_id_str[50]; + sprintf(unique_id_str, "%d", unique_id); + + char *file_type_char = evas_object_data_get(chat_list, "file_type"); + int file_type = atoi(file_type_char); + char *file_path = evas_object_data_get(chat_list, "file_path"); + + tg_message_s msg; + msg.msg_id = unique_id; + msg.from_id = ad->current_user_data->user_id.id; + msg.date = time(NULL); + msg.flags = 0; + msg.fwd_date = 0; + msg.fwd_from_id= 0; + msg.fwd_from_id = 0; + msg.unique_id = unique_id; + msg.message = ""; + msg.message_len = 0; + msg.media_type = file_type; + msg.media_id = strdup(unique_id_str); + msg.out = 1; + msg.service = 0; + msg.to_id = sel_item->use_data->peer_id; + msg.unread = 0; + msg.msg_state = TG_MESSAGE_STATE_SENDING; + + char* msg_table = get_table_name_from_number(msg.to_id); + create_buddy_msg_table(msg_table); + insert_msg_into_db(&msg, msg_table, unique_id); + int img_width = 0; + int img_height = 0; + int media_size = 0; + if (file_type == tgl_message_media_photo) { + Evas_Object *img = create_image_object_from_file(file_path, chat_list); + elm_image_object_size_get(img, &img_width, &img_height); + struct stat st; + stat(file_path, &st); + media_size = st.st_size; + evas_object_del(img); + } + + insert_media_info_to_db(&msg, (char*)file_path, img_width, img_height, media_size, NULL, NULL , NULL, NULL, NULL); + + free(msg_table); + + // send request to service + send_request_for_media_transport(ad, ad->service_client, sel_item->use_data->peer_id, msg.msg_id, unique_id, file_type, file_path, sel_item->use_data->peer_type); + + static Elm_Genlist_Item_Class itc; + itc.item_style = "entry"; + itc.func.text_get = NULL; + itc.func.content_get = on_message_item_content_get_cb; + itc.func.state_get = NULL; + itc.func.del = NULL; + Elm_Object_Item* item = elm_genlist_item_append(chat_list, &itc, (void*)unique_id, NULL, ELM_GENLIST_ITEM_NONE, on_list_media_item_clicked, (void*)unique_id); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + free(msg.media_id); + ad->is_last_msg_changed = EINA_TRUE; + return ECORE_CALLBACK_CANCEL; +} + void send_media_message_to_buddy(void *data, const char* file_path, enum tgl_message_media_type file_type) { - Evas_Object* chat_list = data; + Evas_Object *chat_list = data; appdata_s* ad = evas_object_data_get(chat_list, "app_data"); int user_id = (int)evas_object_data_get(chat_list, "user_id"); - add_date_item_to_chat(data); + if(add_date_item_to_chat(data)) { + + int temp_file_type = file_type; + char file_type_char[10]= {0, }; + sprintf(file_type_char, "%d", temp_file_type); + evas_object_data_set(chat_list, "file_type", strdup(file_type_char)); + evas_object_data_set(chat_list, "file_path", strdup(file_path)); + + ecore_timer_add(3, on_new_media_message_send_cb, chat_list); + return; + } peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); int unique_id = time(NULL); @@ -1661,7 +1974,7 @@ static Eina_Bool on_timer_expired(void *data) return ECORE_CALLBACK_CANCEL; } -void load_chat_history(Evas_Object* chat_list) +Eina_Bool load_chat_history(Evas_Object *chat_list) { appdata_s* ad = evas_object_data_get(chat_list, "app_data"); int user_id = (int)evas_object_data_get(chat_list, "user_id"); @@ -1681,9 +1994,16 @@ void load_chat_history(Evas_Object* chat_list) Eina_List* vals = get_values_from_table_sync_order_by(tablename, col_names, col_types, MESSAGE_INFO_TABLE_DATE, EINA_TRUE, NULL); Elm_Object_Item* last_item = NULL; if(!vals) { - + // set no messages yet + return EINA_FALSE; } else { int row_count = eina_list_count(vals); + + if (row_count <= 0) { + // set no messages yet + return EINA_FALSE; + } + for (int i = 0 ; i < row_count ; i++) { Eina_List* row_vals = eina_list_nth(vals, i); int* temp_message_id = (int*)eina_list_nth(row_vals, 0); @@ -1706,6 +2026,7 @@ void load_chat_history(Evas_Object* chat_list) timer = ecore_timer_add(5, on_timer_expired, last_item); free(tablename); + return EINA_TRUE; } @@ -1820,28 +2141,12 @@ void on_file_app_control_reply_cb(app_control_h request, app_control_h reply, ap static void on_voice_record_reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) { if (result == APP_CONTROL_RESULT_SUCCEEDED) { - Evas_Object* chat_list = user_data; -#if 1 + Evas_Object *chat_list = user_data; char *file_name = NULL; - int array_length = 0; - app_control_get_extra_data(reply, APP_CONTROL_DATA_SELECTED, &file_name); if (file_name) { send_media_message_to_buddy(chat_list, file_name, tgl_message_media_document); } -#else - char* file_path = NULL; - char** path_arryay = NULL; - int array_length = 0; - app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &path_arryay, &array_length); - - for(int i = 0 ; i < array_length ; i++) { - file_path = strdup(path_arryay[i]); - send_media_message_to_buddy(chat_list, file_path, tgl_message_media_document); - free(file_path); - break; - } -#endif } } @@ -2107,7 +2412,19 @@ void on_user_info_button_clicked(void *data, Evas_Object *obj, void *event_info) } else { } +} + +void refresh_messaging_view(appdata_s *ad) +{ + if (!ad) + return; + Evas_Object *chat_conv_list = evas_object_data_get(ad->nf, "chat_list"); + if (!chat_conv_list) { + Evas_Coord w, h; + elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h); + evas_object_size_hint_min_set(chat_conv_list, w, h); + } } void launch_messaging_view_cb(appdata_s* ad, int user_id) @@ -2130,7 +2447,14 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); elm_scroller_policy_set(scroller,ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - Evas_Object* layout = elm_layout_add(ad->nf); + Evas_Object* main_layout = elm_layout_add(ad->nf); + elm_layout_file_set(main_layout, edj_path, "main_list_custom_item"); + evas_object_size_hint_weight_set(main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(main_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(main_layout); + + + Evas_Object *layout = elm_layout_add(ad->nf); elm_layout_file_set(layout, edj_path, "chat_messaging_layout"); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -2141,12 +2465,6 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) peer_with_pic_s *sel_item = eina_list_nth(ad->peer_list, user_id); tg_peer_info_s* user = sel_item->use_data; - Evas_Object *profile_pic = NULL; - if (user->photo_path && strcmp(user->photo_path, "") != 0) { - profile_pic = create_image_object_from_file(user->photo_path, layout); - } else { - profile_pic = create_image_object_from_file(ui_utils_get_resource(DEFAULT_PROFILE_PIC), layout); - } /*************************** message list ************************************/ @@ -2157,8 +2475,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) evas_object_size_hint_align_set(msg_box_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(msg_box_layout); -#if 1 - Evas_Object* list_bg = elm_image_add(msg_box_layout); + Evas_Object *list_bg = elm_image_add(msg_box_layout); evas_object_size_hint_align_set(list_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(list_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); if (ad->chat_background) { @@ -2171,9 +2488,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) evas_object_show(list_bg); elm_object_part_content_set(msg_box_layout, "swallow.gen_list.bg", list_bg); -#endif -#if 1 - Evas_Object* chat_conv_list = elm_genlist_add(ad->nf); + Evas_Object *chat_conv_list = elm_genlist_add(ad->nf); elm_list_mode_set(chat_conv_list, ELM_LIST_COMPRESS); elm_genlist_mode_set(chat_conv_list, ELM_LIST_COMPRESS); elm_object_style_set(chat_conv_list, "solid/default"); @@ -2182,7 +2497,6 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) // FIXME: Deprecated API //elm_genlist_realization_mode_set(chat_conv_list, EINA_TRUE); //evas_object_color_set(chat_conv_list, 255 , 255, 255, 255); -#endif evas_object_show(chat_conv_list); @@ -2197,47 +2511,62 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) /********************** title layout ******************************/ -/* - Evas_Object* title_scroller = elm_scroller_add(ad->nf); - elm_scroller_bounce_set(title_scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(title_scroller,ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); -*/ - - Evas_Object* title_layout = elm_layout_add(ad->nf); + Evas_Object *title_layout = elm_layout_add(ad->nf); elm_layout_file_set(title_layout, edj_path, "message_title_box"); evas_object_size_hint_weight_set(title_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(title_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(title_layout); - Evas_Object* user_pic_layout = elm_layout_add(ad->nf); - elm_layout_file_set(user_pic_layout, edj_path, "circle_layout"); + Evas_Object *profile_pic = NULL; + profile_pic = elm_image_add(layout); + evas_object_size_hint_weight_set(profile_pic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(profile_pic, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_focus_set(profile_pic, EINA_FALSE); + + if (user->photo_path && strcmp(user->photo_path, "") != 0) { + elm_image_file_set(profile_pic, user->photo_path, NULL); + } else { + if (user->peer_type == TGL_PEER_USER) { + elm_image_file_set(profile_pic, ui_utils_get_resource(DEFAULT_LIST_THUMB_SINGLE_PIC), NULL); + } else if (user->peer_type == TGL_PEER_CHAT) { + elm_image_file_set(profile_pic, ui_utils_get_resource(DEFAULT_LIST_THUMB_MULTI_PIC), NULL); + } else { + + } + evas_object_color_set(profile_pic, 45, 165, 224, 255); + } + + elm_object_focus_set(profile_pic, EINA_FALSE); + evas_object_show(profile_pic); + Evas_Object *user_pic_layout = elm_layout_add(ad->nf); + elm_layout_file_set(user_pic_layout, edj_path, "msg_circle_layout"); evas_object_size_hint_weight_set(user_pic_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(user_pic_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(user_pic_layout); elm_object_part_content_set(user_pic_layout, "content", profile_pic); evas_object_data_set(ad->nf, "profile_picture", (void*)profile_pic); + elm_object_part_content_set(title_layout, "swallow.profile_pic", user_pic_layout); - Evas_Object* eo = elm_layout_add(ad->nf); - elm_layout_theme_set(eo, "layout", "list/C/type.3", "default"); - elm_layout_content_set(eo, "elm.swallow.content", user_pic_layout); + elm_object_part_content_set(main_layout, "swallow.item", title_layout); - elm_object_part_content_set(title_layout, "swallow.profile_pic", eo); + Evas_Object *back_btn = create_button(ad->nf, "naviframe/back_btn/default", NULL); + elm_object_part_content_set(title_layout, "swallow.back_arrow", back_btn); - Evas_Object* profile_name = elm_label_add(title_layout); + + Evas_Object *profile_name = elm_label_add(title_layout); if ((user->peer_type == TGL_PEER_USER) && get_buddy_unknown_status(user->peer_id)) { char temp_name[512] = {'\0'}; - snprintf(temp_name, 512, "%s", get_buddy_phone_num_from_id(sel_item->use_data->peer_id)); + snprintf(temp_name, 512, "%s", get_buddy_phone_num_from_id(sel_item->use_data->peer_id)); elm_object_text_set(profile_name,temp_name); } else { char* user_name = replace(sel_item->use_data->print_name, '_', " "); char temp_name[512] = {'\0'}; - snprintf(temp_name, 512, "%s", user_name); + snprintf(temp_name, 512, "%s", user_name); free(user_name); elm_object_text_set(profile_name,temp_name); } - evas_object_size_hint_align_set(profile_name, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(profile_name, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_style_set(profile_name, "transparent"); @@ -2246,7 +2575,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) evas_object_data_set(ad->nf, "profile_title", (void*)profile_name); evas_object_smart_callback_add(profile_name, "clicked", on_user_info_button_clicked, ad); - Evas_Object* profile_time = elm_label_add(title_layout); + Evas_Object *profile_time = elm_label_add(title_layout); evas_object_size_hint_align_set(profile_time, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(profile_time, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(profile_time); @@ -2258,8 +2587,7 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) on_user_presence_state_changed(ad, sel_item->use_data->peer_id); - elm_object_part_content_set(layout, "swallow.title_box", title_layout); - + elm_object_part_content_set(layout, "swallow.title_box", main_layout); /********************** title layout ******************************/ @@ -2344,7 +2672,21 @@ void launch_messaging_view_cb(appdata_s* ad, int user_id) elm_object_item_part_content_set(nf_it, "toolbar", entry_box_layout); - load_chat_history(chat_conv_list); + Eina_Bool ret = load_chat_history(chat_conv_list); + + if (!ret) { + // show no messages + Evas_Object *no_msg_lbl = elm_label_add(ad->nf); + evas_object_size_hint_align_set(no_msg_lbl, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(no_msg_lbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(no_msg_lbl); + char temp_msg[4*256] = {0,}; + snprintf(temp_msg, sizeof(temp_msg), "%s", "No messages here yet..."); + elm_object_text_set(no_msg_lbl, temp_msg); + elm_object_part_content_set(layout, "swallow.no_msg_text", no_msg_lbl); + evas_object_data_set(ad->nf, "chat_list_no_msg_text", (void*)no_msg_lbl); + } + send_request_for_marked_as_read(ad->service_client, sel_item->use_data->peer_id, sel_item->use_data->peer_type); eext_object_event_callback_add(ad->nf, EEXT_CALLBACK_MORE, on_messaging_menu_button_clicked, ad); } diff --git a/TelegramTizen/src/tg_splash_screen.c b/TelegramTizen/src/tg_splash_screen.c index a87285e..1a7ccae 100644 --- a/TelegramTizen/src/tg_splash_screen.c +++ b/TelegramTizen/src/tg_splash_screen.c @@ -14,7 +14,7 @@ launch_splash_screen_cb(void *data) ad->current_app_state = TG_REGISTRATION_STATE; Evas_Object* layout = elm_layout_add(ad->win); - app_get_resource(EDJ_CHAT_CONV_FILE, edj_path, (int)PATH_MAX); + app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX); elm_layout_file_set(layout, edj_path, "splash_screen"); Evas_Object* progressbar = elm_progressbar_add(layout); elm_object_style_set(progressbar, "process_small"); diff --git a/TelegramTizen/src/tg_user_main_view.c b/TelegramTizen/src/tg_user_main_view.c index 350300c..9d00ef5 100644 --- a/TelegramTizen/src/tg_user_main_view.c +++ b/TelegramTizen/src/tg_user_main_view.c @@ -762,10 +762,10 @@ Evas_Object* on_chat_item_load_requested(void *data, Evas_Object *obj, const cha int len_org_str = strlen(org_msg); - char res[40] = {'\0'}; + char res[30] = {'\0'}; char status_buf[126] = {'\0'}; - if(len_org_str > 40) { - strncpy(res, org_msg, 39); + if(len_org_str > 30) { + strncpy(res, org_msg, 29); if(item->last_msg_service) { sprintf(status_buf,"%s", res); } else { @@ -1093,7 +1093,7 @@ void launch_user_main_view_cb(appdata_s* ad) evas_object_size_hint_weight_set(buddy_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(buddy_list, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_data_set(buddy_list, "app_data", ad); - + elm_genlist_block_count_set(buddy_list, 14); elm_genlist_homogeneous_set(buddy_list, EINA_TRUE); diff --git a/TelegramTizen/tg_utils/tg_common.h b/TelegramTizen/tg_utils/tg_common.h index de8ff65..6d162f8 100644 --- a/TelegramTizen/tg_utils/tg_common.h +++ b/TelegramTizen/tg_utils/tg_common.h @@ -32,9 +32,8 @@ #define EDJ_CHAT_CONV_FILE "edje/telegram_chat_conv.edj" #define TELEGRAM_CUSTOM_WINSET_EDJ "edje/telegram_theme.edj" -#define TELEGRAM_CHAT_VIEW_EDJ "edje/telegram_chat_view.edj" -#define TELEGRAM_START_VIEW_EDJ "edje/telegram_start_screen.edj" -#define TELEGRAM_INIT_VIEW_EDJ "edje/telegram_init_screen.edj" +#define TELEGRAM_START_VIEW_EDJ "edje/telegram_start_screen.edj" +#define TELEGRAM_INIT_VIEW_EDJ "edje/telegram_init_screen.edj" #define TELEGRAM_POPUP_VIEW_EDJ "edje/telegram_custom_popup.edj" #define TELEGRAM_GENLIST_THEME_EDJ "edje/telegram_genlist_theme.edj"