From 3c17675b8d17eac2ed7e8b5adc933613448718d6 Mon Sep 17 00:00:00 2001 From: Igor Olshevskyi Date: Thu, 22 Sep 2016 13:01:40 +0300 Subject: [PATCH] TizenRefApp-7258 [Call UI] Fix issue with freezing press effect on display property changes Change-Id: I6e635a535c5982ee2fe5df7bd6550874d812b805 --- .../callui-view-one-hold-in-conference.edc | 118 -- edje_src/edc/call_edc/callui_view_end_call.edc | 142 --- res/edje/call_theme.edc | 1133 ++++++++++++++------ src/callui-display.c | 2 +- src/callui-listeners-collection.c | 4 +- src/callui-state-provider.c | 4 +- src/callui-view-callend.c | 51 +- src/callui-view-elements.c | 4 +- src/callui-view-multi-call-split.c | 27 +- src/callui-window.c | 2 +- src/callui.c | 2 +- 11 files changed, 835 insertions(+), 654 deletions(-) diff --git a/edje_src/edc/call_edc/callui-view-one-hold-in-conference.edc b/edje_src/edc/call_edc/callui-view-one-hold-in-conference.edc index bb7e43d..ff535e0 100644 --- a/edje_src/edc/call_edc/callui-view-one-hold-in-conference.edc +++ b/edje_src/edc/call_edc/callui-view-one-hold-in-conference.edc @@ -51,119 +51,11 @@ styles { base: "font="VC_FONT_REGULAR" font_size=34 color=#FFFAFAFF ellipsis=1.0"; } style { - name: "ATO008"; - base: "font="VC_FONT_REGULAR" font_size=27 color=#FFFAFAFF align=center"; - } - style { name: "ATO011"; base: "font="VC_FONT_REGULAR" font_size=40 color=#FFFAFAFF ellipsis=1.0"; } } -#define MERGE_SWAP_BTN(NAME, BG_IMAGE, ICON, BG_COLOR, PRESSED_COLOR) \ - group { \ - name: NAME; \ - images.image: ICON COMP; \ - parts { \ - part { name: "bg"; \ - type: IMAGE; \ - scale: 1; \ - description { \ - state: "default" 0.0; \ - image.normal: BG_IMAGE; \ - color_class: BG_COLOR; \ - } \ - } \ - part { name: "bg_press"; \ - type: IMAGE; \ - scale: 1; \ - mouse_events: 1; \ - description { state: "default" 0.0; \ - rel1 { relative: 0.0 0.0; to: "bg"; } \ - rel2 { relative: 1.0 1.0; to: "bg"; } \ - image.normal: BG_IMAGE; \ - color_class: "transparent_black"; \ - } \ - description { state: "pressed" 0.0; \ - inherit: "default" 0.0; \ - color_class: PRESSED_COLOR; \ - } \ - description { state: "pressed_effect" 0.0; \ - inherit: "pressed" 0.0; \ - rel1 { relative: 0.15 0.15; to: "bg"; } \ - rel2 { relative: 0.85 0.85; to: "bg"; } \ - } \ - } \ - part { name: "icon"; \ - type: IMAGE; \ - scale: 1; \ - description { \ - state: "default" 0.0; \ - rel1.relative: MS_BTN_ICON_L MS_BTN_ICON_T; \ - rel2.relative: MS_BTN_ICON_R MS_BTN_ICON_B; \ - image.normal: ICON; \ - } \ - } \ - part { name: "text"; \ - type: TEXTBLOCK; \ - scale: 1; \ - description { \ - state: "default" 0.0; \ - rel1 { \ - relative: 0.0 1.0; \ - to_y: "icon"; \ - } \ - rel2.relative: 1.0 MS_BTN_TEXT_B; \ - text { \ - style: "ATO008"; \ - } \ - } \ - } \ - part { name: "over"; \ - type: RECT; \ - mouse_events: 1; \ - repeat_events: 1; \ - ignore_flags: ON_HOLD; \ - scale: 1; \ - description { state: "default" 0.0; \ - color: COLOR_BG_ALPHA; \ - rel1 { relative: 0.0 0.0; to: "bg"; } \ - rel2 { relative: 1.0 1.0; to: "bg"; } \ - } \ - } \ - } \ - programs { \ - program { name: "btn_press"; \ - signal: "mouse,down,1*"; \ - source: "over"; \ - action: STATE_SET "pressed_effect" 0.0; \ - target: "bg_press"; \ - after: "btn_press_anim"; \ - } \ - program { name: "btn_press_anim"; \ - action: STATE_SET "pressed" 0.0; \ - target: "bg_press"; \ - transition: TRANSITION_GLIDE(0.15); \ - } \ - program { name: "btn_unpress"; \ - signal: "mouse,up,1"; \ - source: "over"; \ - action: STATE_SET "default" 0.0; \ - target: "bg_press"; \ - transition: TRANSITION_GLIDE(0.45); \ - } \ - program { name: "btn_clicked"; \ - signal: "mouse,clicked,1"; \ - source: "over"; \ - action: SIGNAL_EMIT "clicked" "hold_call_btn"; \ - after: "touch_snd"; \ - } \ - program { name: "touch_snd"; \ - action: RUN_PLUGIN "touch_sound"; \ - } \ - } \ - } - #define BG_PART_IMAGE \ part { name: "bg"; \ type: IMAGE; \ @@ -381,16 +273,6 @@ group { \ SPLIT_CALLER_INFO_LAYOUT("split_hold_info", BG_PART_IMAGE, HOLD_INFO_PADDING_TOP_MIN_H, HOLD_INFO_STATUS_TXT_PADDING_BOTTOM_H) SPLIT_CALLER_INFO_LAYOUT("split_active_info", BG_PART_SPACER, ACTIVE_INFO_PADDING_TOP_MIN_H, ACTIVE_INFO_STATUS_TXT_PADDING_BOTTOM_H) -MERGE_SWAP_BTN("merge_btn", - IMG_SRC_DIR/"call_multi_hold_btn_merge_bg.png", - IMG_SRC_DIR/"call_multi_ic_merge.png", - "multi_hold_merge_btn_norm", "multi_hold_merge_btn_press") - -MERGE_SWAP_BTN("swap_btn", - IMG_SRC_DIR/"call_multi_hold_btn_swap_bg.png", - IMG_SRC_DIR/"call_multi_ic_swap.png", - "multi_hold_swap_btn_norm", "multi_hold_swap_btn_press") - group { name: "split_callers_info"; parts { part { name: "bg"; diff --git a/edje_src/edc/call_edc/callui_view_end_call.edc b/edje_src/edc/call_edc/callui_view_end_call.edc index e60e7b0..2533215 100644 --- a/edje_src/edc/call_edc/callui_view_end_call.edc +++ b/edje_src/edc/call_edc/callui_view_end_call.edc @@ -67,19 +67,9 @@ // APPLICATION AND VIEW MAIN LAYOUT DEFINES #define EC_LAYOUT_MINIMIZE_SIZE (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + EC_STATE_TXT_PAD_CONT_ICON + EC_CONT_ICON_DIMENT + EC_CONT_ICON_PAD_BOTTOM) - #define EC_REPLY_BTN_HEIGHT 190 -#define EC_REPLY_BTN_ICON_PAD_TOP 36 -#define EC_REPLY_BTN_ICON_DIMENT 64 -#define EC_REPLY_BTN_TXT_HEIGHT 38 -#define EC_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON 20 -#define EC_REPLY_BTN_TXT_PAD_TOP (EC_REPLY_BTN_ICON_PAD_TOP + EC_REPLY_BTN_ICON_DIMENT + EC_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON) -#define EC_REPLY_BTN_ICON_SIZE EC_REPLY_BTN_ICON_DIMENT EC_REPLY_BTN_ICON_DIMENT styles { - style { name: "ec_reply_btn"; - base: "font=Tizen:style=Regular align=center font_size=34 color=#808080 ellipsis=1.0"; - } style { name: "ec_contact_name"; base: "font=Tizen:style=Regular align=left font_size=56 color=#FFFFFF ellipsis=1.0"; } @@ -88,138 +78,6 @@ styles { } } -#define EC_REPLY_BUTTON(style_name, img_path) \ -group { \ - name: style_name; \ - images { \ - image: img_path COMP; \ - } \ - parts { \ - CU_PART_RECT( "bg", \ - mouse_events: 1; \ - repeat_events: 0; \ - description { state: "default" 0.0; } \ - description { state: "pressed" 0.0; \ - inherit: "default" 0.0; \ - color_class: "ec_reply_btn_bg_norm"; \ - } \ - ) \ - CU_PART_RECT( "bg_press", \ - mouse_events: 1; \ - description { state: "default" 0.0; \ - rel1 { relative: 0.0 0.0; to: "bg"; } \ - rel2 { relative: 1.0 1.0; to: "bg"; } \ - color_class: "ec_reply_btn_bg_norm"; \ - } \ - description { state: "pressed" 0.0; \ - inherit: "default" 0.0; \ - color_class: "ec_reply_btn_bg_pressed"; \ - } \ - description { state: "pressed_effect" 0.0; \ - inherit: "pressed" 0.0; \ - rel1 { relative: 0.15 0.15; to: "bg"; } \ - rel2 { relative: 0.85 0.85; to: "bg"; } \ - } \ - ) \ - CU_PART_SPACER( "sizer", \ - description { state: "default" 0.0; \ - min: 0 EC_REPLY_BTN_HEIGHT; \ - max: -1 EC_REPLY_BTN_HEIGHT; \ - fixed: 1 1; \ - } \ - ) \ - CU_PART_SPACER( "icon.padding.top", \ - description { state: "default" 0.0; \ - min: 0 EC_REPLY_BTN_ICON_PAD_TOP; \ - fixed: 0 1; \ - rel1 { relative: 0.0 0.0; to: "sizer"; } \ - rel2 { relative: 1.0 0.0; to: "sizer"; } \ - align: 0.0 0.0; \ - } \ - ) \ - CU_PART_IMAGE( "icon", \ - description { state: "default" 0.0; \ - rel1 { relative: 0.0 1.0; to: "icon.padding.top"; } \ - rel2 { relative: 1.0 1.0; to: "icon.padding.top"; } \ - min: EC_REPLY_BTN_ICON_SIZE; \ - max: EC_REPLY_BTN_ICON_SIZE; \ - fixed: 1 1; \ - image.normal: img_path; \ - color_class: "ec_reply_btn_icon"; \ - align: 0.5 0.0; \ - } \ - ) \ - CU_PART_SPACER( "text.padding.top", \ - description { state: "default" 0.0; \ - min: 0 EC_REPLY_BTN_TXT_PAD_TOP; \ - fixed: 0 1; \ - rel1 { relative: 0.0 0.0; to: "sizer"; } \ - rel2 { relative: 1.0 0.0; to: "sizer"; } \ - align: 0.0 0.0; \ - } \ - ) \ - CU_PART_TEXTBLOCK( "text", \ - description { state: "default" 0.0; \ - rel1 { relative: 0.0 1.0; to: "text.padding.top"; } \ - rel2 { relative: 1.0 1.0; to: "text.padding.top"; } \ - min: 0 EC_REPLY_BTN_TXT_HEIGHT; \ - text { \ - fit: 1 1; \ - style:"ec_reply_btn"; \ - } \ - } \ - ) \ - CU_PART_RECT( "over", \ - type: RECT; \ - mouse_events: 1; \ - repeat_events: 1; \ - ignore_flags: ON_HOLD; \ - description { state: "default" 0.0; \ - color: COLOR_BG_ALPHA; \ - rel1 { relative: 0.0 0.0; to: "bg"; } \ - rel2 { relative: 1.0 1.0; to: "bg"; } \ - } \ - ) \ - } \ - programs { \ - program { name: "btn_press"; \ - signal: "mouse,down,1*"; \ - source: "over"; \ - action: STATE_SET "pressed_effect" 0.0; \ - target: "bg_press"; \ - after: "btn_press_anim"; \ - } \ - program { name: "btn_press_anim"; \ - action: STATE_SET "pressed" 0.0; \ - target: "bg_press"; \ - transition: TRANSITION_GLIDE(0.15); \ - } \ - program { name: "btn_unpress_anim"; \ - action: STATE_SET "default" 0.0; \ - target: "bg_press"; \ - transition: TRANSITION_GLIDE(0.45); \ - } \ - program { name: "btn_unpress"; \ - signal: "mouse,up,1"; \ - source: "over"; \ - action: SIGNAL_EMIT "elm,action,unpress" ""; \ - after: "btn_unpress_anim"; \ - } \ - program { name: "btn_clicked"; \ - signal: "mouse,clicked,1"; \ - source: "over"; \ - action: SIGNAL_EMIT "clicked" "reply_btn"; \ - after: "touch_snd"; \ - } \ - program { name: "touch_snd"; \ - action: RUN_PLUGIN "touch_sound"; \ - } \ - } \ -} \ - -EC_REPLY_BUTTON("call_back", IMG_SRC_DIR/"call_end_call.png") -EC_REPLY_BUTTON("message_button", IMG_SRC_DIR/"call_end_message.png") - group { name: "end_call_view_ly"; images { image: IMG_SRC_DIR/"background.png" COMP; diff --git a/res/edje/call_theme.edc b/res/edje/call_theme.edc index 54fed21..3c1e41a 100644 --- a/res/edje/call_theme.edc +++ b/res/edje/call_theme.edc @@ -38,6 +38,14 @@ #define TOGGLE_BTN_MIN_SIZE 90 90 +#define END_CALL_REPLY_BTN_HEIGHT 190 +#define END_CALL_REPLY_BTN_ICON_PAD_TOP 36 +#define END_CALL_REPLY_BTN_ICON_DIMENT 64 +#define END_CALL_REPLY_BTN_TXT_HEIGHT 38 +#define END_CALL_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON 20 +#define END_CALL_REPLY_BTN_TXT_PAD_TOP (END_CALL_REPLY_BTN_ICON_PAD_TOP + END_CALL_REPLY_BTN_ICON_DIMENT + END_CALL_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON) +#define END_CALL_REPLY_BTN_ICON_SIZE END_CALL_REPLY_BTN_ICON_DIMENT END_CALL_REPLY_BTN_ICON_DIMENT + #define STYLE_TAGS \ tag: "br" "\n";\ tag: "ps" "ps";\ @@ -45,8 +53,16 @@ tag: "b" "+ font_weight=Bold"; styles { - style { name: "active_noti_btn_txt"; - base: "align=center valign=center color=#ffffffff font=Tizen:style=Regular font_size=40 text_class=tizen ellipsis=1.0"; + style { name: "active_noti_btn"; + base: "font="VC_FONT_REGULAR" font_size=40 text_class=tizen color=#ffffffff ellipsis=1.0 align=center valign=center"; + STYLE_TAGS + } + style { name: "held_call_manage_btn"; + base: "font="VC_FONT_REGULAR" font_size=27 text_class=tizen color=#fffafaff ellipsis=1.0 align=center valign=center"; + STYLE_TAGS + } + style { name: "ec_reply_btn"; + base: "font="VC_FONT_REGULAR" font_size=34 text_class=tizen color=#808080ff ellipsis=1.0 align=center valign=center"; STYLE_TAGS } } @@ -56,10 +72,15 @@ styles { images { \ image: img1 COMP; \ } \ + script { \ + public mouse_down = 0; \ + public multi_down = 0; \ + public disabled = 0; \ + public animate = 0; \ + } \ parts { \ part { name: "bg"; \ type: RECT; \ - mouse_events: 1; \ scale: 1; \ description { state: "default" 0.0; \ color_class: "action_bar_bg_norm"; \ @@ -67,7 +88,6 @@ styles { } \ part { name: "bg_press"; \ type: RECT; \ - mouse_events: 1; \ scale: 1; \ description { state: "default" 0.0; \ color_class: "action_bar_bg_norm"; \ @@ -82,6 +102,8 @@ styles { } \ } \ part { name: "content_image"; \ + type: IMAGE; \ + scale: 1; \ description { state: "default" 0.0; \ image.normal: img1; \ aspect: 0.5 1.0; \ @@ -98,7 +120,6 @@ styles { } \ part { name: "elm.text"; \ type: TEXT; \ - mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ fixed: 1 1; \ @@ -120,75 +141,144 @@ styles { } \ part { name: "over"; \ type: RECT; \ - mouse_events: 1; \ - repeat_events: 1; \ - ignore_flags: ON_HOLD; \ - description { state: "default" 0.0; \ - color: COLOR_BG_ALPHA; \ - rel1 { relative: 0.25 0.1; } \ - rel2 { relative: 0.75 0.9; } \ - } \ - } \ - part { name: "disabler"; \ - type: RECT; \ + scale: 1; \ description { state: "default" 0.0; \ color: COLOR_BG_ALPHA; \ - visible: 0; \ - } \ - description { state: "disabled" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ } \ } \ } \ programs { \ - program { name: "btn_press"; \ - signal: "mouse,down,1*"; \ - source: "over"; \ + program { name: "pressed_effect"; \ action: STATE_SET "pressed_effect" 0.0; \ target: "bg_press"; \ - after: "btn_press_anim"; \ + after: "pressed_effect2"; \ } \ - program { name: "btn_press_anim"; \ + program { name: "pressed_effect2"; \ action: STATE_SET "pressed" 0.0; \ target: "bg_press"; \ transition: TRANSITION_GLIDE(0.15); \ + after: "pressed_effect3"; \ + } \ + program { name: "pressed_effect3"; \ + script { \ + set_int(animate, 0); \ + } \ + } \ + program { name: "delay_unpressed_effect"; \ + in: 0.1 0.0; \ + after: "unpressed_effect"; \ + } \ + program { name: "unpressed_effect"; \ + script { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"unpressed_effect2"); \ + } else { \ + run_program(PROGRAM:"disabled_effect2"); \ + run_program(PROGRAM:"disabled_effect3"); \ + } \ + } \ } \ - program { name: "btn_unpress_anim"; \ + program { name: "unpressed_effect2"; \ action: STATE_SET "default" 0.0; \ target: "bg_press"; \ transition: TRANSITION_GLIDE(0.45); \ } \ - program { name: "btn_unpress"; \ + program { name: "disabled_effect2"; \ + action: STATE_SET "disabled" 0.0; \ + target: "elm.text"; \ + target: "content_image"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "disabled_effect3"; \ + action: STATE_SET "default" 0.0; \ + target: "bg_press"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "pressed"; \ + signal: "mouse,down,1*"; \ + source: "over"; \ + script { \ + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { \ + stop_program(PROGRAM:"delay_unpressed_effect"); \ + set_int(mouse_down, 1); \ + set_int(animate, 1); \ + emit("elm,action,press", ""); \ + run_program(PROGRAM:"pressed_effect"); \ + } \ + } \ + } \ + program { name: "unpressed"; \ signal: "mouse,up,1"; \ source: "over"; \ - action: SIGNAL_EMIT "elm,action,unpress" ""; \ - after: "btn_unpress_anim"; \ + script { \ + if (get_int(mouse_down) == 1) { \ + set_int(mouse_down, 0); \ + if (get_int(animate) == 0) { \ + run_program(PROGRAM:"unpressed_effect"); \ + } else { \ + set_state(PART:"bg_press", "pressed", 0.0); \ + set_int(animate, 0); \ + run_program(PROGRAM:"delay_unpressed_effect"); \ + } \ + emit("elm,action,unpress", ""); \ + } \ + } \ } \ - program { name: "clicked"; \ + program { name: "touch_snd"; \ signal: "mouse,clicked,1"; \ source: "over"; \ + script { \ + if (get_int(multi_down) == 0) { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"touch_sound"); \ + run_program(PROGRAM:"clicked_signal"); \ + } \ + } \ + } \ + } \ + program { name: "touch_sound"; \ + action: RUN_PLUGIN "touch_sound"; \ + } \ + program { name: "clicked_signal"; \ + in: 0.001 0.0; \ action: SIGNAL_EMIT "elm,action,click" ""; \ - after: "touch_snd"; \ } \ program { name: "disable"; \ signal: "elm,state,disabled"; \ source: "elm"; \ - action: STATE_SET "disabled" 0.0; \ - target: "elm.text"; \ - target: "content_image"; \ - target: "disabler"; \ + script { \ + set_int(disabled, 1); \ + if (get_int(animate) == 1) return; \ + set_state(PART:"bg_press", "default", 0.0); \ + set_state(PART:"elm.text", "disabled", 0.0); \ + set_state(PART:"content_image", "disabled", 0.0); \ + } \ } \ program { name: "enable"; \ signal: "elm,state,enabled"; \ source: "elm"; \ - action: STATE_SET "default" 0.0; \ - target: "elm.text"; \ - target: "content_image"; \ - target: "disabler"; \ + script { \ + set_int(disabled, 0); \ + set_state(PART:"bg_press", "default", 0.0); \ + set_state(PART:"elm.text", "default", 0.0); \ + set_state(PART:"content_image", "default", 0.0); \ + } \ } \ - program { name: "touch_snd"; \ - action: RUN_PLUGIN "touch_sound"; \ + program { name: "multi_down"; \ + signal: "elm,action,multi,down"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 1); \ + } \ + } \ + program { name: "multi_up"; \ + signal: "elm,action,multi,up"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 0); \ + } \ } \ } \ } @@ -200,13 +290,15 @@ styles { image: ICON_IMG_PATH"/call_onoff_bar.#.png" COMP; \ } \ script { \ + public mouse_down = 0; \ + public multi_down = 0; \ public disabled = 0; \ + public animate = 0; \ public activated = 0; \ } \ parts { \ part { name: "bg"; \ type: RECT; \ - mouse_events: 1; \ scale: 1; \ description { state: "default" 0.0; \ visible: 1; \ @@ -215,7 +307,6 @@ styles { } \ part { name: "bg_press"; \ type: RECT; \ - mouse_events: 1; \ scale: 1; \ description { state: "default" 0.0; \ color_class: "action_bar_bg_norm"; \ @@ -230,6 +321,8 @@ styles { } \ } \ part { name: "content_image"; \ + type: IMAGE; \ + scale: 1; \ description { state: "default" 0.0; \ image.normal: img1; \ aspect: 0.5 1.0; \ @@ -250,7 +343,6 @@ styles { } \ part { name: "elm.text"; \ type: TEXT; \ - mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ fixed: 1 1; \ @@ -275,6 +367,8 @@ styles { } \ } \ part { name: "toggle_bar_image"; \ + type: IMAGE; \ + scale: 1; \ description { state: "default" 0.0; \ image { \ normal: ICON_IMG_PATH"/call_onoff_bar.#.png"; \ @@ -296,77 +390,128 @@ styles { } \ part { name: "over"; \ type: RECT; \ - mouse_events: 1; \ - repeat_events: 1; \ - ignore_flags: ON_HOLD; \ - description { state: "default" 0.0; \ - color: COLOR_BG_ALPHA; \ - rel1 { relative: 0.25 0.1; } \ - rel2 { relative: 0.75 0.9; } \ - } \ - } \ - part { name: "disabler"; \ - type: RECT; \ + scale: 1; \ description { state: "default" 0.0; \ color: COLOR_BG_ALPHA; \ - visible: 0; \ - } \ - description { state: "disabled" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ } \ } \ } \ programs { \ - program { name: "btn_press"; \ - signal: "mouse,down,1*"; \ - source: "over"; \ + program { name: "pressed_effect"; \ action: STATE_SET "pressed_effect" 0.0; \ target: "bg_press"; \ - after: "btn_press_anim"; \ + after: "pressed_effect2"; \ } \ - program { name: "btn_press_anim"; \ + program { name: "pressed_effect2"; \ action: STATE_SET "pressed" 0.0; \ target: "bg_press"; \ transition: TRANSITION_GLIDE(0.15); \ + after: "pressed_effect3"; \ + } \ + program { name: "pressed_effect3"; \ + script { \ + set_int(animate, 0); \ + } \ + } \ + program { name: "delay_unpressed_effect"; \ + in: 0.1 0.0; \ + after: "unpressed_effect"; \ + } \ + program { name: "unpressed_effect"; \ + script { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"unpressed_effect2"); \ + } else { \ + run_program(PROGRAM:"disabled_effect2"); \ + run_program(PROGRAM:"disabled_effect3"); \ + } \ + } \ } \ - program { name: "btn_unpress_anim"; \ + program { name: "unpressed_effect2"; \ action: STATE_SET "default" 0.0; \ target: "bg_press"; \ transition: TRANSITION_GLIDE(0.45); \ } \ - program { name: "btn_unpress"; \ + program { name: "disabled_effect2"; \ + action: STATE_SET "disabled" 0.0; \ + target: "elm.text"; \ + target: "content_image"; \ + target: "toggle_bar_image"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "disabled_effect3"; \ + action: STATE_SET "default" 0.0; \ + target: "bg_press"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "pressed"; \ + signal: "mouse,down,1*"; \ + source: "over"; \ + script { \ + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { \ + stop_program(PROGRAM:"delay_unpressed_effect"); \ + set_int(mouse_down, 1); \ + set_int(animate, 1); \ + emit("elm,action,press", ""); \ + run_program(PROGRAM:"pressed_effect"); \ + } \ + } \ + } \ + program { name: "unpressed"; \ signal: "mouse,up,1"; \ source: "over"; \ - action: SIGNAL_EMIT "elm,action,unpress" ""; \ - after: "btn_unpress_anim"; \ + script { \ + if (get_int(mouse_down) == 1) { \ + set_int(mouse_down, 0); \ + if (get_int(animate) == 0) { \ + run_program(PROGRAM:"unpressed_effect"); \ + } else { \ + set_state(PART:"bg_press", "pressed", 0.0); \ + set_int(animate, 0); \ + run_program(PROGRAM:"delay_unpressed_effect"); \ + } \ + emit("elm,action,unpress", ""); \ + } \ + } \ } \ program { name: "touch_snd"; \ signal: "mouse,clicked,1"; \ source: "over"; \ + script { \ + if (get_int(multi_down) == 0) { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"touch_sound"); \ + run_program(PROGRAM:"clicked_signal"); \ + } \ + } \ + } \ + } \ + program { name: "touch_sound"; \ action: RUN_PLUGIN "touch_sound"; \ - after: button_unclick3; \ } \ - program { name: "button_unclick3"; \ + program { name: "clicked_signal"; \ + in: 0.001 0.0; \ action: SIGNAL_EMIT "elm,action,click" ""; \ } \ program { name: "disable"; \ signal: "elm,state,disabled"; \ source: "elm"; \ script { \ - if (get_int(disabled) == 0) { \ - set_state(PART:"elm.text", "disabled", 0.0); \ - set_state(PART:"content_image", "disabled", 0.0); \ - set_state(PART:"toggle_bar_image", "disabled", 0.0); \ - } \ - set_state(PART:"disabler", "disabled", 0.0); \ set_int(disabled, 1); \ + if (get_int(animate) == 1) return; \ + set_state(PART:"bg_press", "default", 0.0); \ + set_state(PART:"elm.text", "disabled", 0.0); \ + set_state(PART:"content_image", "disabled", 0.0); \ + set_state(PART:"toggle_bar_image", "disabled", 0.0); \ } \ } \ program { name: "enable"; \ signal: "elm,state,enabled"; \ source: "elm"; \ script { \ + set_int(disabled, 0); \ if (get_int(activated) == 0) { \ set_state(PART:"elm.text", "default", 0.0); \ set_state(PART:"content_image", "default", 0.0); \ @@ -376,8 +521,21 @@ styles { set_state(PART:"content_image", "pressed", 0.0); \ set_state(PART:"toggle_bar_image", "pressed", 0.0); \ } \ - set_state(PART:"disabler", "default", 0.0); \ - set_int(disabled, 0); \ + set_state(PART:"bg_press", "default", 0.0); \ + } \ + } \ + program { name: "multi_down"; \ + signal: "elm,action,multi,down"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 1); \ + } \ + } \ + program { name: "multi_up"; \ + signal: "elm,action,multi,up"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 0); \ } \ } \ program { name: "activate"; \ @@ -621,6 +779,7 @@ styles { } \ part { name: "tizen_vg_shape_clipper2"; \ type: RECT; \ + scale: 1; \ description { state: "default" 0.0; \ visible: 0; \ color: COLOR_BG_ALPHA; \ @@ -762,24 +921,25 @@ styles { to: "padding_right_bottom"; \ } \ text { \ - style: "active_noti_btn_txt"; \ + style: "active_noti_btn"; \ max: 1 0; \ } \ color: 250 250 250 255; \ } \ description { state: "pressed" 0.0; \ inherit: "default" 0.0; \ - text.style: "active_noti_btn_txt"; \ + text.style: "active_noti_btn"; \ color: 250 250 250 255; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ - text.style: "active_noti_btn_txt"; \ + text.style: "active_noti_btn"; \ color: 250 250 250 163; \ } \ } \ part { name: "clipper"; \ type: RECT; \ + scale: 1; \ description { state: "default" 0.0; \ } \ description { state: "pressed" 0.0; \ @@ -791,6 +951,7 @@ styles { } \ part { name: "event"; \ type: RECT; \ + scale: 1; \ description { state: "default" 0.0; \ rel1.to: "tizen_vg_shape"; \ rel2.to: "tizen_vg_shape"; \ @@ -1010,7 +1171,7 @@ styles { signal: "elm,action,multi,down"; \ source: "elm"; \ script { \ - set_int(multi_down, 1); \ + set_int(multi_down, 1); \ } \ } \ program { name: "multi_up"; \ @@ -1052,302 +1213,572 @@ styles { } #define CIRCLE_BTN_WITH_ICON(grp_name, btn_size, btn_bg_color_norm, btn_bg_color_dim, btn_icon_path, btn_icon_color_norm) \ -group { name: "elm/button/base/"grp_name; \ - data.item: "vector_ux" "circle"; \ - images { \ - image: btn_icon_path COMP; \ - } \ - script { \ - public mouse_down = 0; \ - public multi_down = 0; \ - public disabled = 0; \ - public animate = 0; \ - } \ - parts { \ - part { name: "base"; \ - scale: 1; \ - type: SPACER; \ - description { state: "default" 0.0; \ - min: btn_size btn_size; \ - } \ + group { name: "elm/button/base/"grp_name; \ + data.item: "vector_ux" "circle"; \ + images { \ + image: btn_icon_path COMP; \ } \ - part { name: "tizen_vg_shape"; \ - type: SWALLOW; \ - clip_to: "tizen_vg_shape_clipper"; \ - scale: 1; \ - description { state: "default" 0.0; \ - min: btn_size btn_size; \ - rel1.relative: 0.5 0; \ - rel2.relative: 0.5 0; \ - align: 0.5 0; \ - fixed: 1 1; \ - } \ + script { \ + public mouse_down = 0; \ + public multi_down = 0; \ + public disabled = 0; \ + public animate = 0; \ } \ - part { name: "tizen_vg_shape_clipper"; \ - type: RECT; \ - description { state: "default" 0.0; \ - color_class: btn_bg_color_norm; \ + parts { \ + part { name: "base"; \ + scale: 1; \ + type: SPACER; \ + description { state: "default" 0.0; \ + min: btn_size btn_size; \ + } \ } \ - description { state: "disabled" 0.0; \ - color_class: btn_bg_color_dim; \ + part { name: "tizen_vg_shape"; \ + type: SWALLOW; \ + clip_to: "tizen_vg_shape_clipper"; \ + scale: 1; \ + description { state: "default" 0.0; \ + min: btn_size btn_size; \ + rel1.relative: 0.5 0; \ + rel2.relative: 0.5 0; \ + align: 0.5 0; \ + fixed: 1 1; \ + } \ } \ - } \ - part { name: "effect_spacer"; \ - type: SPACER; \ - description { state: "default" 0.0; \ - rel1.to: "tizen_vg_shape"; \ - rel2.to: "tizen_vg_shape"; \ + part { name: "tizen_vg_shape_clipper"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + color_class: btn_bg_color_norm; \ + } \ + description { state: "disabled" 0.0; \ + color_class: btn_bg_color_dim; \ + } \ } \ - } \ - part { name: "tizen_vg_shape2"; \ - type: SWALLOW; \ - clip_to: "tizen_vg_shape_clipper2"; \ - scale: 1; \ - description { state: "default" 0.0; \ - rel1.to: "effect_spacer"; \ - rel2.to: "effect_spacer"; \ - rel1.relative: 0.15 0.15; \ - rel2.relative: 0.85 0.85; \ - } \ - description { state: "ready" 0.0; \ - inherit: "default" 0.0; \ - } \ - description { state: "pressed" 0.0; \ - inherit: "default" 0.0; \ - rel1.relative: 0.0 0.0; \ - rel2.relative: 1.0 1.0; \ + part { name: "effect_spacer"; \ + type: SPACER; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "tizen_vg_shape"; \ + rel2.to: "tizen_vg_shape"; \ + } \ } \ - } \ - part { name: "tizen_vg_shape_clipper2"; \ - type: RECT; \ - description { state: "default" 0.0; \ - visible: 0; \ - color: COLOR_BG_ALPHA; \ + part { name: "tizen_vg_shape2"; \ + type: SWALLOW; \ + clip_to: "tizen_vg_shape_clipper2"; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "effect_spacer"; \ + rel2.to: "effect_spacer"; \ + rel1.relative: 0.15 0.15; \ + rel2.relative: 0.85 0.85; \ + } \ + description { state: "ready" 0.0; \ + inherit: "default" 0.0; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + rel1.relative: 0.0 0.0; \ + rel2.relative: 1.0 1.0; \ + } \ + } \ + part { name: "tizen_vg_shape_clipper2"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + color: COLOR_BG_ALPHA; \ + } \ + description { state: "ready" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + description { state: "pressed" 0.0; \ + color: 0 0 0 77; \ + } \ } \ - description { state: "ready" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ + part { name: "elm.icon"; \ + type: IMAGE; \ + scale: 1; \ + clip_to: "clipper"; \ + description { state: "default" 0.0; \ + min: CIRCLE_BTN_DEF_ICON_SIZE; \ + aspect_preference: SOURCE; \ + color_class: btn_icon_color_norm; \ + fixed: 1 1; \ + rel1.to: "tizen_vg_shape"; \ + rel2.to: "tizen_vg_shape"; \ + rel1.relative: 0.5 0.5; \ + rel2.relative: 0.5 0.5; \ + image { \ + normal: btn_icon_path; \ + middle: DEFAULT; \ + } \ + } \ } \ - description { state: "pressed" 0.0; \ - color: 0 0 0 77; \ + part { name: "clipper"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + } \ + description { state: "pressed" 0.0; \ + } \ + description { state: "disabled" 0.0; \ + color: 255 255 255 127; \ + } \ } \ - } \ - part { name: "elm.icon"; \ - type: IMAGE; \ - scale: 1; \ - clip_to: "clipper"; \ - description { state: "default" 0.0; \ - min: CIRCLE_BTN_DEF_ICON_SIZE; \ - aspect_preference: SOURCE; \ - color_class: btn_icon_color_norm; \ - fixed: 1 1; \ - rel1.to: "tizen_vg_shape"; \ - rel2.to: "tizen_vg_shape"; \ - rel1.relative: 0.5 0.5; \ - rel2.relative: 0.5 0.5; \ - image { \ - normal: btn_icon_path; \ - middle: DEFAULT; \ + part { name: "event"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "tizen_vg_shape"; \ + rel2.to: "elm.icon"; \ + color: COLOR_BG_ALPHA; \ } \ } \ } \ - part { name: "clipper"; \ - type: RECT; \ - description { state: "default" 0.0; \ + programs { \ + program { name: "pressed_effect"; \ + action: STATE_SET "ready" 0.0; \ + target: "tizen_vg_shape2"; \ + target: "tizen_vg_shape_clipper2"; \ + after: "pressed_effect2"; \ } \ - description { state: "pressed" 0.0; \ + program { name: "pressed_effect2"; \ + action: STATE_SET "pressed" 0.0; \ + target: "tizen_vg_shape2"; \ + target: "clipper"; \ + target: "tizen_vg_shape_clipper2"; \ + transition: TRANSITION_GLIDE(0.15); \ + after: "pressed_effect3"; \ + } \ + program { name: "pressed_effect3"; \ + script { \ + set_int(animate, 0); \ + } \ } \ - description { state: "disabled" 0.0; \ - color: 255 255 255 127; \ + program { name: "delay_unpressed_effect"; \ + in: 0.1 0.0; \ + after: "unpressed_effect"; \ } \ - } \ - part { name: "event"; \ - type: RECT; \ - description { state: "default" 0.0; \ - rel1.to: "tizen_vg_shape"; \ - rel2.to: "elm.icon"; \ - color: COLOR_BG_ALPHA; \ + program { name: "unpressed_effect"; \ + script { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"unpressed_effect2"); \ + } else { \ + run_program(PROGRAM:"disabled_effect"); \ + run_program(PROGRAM:"disabled_effect3"); \ + } \ + } \ + } \ + program { name: "unpressed_effect2"; \ + action: STATE_SET "ready" 0.0; \ + target: "tizen_vg_shape_clipper2"; \ + transition: TRANSITION_GLIDE(0.45); \ + after: "unpressed_effect4"; \ + } \ + program { name: "unpressed_effect4"; \ + action: STATE_SET "default" 0.0; \ + target: "clipper"; \ + after: "finished_animation"; \ + } \ + program { name: "disabled_effect"; \ + action: STATE_SET "ready" 0.0; \ + target: "tizen_vg_shape_clipper2"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "disabled_effect3"; \ + action: STATE_SET "disabled" 0.0; \ + target: "clipper"; \ + target: "tizen_vg_shape_clipper"; \ + transition: TRANSITION_GLIDE(0.45); \ + after: "finished_animation"; \ + } \ + program { name: "finished_animation"; \ + action: STATE_SET "default" 0.0; \ + target: "tizen_vg_shape2"; \ + target: "tizen_vg_shape_clipper2"; \ + } \ + program { name: "pressed"; \ + signal: "mouse,down,1*"; \ + source: "event"; \ + script { \ + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { \ + stop_program(PROGRAM:"delay_unpressed_effect"); \ + set_int(mouse_down, 1); \ + set_int(animate, 1); \ + emit("elm,action,press", ""); \ + run_program(PROGRAM:"pressed_effect"); \ + } \ + } \ + } \ + program { name: "unpressed"; \ + signal: "mouse,up,1"; \ + source: "event"; \ + script { \ + if (get_int(mouse_down) == 1) { \ + set_int(mouse_down, 0); \ + if (get_int(disabled) == 0) { \ + if (get_int(animate) == 0) { \ + emit("elm,action,unpress", ""); \ + run_program(PROGRAM:"unpressed_effect"); \ + } else { \ + set_state(PART:"clipper", "pressed", 0.0); \ + set_state(PART:"tizen_vg_shape2", "pressed", 0.0); \ + set_state(PART:"tizen_vg_shape_clipper2", "pressed", 0.0); \ + set_int(animate, 0); \ + run_program(PROGRAM:"delay_unpressed_effect"); \ + } \ + } \ + } \ + } \ + } \ + program { name: "touch_snd"; \ + signal: "mouse,clicked,1"; \ + source: "event"; \ + script { \ + if (get_int(multi_down) == 0) { \ + if (get_int(disabled) == 0) { \ + run_program(PROGRAM:"touch_sound"); \ + run_program(PROGRAM:"clicked_signal"); \ + } \ + } \ + } \ + } \ + program { name: "touch_sound"; \ + action: RUN_PLUGIN "touch_sound"; \ + } \ + program { name: "clicked_signal"; \ + in: 0.001 0.0; \ + action: SIGNAL_EMIT "elm,action,click" ""; \ + } \ + program { name: "disable"; \ + signal: "elm,state,disabled"; \ + source: "elm"; \ + script { \ + set_int(disabled, 1); \ + if (get_int(animate) == 1) return; \ + set_state(PART:"clipper", "disabled", 0.0); \ + set_state(PART:"tizen_vg_shape_clipper", "disabled", 0.0); \ + } \ + } \ + program { name: "enable"; \ + signal: "elm,state,enabled"; \ + source: "elm"; \ + script { \ + set_int(disabled, 0); \ + set_state(PART:"clipper", "default", 0.0); \ + set_state(PART:"tizen_vg_shape_clipper", "default", 0.0); \ + } \ + } \ + program { name: "multi_down"; \ + signal: "elm,action,multi,down"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 1); \ + } \ + } \ + program { name: "multi_up"; \ + signal: "elm,action,multi,up"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 0); \ + } \ + } \ + program { name: "pass_event_enable"; \ + signal: "elm,event,pass,enabled"; \ + source: "elm"; \ + script { \ + set_mouse_events(PART:"event", 0); \ + } \ + } \ + program { name: "pass_event_disable"; \ + signal: "elm,event,pass,disabled"; \ + source:"elm"; \ + script { \ + set_mouse_events(PART:"event", 1); \ + } \ + } \ + program { name: "repeat_event_enable"; \ + signal: "elm,event,repeat,enabled"; \ + source: "elm"; \ + script { \ + set_mouse_events(PART:"event", 1); \ + } \ + } \ + program { name: "repeat_event_disable"; \ + signal: "elm,event,repeat,disabled"; \ + source:"elm"; \ + script { \ + set_mouse_events(PART:"event", 0); \ + } \ } \ } \ + } + +#define PRESS_EFFECT_DEFAULT_SCRIPT_VAR \ + public mouse_down = 0; \ + public multi_down = 0; \ + public animate = 0; \ + +#define PRESS_EFFECT_DEFAULT_PROGRAMS \ + program { name: "pressed_effect"; \ + action: STATE_SET "pressed_effect" 0.0; \ + target: "bg_press"; \ + after: "pressed_effect2"; \ } \ - programs { \ - program { name: "pressed_effect"; \ - action: STATE_SET "ready" 0.0; \ - target: "tizen_vg_shape2"; \ - target: "tizen_vg_shape_clipper2"; \ - after: "pressed_effect2"; \ - } \ - program { name: "pressed_effect2"; \ - action: STATE_SET "pressed" 0.0; \ - target: "tizen_vg_shape2"; \ - target: "clipper"; \ - target: "tizen_vg_shape_clipper2"; \ - transition: TRANSITION_GLIDE(0.15); \ - after: "pressed_effect3"; \ + program { name: "pressed_effect2"; \ + action: STATE_SET "pressed" 0.0; \ + target: "bg_press"; \ + transition: TRANSITION_GLIDE(0.15); \ + after: "pressed_effect3"; \ + } \ + program { name: "pressed_effect3"; \ + script { \ + set_int(animate, 0); \ } \ - program { name: "pressed_effect3"; \ - script { \ - set_int(animate, 0); \ + } \ + program { name: "delay_unpressed_effect"; \ + in: 0.1 0.0; \ + after: "unpressed_effect"; \ + } \ + program { name: "unpressed_effect"; \ + action: STATE_SET "default" 0.0; \ + target: "bg_press"; \ + transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "pressed"; \ + signal: "mouse,down,1*"; \ + source: "over"; \ + script { \ + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0)) { \ + stop_program(PROGRAM:"delay_unpressed_effect"); \ + set_int(mouse_down, 1); \ + set_int(animate, 1); \ + emit("elm,action,press", ""); \ + run_program(PROGRAM:"pressed_effect"); \ } \ } \ - program { name: "delay_unpressed_effect"; \ - in: 0.1 0.0; \ - after: "unpressed_effect"; \ - } \ - program { name: "unpressed_effect"; \ - script { \ - if (get_int(disabled) == 0) { \ - run_program(PROGRAM:"unpressed_effect2"); \ + } \ + program { name: "unpressed"; \ + signal: "mouse,up,1"; \ + source: "over"; \ + script { \ + if (get_int(mouse_down) == 1) { \ + set_int(mouse_down, 0); \ + if (get_int(animate) == 0) { \ + run_program(PROGRAM:"unpressed_effect"); \ } else { \ - run_program(PROGRAM:"disabled_effect"); \ - run_program(PROGRAM:"disabled_effect3"); \ + set_state(PART:"bg_press", "pressed", 0.0); \ + set_int(animate, 0); \ + run_program(PROGRAM:"delay_unpressed_effect"); \ } \ + emit("elm,action,unpress", ""); \ } \ } \ - program { name: "unpressed_effect2"; \ - action: STATE_SET "ready" 0.0; \ - target: "tizen_vg_shape_clipper2"; \ - transition: TRANSITION_GLIDE(0.45); \ - after: "unpressed_effect4"; \ - } \ - program { name: "unpressed_effect4"; \ - action: STATE_SET "default" 0.0; \ - target: "clipper"; \ - after: "finished_animation"; \ + } \ + program { name: "touch_snd"; \ + signal: "mouse,clicked,1"; \ + source: "over"; \ + script { \ + if (get_int(multi_down) == 0) { \ + run_program(PROGRAM:"touch_sound"); \ + run_program(PROGRAM:"clicked_signal"); \ + } \ + } \ + } \ + program { name: "touch_sound"; \ + action: RUN_PLUGIN "touch_sound"; \ + } \ + program { name: "clicked_signal"; \ + in: 0.001 0.0; \ + action: SIGNAL_EMIT "elm,action,click" ""; \ + } \ + program { name: "multi_down"; \ + signal: "elm,action,multi,down"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 1); \ } \ - program { name: "disabled_effect"; \ - action: STATE_SET "ready" 0.0; \ - target: "tizen_vg_shape_clipper2"; \ - transition: TRANSITION_GLIDE(0.45); \ + } \ + program { name: "multi_up"; \ + signal: "elm,action,multi,up"; \ + source: "elm"; \ + script { \ + set_int(multi_down, 0); \ } \ - program { name: "disabled_effect3"; \ - action: STATE_SET "disabled" 0.0; \ - target: "clipper"; \ - target: "tizen_vg_shape_clipper"; \ - transition: TRANSITION_GLIDE(0.45); \ - after: "finished_animation"; \ + } \ + +#define SPLIT_CALL_MANAGE_BTN(grp_name, bg_image, icon, bg_color_norm, bg_color_press) \ + group { name: "elm/button/base/"grp_name; \ + images { \ + image: bg_image COMP; \ + image: icon COMP; \ } \ - program { name: "finished_animation"; \ - action: STATE_SET "default" 0.0; \ - target: "tizen_vg_shape2"; \ - target: "tizen_vg_shape_clipper2"; \ + script { \ + PRESS_EFFECT_DEFAULT_SCRIPT_VAR \ } \ - program { name: "pressed"; \ - signal: "mouse,down,1*"; \ - source: "event"; \ - script { \ - if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { \ - stop_program(PROGRAM:"delay_unpressed_effect"); \ - set_int(mouse_down, 1); \ - set_int(animate, 1); \ - emit("elm,action,press", ""); \ - run_program(PROGRAM:"pressed_effect"); \ + parts { part { name: "bg"; \ + type: IMAGE; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + image.normal: bg_image; \ + color_class: bg_color_norm; \ } \ } \ - } \ - program { name: "unpressed"; \ - signal: "mouse,up,1"; \ - source: "event"; \ - script { \ - if (get_int(mouse_down) == 1) { \ - set_int(mouse_down, 0); \ - if (get_int(disabled) == 0) { \ - if (get_int(animate) == 0) { \ - emit("elm,action,unpress", ""); \ - run_program(PROGRAM:"unpressed_effect"); \ - } else { \ - set_state(PART:"clipper", "pressed", 0.0); \ - set_state(PART:"tizen_vg_shape2", "pressed", 0.0); \ - set_state(PART:"tizen_vg_shape_clipper2", "pressed", 0.0); \ - set_int(animate, 0); \ - run_program(PROGRAM:"delay_unpressed_effect"); \ - } \ - } \ + part { name: "bg_press"; \ + type: IMAGE; \ + scale: 1; \ + mouse_events: 1; \ + description { state: "default" 0.0; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ + image.normal: bg_image; \ + color_class: "transparent_black"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: bg_color_press; \ + } \ + description { state: "pressed_effect" 0.0; \ + inherit: "pressed" 0.0; \ + rel1 { relative: 0.15 0.15; to: "bg"; } \ + rel2 { relative: 0.85 0.85; to: "bg"; } \ } \ } \ - } \ - program { name: "touch_snd"; \ - signal: "mouse,clicked,1"; \ - source: "event"; \ - script { \ - if (get_int(multi_down) == 0) { \ - if (get_int(disabled) == 0) { \ - run_program(PROGRAM:"touch_sound"); \ - run_program(PROGRAM:"clicked_signal"); \ - } \ + part { name: "icon"; \ + type: IMAGE; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + rel1.relative: MS_BTN_ICON_L MS_BTN_ICON_T; \ + rel2.relative: MS_BTN_ICON_R MS_BTN_ICON_B; \ + image.normal: icon; \ + } \ + } \ + part { name: "text"; \ + type: TEXTBLOCK; \ + scale: 1; \ + description { \ + state: "default" 0.0; \ + rel1 { relative: 0.0 1.0; to_y: "icon"; } \ + rel2.relative: 1.0 MS_BTN_TEXT_B; \ + text.style: "held_call_manage_btn"; \ + } \ + } \ + part { name: "over"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: COLOR_BG_ALPHA; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ } \ } \ } \ - program { name: "touch_sound"; \ - action: RUN_PLUGIN "touch_sound"; \ + programs { \ + PRESS_EFFECT_DEFAULT_PROGRAMS \ } \ - program { name: "clicked_signal"; \ - in: 0.001 0.0; \ - action: SIGNAL_EMIT "elm,action,click" ""; \ + } + +#define END_CALL_REPLY_BTN(grp_name, img_path) \ + group { name: "elm/button/base/"grp_name; \ + images { \ + image: img_path COMP; \ } \ - program { name: "disable"; \ - signal: "elm,state,disabled"; \ - source: "elm"; \ - script { \ - set_int(disabled, 1); \ - if (get_int(animate) == 1) return; \ - set_state(PART:"clipper", "disabled", 0.0); \ - set_state(PART:"tizen_vg_shape_clipper", "disabled", 0.0); \ - } \ + script { \ + PRESS_EFFECT_DEFAULT_SCRIPT_VAR \ } \ - program { name: "enable"; \ - signal: "elm,state,enabled"; \ - source: "elm"; \ - script { \ - set_int(disabled, 0); \ - set_state(PART:"clipper", "default", 0.0); \ - set_state(PART:"tizen_vg_shape_clipper", "default", 0.0); \ + parts { \ + part { name: "bg"; \ + type: RECT; \ + scale: 1 ; \ + description { state: "default" 0.0; \ + min: 0 END_CALL_REPLY_BTN_HEIGHT; \ + color_class: "ec_reply_btn_bg_norm"; \ + } \ } \ - } \ - program { name: "multi_down"; \ - signal: "elm,action,multi,down"; \ - source: "elm"; \ - script { \ - set_int(multi_down, 1); \ + part { "bg_press"; \ + type: RECT; \ + scale: 1 ; \ + description { state: "default" 0.0; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ + color_class: "ec_reply_btn_bg_norm"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "ec_reply_btn_bg_pressed"; \ + } \ + description { state: "pressed_effect" 0.0; \ + inherit: "pressed" 0.0; \ + rel1 { relative: 0.15 0.15; to: "bg"; } \ + rel2 { relative: 0.85 0.85; to: "bg"; } \ + } \ } \ - } \ - program { name: "multi_up"; \ - signal: "elm,action,multi,up"; \ - source: "elm"; \ - script { \ - set_int(multi_down, 0); \ + part { name: "icon.padding.top"; \ + type: SPACER; \ + scale: 1 ; \ + description { state: "default" 0.0; \ + min: 0 END_CALL_REPLY_BTN_ICON_PAD_TOP; \ + fixed: 0 1; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 0.0; to: "bg"; } \ + align: 0.0 0.0; \ + } \ } \ - } \ - program { name: "pass_event_enable"; \ - signal: "elm,event,pass,enabled"; \ - source: "elm"; \ - script { \ - set_mouse_events(PART:"event", 0); \ + part { name: "icon"; \ + type: IMAGE; \ + scale: 1 ; \ + description { state: "default" 0.0; \ + rel1 { relative: 0.0 1.0; to: "icon.padding.top"; } \ + rel2 { relative: 1.0 1.0; to: "icon.padding.top"; } \ + min: END_CALL_REPLY_BTN_ICON_SIZE; \ + max: END_CALL_REPLY_BTN_ICON_SIZE; \ + fixed: 1 1; \ + image.normal: img_path; \ + color_class: "ec_reply_btn_icon"; \ + align: 0.5 0.0; \ + } \ } \ - } \ - program { name: "pass_event_disable"; \ - signal: "elm,event,pass,disabled"; \ - source:"elm"; \ - script { \ - set_mouse_events(PART:"event", 1); \ + part { name: "text.padding.top"; \ + type: SPACER; \ + scale: 1 ; \ + description { state: "default" 0.0; \ + min: 0 END_CALL_REPLY_BTN_TXT_PAD_TOP; \ + fixed: 0 1; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 0.0; to: "bg"; } \ + align: 0.0 0.0; \ + } \ } \ - } \ - program { name: "repeat_event_enable"; \ - signal: "elm,event,repeat,enabled"; \ - source: "elm"; \ - script { \ - set_mouse_events(PART:"event", 1); \ + part { name: "text"; \ + type: TEXTBLOCK; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1 { relative: 0.0 1.0; to: "text.padding.top"; } \ + rel2 { relative: 1.0 1.0; to: "text.padding.top"; } \ + min: 0 END_CALL_REPLY_BTN_TXT_HEIGHT; \ + text { \ + fit: 1 1; \ + style:"ec_reply_btn"; \ + } \ + } \ } \ - } \ - program { name: "repeat_event_disable"; \ - signal: "elm,event,repeat,disabled"; \ - source:"elm"; \ - script { \ - set_mouse_events(PART:"event", 0); \ + part { name: "over"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: COLOR_BG_ALPHA; \ + rel1 { relative: 0.0 0.0; to: "bg"; } \ + rel2 { relative: 1.0 1.0; to: "bg"; } \ + } \ } \ } \ - } \ -} + programs { \ + PRESS_EFFECT_DEFAULT_PROGRAMS \ + } \ + } collections { @@ -1360,29 +1791,29 @@ collections { } } -/* This effect is for buttons of Action bar layout when they are enabled */ +/* Action bar buttons */ ACTION_BTN("callui_action_btn_add", ICON_IMG_PATH"/call_btn_addcall.png") ACTION_BTN("callui_action_btn_keypad", ICON_IMG_PATH"/call_btn_keypad.png") + ACTION_BTN("callui_action_btn_contacts", ICON_IMG_PATH"/call_btn_contacts.png") ACTION_BTN_TOGGLE("callui_action_btn_speaker", ICON_IMG_PATH"/call_btn_volume.png") ACTION_BTN_TOGGLE("callui_action_btn_mute", ICON_IMG_PATH"/call_btn_mute.png") ACTION_BTN_TOGGLE("callui_action_btn_headset", ICON_IMG_PATH"/call_btn_bluetooth.png") - ACTION_BTN("callui_action_btn_contacts", ICON_IMG_PATH"/call_btn_contacts.png") -/* This style is for End button in quickpanel view */ - QP_MC_TOGGLE_BTN(callui_qp_btn_end, "qp_mc_reject_norm", "qp_mc_reject_press", ICON_IMG_PATH"/call_noti_btn_end.png"); - QP_MC_TOGGLE_BTN(callui_qp_btn_call, "qp_mc_accept_norm", "qp_mc_accept_press", ICON_IMG_PATH"/call_noti_btn_send.png"); +/* Quick panel Mini Control accept and reject buttons */ + QP_MC_TOGGLE_BTN("callui_qp_btn_end", "qp_mc_reject_norm", "qp_mc_reject_press", ICON_IMG_PATH"/call_noti_btn_end.png"); + QP_MC_TOGGLE_BTN("callui_qp_btn_call", "qp_mc_accept_norm", "qp_mc_accept_press", ICON_IMG_PATH"/call_noti_btn_send.png"); -/* This style is for mute/unhold button in quickpanel view */ - QP_MC_TOGGLE_BTN(callui_qp_btn_mute, "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_mute.png"); - QP_MC_TOGGLE_BTN(callui_qp_btn_mute_on, "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_mute.png"); +/* Quick panel Mini Control mute button */ + QP_MC_TOGGLE_BTN("callui_qp_btn_mute", "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_mute.png"); + QP_MC_TOGGLE_BTN("callui_qp_btn_mute_on", "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_mute.png"); -/* This style is for speaker/unhold button in quickpanel view */ - QP_MC_TOGGLE_BTN(callui_qp_btn_speaker, "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_speaker.png"); - QP_MC_TOGGLE_BTN(callui_qp_btn_speaker_on, "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_speaker.png"); +/* Quick panel Mini Control speaker button */ + QP_MC_TOGGLE_BTN("callui_qp_btn_speaker", "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_speaker.png"); + QP_MC_TOGGLE_BTN("callui_qp_btn_speaker_on", "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_speaker.png"); -/* This style is for speaker/resume button in quickpanel view */ - QP_MC_TOGGLE_BTN(callui_qp_btn_resume, "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_resume.png"); - QP_MC_TOGGLE_BTN(callui_qp_btn_resume_on, "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_resume.png"); +/* Quick panel Mini Control resume button */ + QP_MC_TOGGLE_BTN("callui_qp_btn_resume", "qp_mc_toogle_norm", "qp_mc_toogle_norm", ICON_IMG_PATH"/call_noti_btn_resume.png"); + QP_MC_TOGGLE_BTN("callui_qp_btn_resume_on", "qp_mc_toogle_off", "qp_mc_toogle_off", ICON_IMG_PATH"/call_noti_btn_resume.png"); /* Active notification buttons */ ACTIVE_NOTI_BTN("callui_active_noti_accept", "active_noti_accept_call", "active_noti_accept_call"); @@ -1395,4 +1826,12 @@ collections { /* Multicall list buttons */ CIRCLE_BTN_WITH_ICON("callui_multi_list_end_call", MULTI_LIST_LIST_ICON_BG_SIZE, "multi_list_btn_end_call", "multi_list_btn_end_call", IMG_SRC_DIR/"call_btn_ic_end.png", "btn_icon_def_color"); CIRCLE_BTN_WITH_ICON("callui_multi_list_split_call", MULTI_LIST_LIST_ICON_BG_SIZE, "multi_list_btn_split_call", "multi_list_btn_split_call", IMG_SRC_DIR/"call_btn_ic_split.png", "btn_icon_def_color"); + +/* Multicall split call manage buttons */ + SPLIT_CALL_MANAGE_BTN("callui_multi_split_merge_btn", IMG_SRC_DIR/"call_multi_hold_btn_merge_bg.png", IMG_SRC_DIR/"call_multi_ic_merge.png", "multi_hold_merge_btn_norm", "multi_hold_merge_btn_press"); + SPLIT_CALL_MANAGE_BTN("callui_multi_split_swap_btn", IMG_SRC_DIR/"call_multi_hold_btn_swap_bg.png", IMG_SRC_DIR/"call_multi_ic_swap.png", "multi_hold_swap_btn_norm", "multi_hold_swap_btn_press"); + +/* End call buttons */ + END_CALL_REPLY_BTN("callui_endcall_callback", IMG_SRC_DIR/"call_end_call.png"); + END_CALL_REPLY_BTN("callui_endcall_message", IMG_SRC_DIR/"call_end_message.png"); } diff --git a/src/callui-display.c b/src/callui-display.c index ac02710..6b783e5 100644 --- a/src/callui-display.c +++ b/src/callui-display.c @@ -233,7 +233,7 @@ callui_result_e _callui_display_set_timeout(callui_display_h disp, callui_displa int timeout_params[CALLUI_TIMEOUT_PARAMS_COUNT] = { 0 }; timeout_params[2] = powerkey_mode; - switch(timeout_type) { + switch (timeout_type) { case CALLUI_DISPLAY_TIMEOUT_SET: timeout_params[0] = 10; timeout_params[1] = 20; diff --git a/src/callui-listeners-collection.c b/src/callui-listeners-collection.c index 24b50a8..51f65bf 100644 --- a/src/callui-listeners-collection.c +++ b/src/callui-listeners-collection.c @@ -172,7 +172,7 @@ callui_result_e _callui_listeners_coll_call_listeners(_callui_listeners_coll_t * _callui_listener_t *data; EINA_LIST_FOREACH(listeners_coll->list, l, data) { - if(data != NULL) { + if (data != NULL) { va_list args; va_start(args, listeners_coll); data->handler(data, args); @@ -210,7 +210,7 @@ callui_result_e _callui_listeners_coll_remove_listener(_callui_listeners_coll_t _callui_listener_t *data; EINA_LIST_FOREACH_SAFE(listeners_coll->list, l, l_next, data) { - if(cb_func == data->cb_func && cb_data == data->cb_data) { + if (cb_func == data->cb_func && cb_data == data->cb_data) { free(data); if (listeners_coll->is_locked) { listeners_coll->is_need_validate = true; diff --git a/src/callui-state-provider.c b/src/callui-state-provider.c index 47ae779..b57da05 100644 --- a/src/callui-state-provider.c +++ b/src/callui-state-provider.c @@ -260,7 +260,7 @@ static callui_result_e __call_data_init(callui_call_data_t *callui_call_data, ca CALLUI_RETURN_VALUE_IF_FAIL(res == CM_ERROR_NONE, _callui_utils_convert_cm_res(res)); callui_call_data->is_dialing = false; - if(call_state == CM_CALL_STATE_DIALING) { + if (call_state == CM_CALL_STATE_DIALING) { callui_call_data->is_dialing = true; } callui_call_data->call_ct_info.person_id = -1; @@ -665,7 +665,7 @@ Eina_List *_callui_stp_get_conference_call_list(callui_state_provider_h stp_h) for (; l != NULL; l = g_slist_next(l)) { callui_conf_call_data_t *conf_call_data = __conf_call_data_create((cm_conf_call_data_t*)l->data); - if(conf_call_data == NULL) { + if (conf_call_data == NULL) { err("Create conference call data failed."); res = CALLUI_RESULT_ALLOCATION_FAIL; break; diff --git a/src/callui-view-callend.c b/src/callui-view-callend.c index e0fd114..7fcebdb 100644 --- a/src/callui-view-callend.c +++ b/src/callui-view-callend.c @@ -27,8 +27,9 @@ #include "callui-state-provider.h" #include "callui-dpm.h" -#define CALLUI_GROUP_CALL_BACK_BTN "call_back" -#define CALLUI_GROUP_MSG_BTN "message_button" +#define CALLUI_GROUP_CALL_BACK_BTN "callui_endcall_callback" +#define CALLUI_GROUP_MSG_BTN "callui_endcall_message" + #define CALLUI_GROUP_ENDCALL_VIEW_LY "end_call_view_ly" #define CALLUI_APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact" #define CALLUI_OUTGOING_CALL_TIME_DURATION_STR "00:00" @@ -65,8 +66,8 @@ static callui_result_e __callui_view_callend_ondestroy(call_view_data_base_t *vi static callui_result_e __create_main_content(callui_view_callend_h vd, Evas_Object *parent); static callui_result_e __update_displayed_data(callui_view_callend_h vd); -static void __call_back_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source); -static void __msg_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __call_back_btn_click_cb(void *data, Evas_Object *obj, void *event_info); +static void __msg_btn_click_cb(void *data, Evas_Object *obj, void *event_info); static char *__endcall_gl_item_text_cb(void *data, Evas_Object *obj, const char *part); @@ -214,30 +215,32 @@ static callui_result_e __create_main_content(callui_view_callend_h vd, Evas_Obje static Evas_Object *__create_call_back_btn(callui_view_callend_h vd) { - Evas_Object *button_call_back = _callui_load_edj(vd->reply_btns_box, CALLUI_CALL_EDJ_PATH, CALLUI_GROUP_CALL_BACK_BTN); - CALLUI_RETURN_NULL_IF_FAIL(button_call_back); - edje_object_signal_callback_add(_EDJ(button_call_back), "clicked", "reply_btn", __call_back_btn_click_cb, vd); - elm_object_translatable_part_text_set(button_call_back, "text", "IDS_CALL_BUTTON_CALL"); + Evas_Object *callback_btn = elm_button_add(vd->reply_btns_box); + CALLUI_RETURN_NULL_IF_FAIL(callback_btn); + elm_object_style_set(callback_btn, CALLUI_GROUP_CALL_BACK_BTN); + evas_object_smart_callback_add(callback_btn, "clicked", __call_back_btn_click_cb, vd); + elm_object_translatable_part_text_set(callback_btn, "text", "IDS_CALL_BUTTON_CALL"); - evas_object_size_hint_weight_set(button_call_back, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(button_call_back, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(button_call_back); + evas_object_size_hint_weight_set(callback_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(callback_btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(callback_btn); - return button_call_back; + return callback_btn; } static Evas_Object *__create_message_btn(callui_view_callend_h vd) { - Evas_Object *button_message = _callui_load_edj(vd->reply_btns_box, CALLUI_CALL_EDJ_PATH, CALLUI_GROUP_MSG_BTN); - CALLUI_RETURN_NULL_IF_FAIL(button_message); - edje_object_signal_callback_add(_EDJ(button_message), "clicked", "reply_btn", __msg_btn_click_cb, vd); - elm_object_translatable_part_text_set(button_message, "text", "IDS_COM_BODY_MESSAGE"); + Evas_Object *message_btn = elm_button_add(vd->reply_btns_box); + CALLUI_RETURN_NULL_IF_FAIL(message_btn); + elm_object_style_set(message_btn, CALLUI_GROUP_MSG_BTN); + evas_object_smart_callback_add(message_btn, "clicked", __msg_btn_click_cb, vd); + elm_object_translatable_part_text_set(message_btn, "text", "IDS_COM_BODY_MESSAGE"); - evas_object_size_hint_weight_set(button_message, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(button_message, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(button_message); + evas_object_size_hint_weight_set(message_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(message_btn, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(message_btn); - return button_message; + return message_btn; } static callui_result_e __create_single_contact_info(callui_view_callend_h vd, const callui_call_data_t *call_data) @@ -463,7 +466,7 @@ static callui_result_e __update_displayed_data(callui_view_callend_h vd) return CALLUI_RESULT_OK; } -static void __call_back_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +static void __call_back_btn_click_cb(void *data, Evas_Object *obj, void *event_info) { CALLUI_RETURN_IF_FAIL(data); @@ -513,7 +516,7 @@ static void __launch_contact_app(const char *operation, const char *call_number, err("app_control_send_launch_request() is failed. ret[%d]", ret); } - if(ret != APP_CONTROL_ERROR_NONE) { + if (ret != APP_CONTROL_ERROR_NONE) { _callui_common_exit_app(); } @@ -600,13 +603,13 @@ static void __add_contact_click_cb(void *data, Evas_Object *obj, const char *emi evas_object_show(vd->create_update_popup); } -static void __msg_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +static void __msg_btn_click_cb(void *data, Evas_Object *obj, void *event_info) { CALLUI_RETURN_IF_FAIL(data); callui_view_callend_h vd = data; callui_app_data_t *ad = vd->base_view.ad; - edje_object_signal_callback_del_full(_EDJ(obj), "clicked", "reply_btn", __msg_btn_click_cb, vd); + evas_object_smart_callback_del_full(obj, "clicked", __msg_btn_click_cb, vd); _callui_common_launch_msg_composer(ad, vd->call_number, true); } diff --git a/src/callui-view-elements.c b/src/callui-view-elements.c index 2e2d2a6..e40b5fb 100755 --- a/src/callui-view-elements.c +++ b/src/callui-view-elements.c @@ -169,7 +169,7 @@ Evas_Object *_callui_create_cid_thumbnail_with_size(Evas_Object *parent, if (!STRING_EMPTY(path) && (strcmp(path, "default") != 0)) { Evas_Object *image = elm_image_add(layout); - if(!image) { + if (!image) { err("image is NULL"); DELETE_EVAS_OBJECT(layout); return NULL; @@ -207,7 +207,7 @@ Evas_Object *_callui_create_cid_thumbnail_with_size(Evas_Object *parent, if (size != CALLUI_CID_SIZE_DEFAULT) { if (resizable_obj == layout) { thumbnail = elm_grid_add(parent); - if(!thumbnail) { + if (!thumbnail) { err("thumbnail is NULL"); DELETE_EVAS_OBJECT(layout); return NULL; diff --git a/src/callui-view-multi-call-split.c b/src/callui-view-multi-call-split.c index 13d4656..b2874ea 100755 --- a/src/callui-view-multi-call-split.c +++ b/src/callui-view-multi-call-split.c @@ -25,8 +25,8 @@ #include "callui-view-elements.h" #include "callui-state-provider.h" -#define CALLUI_GROUP_SPLIT_MERGE_BTN "merge_btn" -#define CALLUI_GROUP_SPLIT_SWAP_BTN "swap_btn" +#define CALLUI_GROUP_SPLIT_MERGE_BTN "callui_multi_split_merge_btn" +#define CALLUI_GROUP_SPLIT_SWAP_BTN "callui_multi_split_swap_btn" #define CALLUI_GROUP_SPLIT_ACTIVE_INFO "split_active_info" #define CALLUI_GROUP_SPLIT_HOLD_INFO "split_hold_info" #define CALLUI_GROUP_SPLIT_CALLERS_INFO "split_callers_info" @@ -76,8 +76,8 @@ static callui_result_e __create_merge_swap_btns(Evas_Object *parent, callui_app_ static void __end_call_btn_click_cb(void *data, Evas_Object *obj, void *event_info); static void __mng_callers_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *src); -static void __merge_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *src); -static void __swap_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *src); +static void __merge_btn_click_cb(void *data, Evas_Object *obj, void *event_info); +static void __swap_btn_click_cb(void *data, Evas_Object *obj, void *event_info); static void __keypad_show_state_change_cd(void *data, Eina_Bool visibility); static Eina_Bool __call_duration_timer_cb(void* data); static callui_result_e __init_call_duration_timer(callui_view_mc_split_h vd); @@ -217,12 +217,11 @@ static callui_result_e __create_main_content(callui_view_mc_split_h vd, Evas_Obj static Evas_Object *__create_merge_swap_btn(Evas_Object *parent, const char *name, const char *text) { - Evas_Object *layout = elm_layout_add(parent); - elm_layout_file_set(layout, CALLUI_CALL_EDJ_PATH, name); - - elm_object_translatable_part_text_set(layout, CALLUI_PART_TEXT_MERGE_SWAP_BTN, text); - - return layout; + Evas_Object *btn = elm_button_add(parent); + CALLUI_RETURN_NULL_IF_FAIL(btn); + elm_object_style_set(btn, name); + elm_object_translatable_part_text_set(btn, CALLUI_PART_TEXT_MERGE_SWAP_BTN, text); + return btn; } static void __update_hold_active_layout(Evas_Object *layout, const callui_call_data_t *call_data) @@ -299,13 +298,13 @@ static callui_result_e __create_merge_swap_btns(Evas_Object *parent, callui_app_ { Evas_Object *merge = __create_merge_swap_btn(parent, CALLUI_GROUP_SPLIT_MERGE_BTN, "IDS_CALL_BODY_MERGE_T_CALL"); CALLUI_RETURN_VALUE_IF_FAIL(merge, CALLUI_RESULT_ALLOCATION_FAIL); + evas_object_smart_callback_add(merge, "clicked", __merge_btn_click_cb, ad); elm_object_part_content_set(parent, CALLUI_PART_SWALLOW_MERGE, merge); - edje_object_signal_callback_add(_EDJ(merge), "clicked", "hold_call_btn", __merge_btn_click_cb, ad); Evas_Object *swap = __create_merge_swap_btn(parent, CALLUI_GROUP_SPLIT_SWAP_BTN, "IDS_CALL_SK_MULTICALL_SWAP"); CALLUI_RETURN_VALUE_IF_FAIL(merge, CALLUI_RESULT_ALLOCATION_FAIL); + evas_object_smart_callback_add(swap, "clicked", __swap_btn_click_cb, ad); elm_object_part_content_set(parent, CALLUI_PART_SWALLOW_SWAP, swap); - edje_object_signal_callback_add(_EDJ(swap), "clicked", "hold_call_btn", __swap_btn_click_cb, ad); return CALLUI_RESULT_OK; } @@ -409,7 +408,7 @@ static void __mng_callers_btn_click_cb(void *data, Evas_Object *obj, const char _callui_vm_change_view(ad->view_manager, CALLUI_VIEW_MULTICALL_LIST); } -static void __merge_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *src) +static void __merge_btn_click_cb(void *data, Evas_Object *obj, void *event_info) { callui_app_data_t *ad = (callui_app_data_t *)data; @@ -419,7 +418,7 @@ static void __merge_btn_click_cb(void *data, Evas_Object *obj, const char *emiss } } -static void __swap_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *src) +static void __swap_btn_click_cb(void *data, Evas_Object *obj, void *event_info) { callui_app_data_t *ad = (callui_app_data_t *)data; diff --git a/src/callui-window.c b/src/callui-window.c index 4a8c1ef..e357a40 100644 --- a/src/callui-window.c +++ b/src/callui-window.c @@ -468,7 +468,7 @@ bool _callui_window_get_above_lockscreen_state(callui_window_h window_h) int id = elm_win_aux_hint_id_get(window_h->win, "wm.policy.win.above.lock"); if (id >= 0) { const char *value = elm_win_aux_hint_val_get(window_h->win, id); - if(value) { + if (value) { sec_dbg("Aux hint value [%s]", value); if (!strcmp(value, "1")) { res = true; diff --git a/src/callui.c b/src/callui.c index 455c2b2..1d03c59 100755 --- a/src/callui.c +++ b/src/callui.c @@ -401,7 +401,7 @@ static bool __app_init(callui_app_data_t *ad) ad->dpm = _callui_dpm_create(); CALLUI_RETURN_VALUE_IF_FAIL(ad->dpm, false); - if(_callui_dpm_is_need_enforce_change_password(ad->dpm)) { + if (_callui_dpm_is_need_enforce_change_password(ad->dpm)) { _callui_window_set_quickpanel_disable(ad->window, true); } -- 2.7.4