2 name: "elm/layout/dialer/call";
5 * Represents the dialer ongoing voice call(s) screen.
9 * TEXT: elm.text.status
10 * TEXT: elm.text.elapsed
11 * TEXT: elm.text.waiting
13 * SWALLOW: elm.swallow.multiparty-details
16 * Emit (source is "call"):
17 * pressed,<ID>: key <ID> was pressed
18 * released,<ID>: key <ID> was released
19 * clicked,<ID>: key <ID> was clicked (press and release in the key)
20 * Listen (source is "call"):
21 * show,answer: show "answer" action
22 * hide,answer: hide "answer" action
23 * show,waiting: show call waiting popup (decline, hold+answer...)
24 * hide,waiting: hide call waiting popup
25 * show,held: show call held entry
26 * hide,held: hide call held entry
27 * show,elapsed: have elapsed (elm.text.elapsed) and should be visible
28 * hide,elapsed: don't have elapsed and it should be hidden
29 * show,multiparty: active call is multiparty
30 * hide,multiparty: active call is not multiparty
31 * show,held,multiparty: held call is multiparty
32 * hide,held,multiparty: held call is not multiparty
33 * state,<STATE>: state changed to <STATE>
34 * disable,<ID>: disable action <ID>
35 * enable,<ID>: enable action <ID>
36 * toggle,on,<ID>: mark toggle action <ID> as selected
37 * toggle,off,<ID>: mark toggle action <ID> as unselected
38 * show,multiparty-details: ask the multiparty details to be visible
39 * hide,multiparty-details: ask the multiparty details to be hidden
42 * 1 - FLOAT: speaker volume 0.0-1.0
43 * 2 - FLOAT: microphone volume 0.0-1.0
44 * 3 - FLOAT: elapsed time in seconds (> 0.0)
46 * Where <ID> is: numbers 0 to 9, star, hash, mute, keypad,
47 * speaker, add-call, merge, swap, contacts, answer, hangup,
48 * waiting-hangup, hold-answer, hangup-answer, multiparty,
49 * held-multiparty, multiparty-details
51 * Where <STATE> is: disconnected, active, held, dialing, alerting,
58 image: "bg_call.jpg" COMP;
59 image: "bt_mute_pressed.png" COMP;
60 image: "bt_mute_released.png" COMP;
61 image: "bt_keypad_pressed.png" COMP;
62 image: "bt_keypad_released.png" COMP;
63 image: "bt_speaker_pressed.png" COMP;
64 image: "bt_speaker_released.png" COMP;
65 image: "bt_add_call_pressed.png" COMP;
66 image: "bt_add_call_released.png" COMP;
67 image: "bt_merge_pressed.png" COMP;
68 image: "bt_merge_released.png" COMP;
69 image: "bt_swap_pressed.png" COMP;
70 image: "bt_swap_released.png" COMP;
71 image: "bt_contacts_pressed.png" COMP;
72 image: "bt_contacts_released.png" COMP;
73 image: "bt_multiparty_pressed.png" COMP;
74 image: "bt_multiparty_released.png" COMP;
84 color: 255 255 255 255;
88 normal: "bg_call.jpg";
96 name: "clipper.multiparty";
98 clip_to: "clipper.multiparty-details-hidden";
100 state: "default" 0.0;
101 color: 255 255 255 0;
105 state: "multiparty" 0.0;
106 inherit: "default" 0.0;
107 color: 255 255 255 255;
112 name: "button.multiparty";
115 clip_to: "clipper.multiparty";
117 state: "default" 0.0;
118 color: 255 255 255 255;
119 color_class: "action";
124 offset: -80 (BORDER_PADDING - 1);
130 image.normal: "bt_multiparty_released.png";
133 state: "pressed" 0.0;
134 inherit: "default" 0.0;
135 color_class: "light";
140 signal: "mouse,up,1";
141 source: "button.multiparty";
142 action: SIGNAL_EMIT "released,multiparty" "call";
143 after: "show_up_multiparty";
144 api: "multiparty_released" "multiparty was released";
147 name: "show_up_multiparty";
148 action: STATE_SET "default" 0.0;
149 transition: DECELERATE 0.1;
150 target: "button.multiparty";
153 signal: "mouse,down,1";
154 source: "button.multiparty";
155 after: "show_down_multiparty";
156 action: SIGNAL_EMIT "pressed,multiparty" "call";
157 api: "multiparty_pressed" "multiparty was pressed";
160 name: "show_down_multiparty";
161 action: STATE_SET "pressed" 0.0;
162 transition: ACCELERATE 0.1;
163 target: "button.multiparty";
166 signal: "mouse,clicked,1";
167 source: "button.multiparty";
168 action: SIGNAL_EMIT "clicked,multiparty" "call";
169 api: "multiparty_clicked" "multiparty was clicked";
173 signal: "show,multiparty";
175 action: STATE_SET "multiparty" 0.0;
176 target: "clipper.multiparty";
177 target: "elm.text.name";
178 api: "multiparty_show" "make multiparty visible";
181 signal: "hide,multiparty";
183 action: STATE_SET "default" 0.0;
184 target: "clipper.multiparty";
185 target: "elm.text.name";
186 api: "multiparty_hide" "make multiparty hidden";
191 name: "elm.text.name";
195 clip_to: "clipper.multiparty-details-hidden";
196 api: "name" "remote party call name";
198 state: "default" 0.0;
199 color: 255 255 255 255;
200 color_class: "action";
202 rel1.offset: BORDER_PADDING 0;
205 offset: (-BORDER_PADDING - 1) (ACTION_HEIGHT - 1);
208 text: "Gustavo Barbieri";
211 size_range: SIZE_TINY SIZE_HUGE;
218 state: "multiparty" 0.0;
219 inherit: "default" 0.0;
220 rel2.offset: (-80 - ITEM_PADDING) (ACTION_HEIGHT - 1);
225 name: "elm.text.status";
229 clip_to: "clipper.multiparty-details-hidden";
230 api: "status" "call status";
232 state: "default" 0.0;
233 color: 255 255 255 255;
234 color_class: "light";
258 name: "elm.text.elapsed";
262 clip_to: "clipper.multiparty-details-hidden";
263 api: "elapsed" "call elapsed time (formatted)";
265 state: "default" 0.0;
266 color: 255 255 255 255;
267 color_class: "light";
271 to: "elm.text.status";
273 offset: ITEM_PADDING 0;
276 to: "elm.text.status";
278 offset: ITEM_PADDING -1;
290 #define SEPARATOR(id, clip, rely, offy, relto) \
292 name: "separator.dark."##id; \
297 state: "default" 0.0; \
298 color: 255 255 255 255; \
299 color_class: "dark"; \
301 relative: 0.0 rely; \
306 relative: 1.0 rely; \
307 offset: -1 (offy + SEPARATOR_HEIGHT / 2); \
313 name: "separator.bg."##id; \
318 state: "default" 0.0; \
319 color: 255 255 255 255; \
322 relative: 0.0 rely; \
323 offset: 0 (offy + SEPARATOR_HEIGHT / 2); \
327 relative: 1.0 rely; \
328 offset: -1 (offy + SEPARATOR_HEIGHT); \
335 name: "clipper.held";
337 clip_to: "clipper.keypad-hidden";
339 state: "default" 0.0;
340 color: 255 255 255 0;
344 state: "visible" 0.0;
345 inherit: "default" 0.0;
346 color: 255 255 255 255;
352 name: "clipper.held.multiparty";
354 clip_to: "clipper.held";
356 state: "default" 0.0;
357 color: 255 255 255 0;
361 state: "multiparty" 0.0;
362 inherit: "default" 0.0;
363 color: 255 255 255 255;
368 name: "button.held.multiparty";
371 clip_to: "clipper.held.multiparty";
373 state: "default" 0.0;
374 color: 255 255 255 255;
375 color_class: "action";
379 to_y: "elm.text.status";
384 to_y: "elm.text.status";
388 image.normal: "bt_multiparty_released.png";
391 state: "pressed" 0.0;
392 inherit: "default" 0.0;
393 color_class: "light";
398 signal: "mouse,up,1";
399 source: "button.held.multiparty";
400 action: SIGNAL_EMIT "released,held-multiparty" "call";
401 after: "show_up_held_multiparty";
402 api: "held_multiparty_released" "held multiparty was released";
405 name: "show_up_held_multiparty";
406 action: STATE_SET "default" 0.0;
407 transition: DECELERATE 0.1;
408 target: "button.held.multiparty";
411 signal: "mouse,down,1";
412 source: "button.held.multiparty";
413 after: "show_down_held_multiparty";
414 action: SIGNAL_EMIT "pressed,held-multiparty" "call";
415 api: "held_multiparty_pressed" "held multiparty was pressed";
418 name: "show_down_held_multiparty";
419 action: STATE_SET "pressed" 0.0;
420 transition: ACCELERATE 0.1;
421 target: "button.held.multiparty";
424 signal: "mouse,clicked,1";
425 source: "button.held.multiparty";
426 action: SIGNAL_EMIT "clicked,held-multiparty" "call";
427 api: "held_multiparty_clicked" "held multiparty was clicked";
431 signal: "show,held,multiparty";
433 action: STATE_SET "multiparty" 0.0;
434 target: "clipper.held.multiparty";
435 target: "elm.text.held";
436 api: "held_multiparty_show" "make held multiparty visible";
439 signal: "hide,held,multiparty";
441 action: STATE_SET "default" 0.0;
442 target: "clipper.held.multiparty";
443 target: "elm.text.held";
444 api: "held_multiparty_hide" "make held multiparty hidden";
449 name: "elm.text.held";
453 api: "held" "held party call name";
454 clip_to: "clipper.held";
456 state: "default" 0.0;
457 color: 255 255 255 255;
458 color_class: "action";
461 to_y: "elm.text.status";
462 to_x: "elm.text.name";
467 to_y: "elm.text.status";
469 offset: (-BORDER_PADDING -1) (ACTION_HEIGHT + 30 - 1);
472 text: "Someone on hold";
475 size_range: SIZE_TINY SIZE_HUGE;
482 state: "multiparty" 0.0;
483 inherit: "default" 0.0;
484 rel2.offset: (-80 - ITEM_PADDING) (ACTION_HEIGHT - 1);
492 clip_to: "clipper.held";
494 state: "default" 0.0;
495 color: 255 255 255 255;
496 color_class: "light";
519 SEPARATOR("held1", "clipper.held", 0.0, -SEPARATOR_HEIGHT, "elm.text.held");
525 action: STATE_SET "visible" 0.0;
526 transition: DECELERATE 0.3;
527 target: "clipper.held";
528 api: "held_show" "make held entry visible";
533 action: STATE_SET "default" 0.0;
534 transition: ACCELERATE 0.3;
535 target: "clipper.held";
536 api: "held_hide" "make held entry hidden";
541 SEPARATOR("actions", "clipper.actions", 0.0, -SEPARATOR_HEIGHT, "bg.actions");
547 clip_to: "clipper.keypad-hidden";
549 state: "default" 0.0;
551 min: WIDTH (ACTION_HEIGHT * 2);
552 max: WIDTH 99999; /* keep it tight centered */
557 offset: 0 (-ACTION_HEIGHT * 2 - SEPARATOR_HEIGHT);
562 offset: -1 -SEPARATOR_HEIGHT;
567 name: "clipper.actions";
570 clip_to: "clipper.keypad-hidden";
572 state: "default" 0.0;
573 color: 255 255 255 0;
577 state: "visible" 0.0;
578 inherit: "default" 0.0;
579 color: 255 255 255 255;
585 name: "show,actions";
586 action: STATE_SET "visible" 0.0;
587 transition: DECELERATE 0.3;
588 target: "clipper.actions";
591 name: "hide,actions";
592 action: STATE_SET "default" 0.0;
593 transition: ACCELERATE 0.3;
594 target: "clipper.actions";
598 signal: "state,disconnected";
600 after: "hide,actions";
603 signal: "state,active";
605 after: "show,actions";
608 signal: "state,held";
610 after: "show,actions";
613 signal: "state,dialing";
615 after: "hide,actions";
618 signal: "state,alerting";
620 after: "hide,actions";
623 signal: "state,incoming";
625 after: "hide,actions";
629 #define ACTION_BUTTON(id, img, r1, r2) \
631 name: "clipper."##id; \
633 clip_to: "clipper.actions"; \
635 state: "default" 0.0; \
636 color: 255 255 255 255; \
637 rel1.to: "button."##id; \
638 rel2.to: "button."##id; \
641 state: "disabled" 0.0; \
642 inherit: "default" 0.0; \
643 color_class: "disabled"; \
646 state: "hidden" 0.0; \
647 inherit: "default" 0.0; \
648 color: 255 255 255 0; \
653 name: "button."##id; \
656 clip_to: "clipper."##id; \
658 state: "default" 0.0; \
659 color: 255 255 255 255; \
660 color_class: "action"; \
661 min: ACTION_WIDTH ACTION_HEIGHT; \
662 max: ACTION_WIDTH ACTION_HEIGHT; \
673 image.normal: "bt_"##img"_released.png"; \
676 state: "pressed" 0.0; \
677 inherit: "default" 0.0; \
678 color: 255 255 255 0; \
683 name: "button.over."##id; \
685 clip_to: "clipper."##id; \
688 state: "default" 0.0; \
689 color: 255 255 255 0; \
691 color_class: "action"; \
692 rel1.to: "button."##id; \
693 rel2.to: "button."##id; \
694 image.normal: "bt_"##img"_pressed.png"; \
697 state: "pressed" 0.0; \
698 inherit: "default" 0.0; \
699 color: 255 255 255 255; \
704 name: "blocker."##id; \
707 clip_to: "clipper."##id; \
709 state: "default" 0.0; \
712 rel1.to: "button."##id; \
713 rel2.to: "button."##id; \
716 state: "disabled" 0.0; \
717 inherit: "default" 0.0; \
723 signal: "mouse,up,1"; \
724 source: "button."##id; \
725 action: SIGNAL_EMIT "released,"##id "call"; \
726 after: "show_up_"##id; \
727 api: id"_released" id" was released"; \
730 name: "show_up_"##id; \
731 action: STATE_SET "default" 0.0; \
732 transition: DECELERATE 0.1; \
733 target: "button."##id; \
734 target: "button.over."##id; \
737 signal: "mouse,down,1"; \
738 source: "button."##id; \
739 after: "show_down_"##id; \
740 action: SIGNAL_EMIT "pressed,"##id "call"; \
741 api: id"_pressed" id" was pressed"; \
744 name: "show_down_"##id; \
745 action: STATE_SET "pressed" 0.0; \
746 transition: ACCELERATE 0.1; \
747 target: "button."##id; \
748 target: "button.over."##id; \
751 signal: "mouse,clicked,1"; \
752 source: "button."##id; \
753 action: SIGNAL_EMIT "clicked,"##id "call"; \
754 api: id"_clicked" id" was clicked"; \
757 signal: "disable,"##id; \
759 action: STATE_SET "disabled" 0.0; \
760 target: "blocker."##id; \
761 target: "clipper."##id; \
762 api: id"_disable" "disable "##id; \
765 signal: "enable,"##id; \
767 action: STATE_SET "default" 0.0; \
768 target: "blocker."##id; \
769 target: "clipper."##id; \
770 api: id"_enable" "enable "##id; \
774 #define ACTION_HIDEABLE(id, img, r1, r2) \
776 name: "clipper."##id; \
778 clip_to: "clipper.actions"; \
780 state: "default" 0.0; \
781 color: 255 255 255 255; \
782 rel1.to: "button."##id; \
783 rel2.to: "button."##id; \
786 state: "hidden" 0.0; \
787 inherit: "default" 0.0; \
788 color: 255 255 255 0; \
793 name: "button."##id; \
796 clip_to: "clipper."##id; \
798 state: "default" 0.0; \
799 color: 255 255 255 255; \
800 color_class: "action"; \
801 min: ACTION_WIDTH ACTION_HEIGHT; \
802 max: ACTION_WIDTH ACTION_HEIGHT; \
813 image.normal: "bt_"##img"_released.png"; \
816 state: "pressed" 0.0; \
817 inherit: "default" 0.0; \
818 color: 255 255 255 0; \
823 name: "button.over."##id; \
825 clip_to: "clipper."##id; \
828 state: "default" 0.0; \
829 color: 255 255 255 0; \
831 color_class: "action"; \
832 rel1.to: "button."##id; \
833 rel2.to: "button."##id; \
834 image.normal: "bt_"##img"_pressed.png"; \
837 state: "pressed" 0.0; \
838 inherit: "default" 0.0; \
839 color: 255 255 255 255; \
845 signal: "mouse,up,1"; \
846 source: "button."##id; \
847 action: SIGNAL_EMIT "released,"##id "call"; \
848 after: "show_up_"##id; \
849 api: id"_released" id" was released"; \
852 name: "show_up_"##id; \
853 action: STATE_SET "default" 0.0; \
854 transition: DECELERATE 0.1; \
855 target: "button."##id; \
856 target: "button.over."##id; \
859 signal: "mouse,down,1"; \
860 source: "button."##id; \
861 after: "show_down_"##id; \
862 action: SIGNAL_EMIT "pressed,"##id "call"; \
863 api: id"_pressed" id" was pressed"; \
866 name: "show_down_"##id; \
867 action: STATE_SET "pressed" 0.0; \
868 transition: ACCELERATE 0.1; \
869 target: "button."##id; \
870 target: "button.over."##id; \
873 signal: "mouse,clicked,1"; \
874 source: "button."##id; \
875 action: SIGNAL_EMIT "clicked,"##id "call"; \
876 api: id"_clicked" id" was clicked"; \
880 signal: "hide,"##id; \
882 action: STATE_SET "hidden" 0.0; \
883 target: "clipper."##id; \
884 api: id"_hide" "hide "##id; \
888 signal: "show,"##id; \
890 action: STATE_SET "default" 0.0; \
891 target: "clipper."##id; \
892 api: id"_show" "show "##id; \
896 #define ACTION_TOGGLE(id, img, r1, r2) \
898 name: "clipper."##id; \
900 clip_to: "clipper.actions"; \
902 state: "default" 0.0; \
903 color: 255 255 255 255; \
904 rel1.to: "button."##id; \
905 rel2.to: "button."##id; \
908 state: "disabled" 0.0; \
909 inherit: "default" 0.0; \
910 color_class: "disabled"; \
913 state: "hidden" 0.0; \
914 inherit: "default" 0.0; \
915 color: 255 255 255 0; \
920 name: "button."##id; \
923 clip_to: "clipper.toggle."##id; \
925 state: "default" 0.0; \
926 color: 255 255 255 255; \
927 color_class: "action"; \
928 min: ACTION_WIDTH ACTION_HEIGHT; \
929 max: ACTION_WIDTH ACTION_HEIGHT; \
940 image.normal: "bt_"##img"_released.png"; \
943 state: "pressed" 0.0; \
944 inherit: "default" 0.0; \
945 color: 255 255 255 0; \
950 name: "button.over."##id; \
952 clip_to: "clipper."##id; \
954 state: "default" 0.0; \
955 color: 255 255 255 0; \
957 color_class: "action"; \
958 rel1.to: "button."##id; \
959 rel2.to: "button."##id; \
960 image.normal: "bt_"##img"_pressed.png"; \
963 state: "pressed" 0.0; \
964 inherit: "default" 0.0; \
965 color: 255 255 255 255; \
970 name: "clipper.toggle."##id; \
972 clip_to: "clipper."##id; \
975 state: "default" 0.0; \
976 color: 255 255 255 255; \
981 inherit: "default" 0.0; \
982 color: 255 255 255 0; \
987 name: "button.toggle."##id; \
989 clip_to: "clipper."##id; \
992 state: "default" 0.0; \
993 color: 255 255 255 0; \
995 color_class: "action"; \
996 rel1.to: "button."##id; \
997 rel2.to: "button."##id; \
998 image.normal: "bt_"##img"_pressed.png"; \
1002 inherit: "default" 0.0; \
1003 color: 255 255 255 255; \
1008 name: "blocker."##id; \
1011 clip_to: "clipper."##id; \
1013 state: "default" 0.0; \
1016 rel1.to: "button."##id; \
1017 rel2.to: "button."##id; \
1020 state: "disabled" 0.0; \
1021 inherit: "default" 0.0; \
1027 signal: "mouse,up,1"; \
1028 source: "button."##id; \
1029 action: SIGNAL_EMIT "released,"##id "call"; \
1030 api: id"_released" id" was released"; \
1031 after: "show_up_"##id; \
1034 name: "show_up_"##id; \
1035 action: STATE_SET "default" 0.0; \
1036 transition: DECELERATE 0.1; \
1037 target: "button."##id; \
1038 target: "button.over."##id; \
1041 signal: "mouse,down,1"; \
1042 source: "button."##id; \
1043 after: "show_down_"##id; \
1044 action: SIGNAL_EMIT "pressed,"##id "call"; \
1045 api: id"_pressed" id" was pressed"; \
1048 name: "show_down_"##id; \
1049 action: STATE_SET "pressed" 0.0; \
1050 transition: ACCELERATE 0.1; \
1051 target: "button."##id; \
1052 target: "button.over."##id; \
1055 signal: "mouse,clicked,1"; \
1056 source: "button."##id; \
1057 action: SIGNAL_EMIT "clicked,"##id "call"; \
1058 api: id"_clicked" id" was clicked"; \
1061 signal: "mouse,clicked,1"; \
1062 source: "button.toggle."##id; \
1063 action: SIGNAL_EMIT "clicked,"##id "call"; \
1064 api: id"_clicked" id" was clicked"; \
1067 signal: "disable,"##id; \
1069 action: STATE_SET "disabled" 0.0; \
1070 target: "blocker."##id; \
1071 target: "clipper."##id; \
1072 api: id"_disable" "disable "##id; \
1075 signal: "enable,"##id; \
1077 action: STATE_SET "default" 0.0; \
1078 target: "blocker."##id; \
1079 target: "clipper."##id; \
1080 api: id"_enable" "enable "##id; \
1083 signal: "toggle,on,"##id; \
1085 action: STATE_SET "on" 0.0; \
1086 target: "clipper.toggle."##id; \
1087 target: "button.toggle."##id; \
1088 api: id"_toggle_on" "toggle on "##id; \
1091 signal: "toggle,off,"##id; \
1093 action: STATE_SET "default" 0.0; \
1094 target: "clipper.toggle."##id; \
1095 target: "button.toggle."##id; \
1096 api: id"_toggle_off" "toggle off "##id; \
1100 ACTION_TOGGLE("mute", "mute", 0.000000000 0.0, 0.333333333 0.5);
1101 ACTION_BUTTON("keypad", "keypad", 0.333333333 0.0, 0.666666666 0.5);
1102 ACTION_TOGGLE("speaker", "speaker", 0.666666666 0.0, 1.000000000 0.5);
1104 ACTION_HIDEABLE("merge", "merge", 0.000000000 0.5, 0.333333333 1.0);
1105 ACTION_HIDEABLE("add-call", "add_call",0.000000000 0.5, 0.333333333 1.0);
1107 ACTION_BUTTON("swap", "swap", 0.333333333 0.5, 0.666666666 1.0);
1108 ACTION_BUTTON("contacts", "contacts",0.666666666 0.5, 1.000000000 1.0);
1109 #undef ACTION_BUTTON
1110 #undef ACTION_TOGGLE
1112 SEPARATOR("answer", "clipper.answer", 0.0, -SEPARATOR_HEIGHT, "button.answer");
1113 SEPARATOR("hangup", "clipper.multiparty-details-hidden", 0.0, -SEPARATOR_HEIGHT, "button.hangup");
1117 signal: "enable,merge";
1119 after: "hide_add-call";
1120 after: "show_merge";
1123 signal: "disable,merge";
1125 after: "show_add-call";
1126 after: "hide_merge";
1131 name: "clipper.keypad-hidden";
1133 clip_to: "clipper.multiparty-details-hidden";
1135 state: "default" 0.0;
1136 color: 255 255 255 255;
1140 state: "alternate" 0.0;
1141 inherit: "default" 0.0;
1142 color: 255 255 255 0;
1147 name: "clipper.keypad-visible";
1149 clip_to: "clipper.multiparty-details-hidden";
1151 state: "default" 0.0;
1152 color: 255 255 255 0;
1156 state: "alternate" 0.0;
1157 inherit: "default" 0.0;
1158 color: 255 255 255 255;
1165 SEPARATOR("hide-keypad", "clipper.keypad-visible", 0.0, -SEPARATOR_HEIGHT, "button.hide-keypad");
1166 SEPARATOR("keypad", "clipper.keypad-visible", 0.0, -SEPARATOR_HEIGHT, "bg.keypad");
1172 clip_to: "clipper.keypad-visible";
1174 state: "default" 0.0;
1176 min: WIDTH (ACTION_HEIGHT * 4);
1177 max: WIDTH (ACTION_HEIGHT * 4); /* keep it tight centered */
1180 offset: 0 (-ACTION_HEIGHT * 4 - SEPARATOR_HEIGHT);
1181 to_y: "button.hide-keypad";
1185 offset: 0 (-SEPARATOR_HEIGHT - 1);
1186 to_y: "button.hide-keypad";
1190 #define BUTTON(id, label, sub, ccls, r1, r2) \
1192 name: "button."##id; \
1195 clip_to: "clipper.keypad-visible"; \
1197 state: "default" 0.0; \
1198 color: 255 255 255 0; \
1199 color_class: "action"; \
1211 state: "pressed" 0.0; \
1212 inherit: "default" 0.0; \
1213 color: 255 255 255 255; \
1217 name: "label."##id; \
1220 clip_to: "clipper.keypad-visible"; \
1222 state: "default" 0.0; \
1223 color: 255 255 255 255; \
1224 color_class: ccls; \
1225 rel1.to: "button."##id; \
1227 to: "button."##id; \
1228 relative: 1.0 0.8; \
1232 font: FONT_NORMAL; \
1238 state: "pressed" 0.0; \
1239 inherit: "default" 0.0; \
1240 color: 16 16 16 255; \
1247 clip_to: "clipper.keypad-visible"; \
1249 state: "default" 0.0; \
1250 color: 255 255 255 255; \
1251 color_class: "light"; \
1253 to: "button."##id; \
1254 relative: 0.0 0.5; \
1257 rel2.to: "button."##id; \
1266 state: "pressed" 0.0; \
1267 inherit: "default" 0.0; \
1268 color: 16 16 16 255; \
1273 signal: "mouse,up,1"; \
1274 source: "button."##id; \
1275 action: SIGNAL_EMIT "released,"##id "call"; \
1276 after: "show_up_"##id; \
1277 api: id"_released" id" was released"; \
1280 name: "show_up_"##id; \
1281 action: STATE_SET "default" 0.0; \
1282 transition: DECELERATE 0.1; \
1283 target: "button."##id; \
1284 target: "label."##id; \
1285 target: "sub."##id; \
1288 signal: "mouse,down,1"; \
1289 source: "button."##id; \
1290 after: "show_down_"##id; \
1291 action: SIGNAL_EMIT "pressed,"##id "call"; \
1292 api: id"_pressed" id" was pressed"; \
1295 name: "show_down_"##id; \
1296 action: STATE_SET "pressed" 0.0; \
1297 transition: ACCELERATE 0.3; \
1298 target: "button."##id; \
1299 target: "label."##id; \
1300 target: "sub."##id; \
1303 signal: "mouse,clicked,1"; \
1304 source: "button."##id; \
1305 action: SIGNAL_EMIT "clicked,"##id "call"; \
1306 api: id"_clicked" id" was clicked"; \
1310 BUTTON("1", "1", "", "action", 0.000 0.0, 0.333 0.25);
1311 BUTTON("2", "2", "ABC", "action", 0.333 0.0, 0.666 0.25);
1312 BUTTON("3", "3", "DEF", "action", 0.666 0.0, 1.000 0.25);
1314 BUTTON("4", "4", "GHI", "action", 0.000 0.25, 0.333 0.50);
1315 BUTTON("5", "5", "JKL", "action", 0.333 0.25, 0.666 0.50);
1316 BUTTON("6", "6", "MNO", "action", 0.666 0.25, 1.000 0.50);
1318 BUTTON("7", "7", "PQRS", "action", 0.000 0.50, 0.333 0.75);
1319 BUTTON("8", "8", "TUV", "action", 0.333 0.50, 0.666 0.75);
1320 BUTTON("9", "9", "WXYZ", "action", 0.666 0.50, 1.000 0.75);
1322 BUTTON("star", "*", "", "light", 0.000 0.75, 0.333 1.00);
1323 BUTTON("0", "0", "+", "action", 0.333 0.75, 0.666 1.00);
1324 BUTTON("hash", "#", "", "light", 0.666 0.75, 1.000 1.00);
1328 name: "area.hide-keypad";
1331 clip_to: "clipper.keypad-visible";
1333 state: "default" 0.0;
1337 to_y: "button.hangup";
1339 offset: 0 (ACTION_HEIGHT * 4 + SEPARATOR_HEIGHT);
1342 to_y: "button.hangup";
1344 offset: -1 (ACTION_HEIGHT * 4 + SEPARATOR_HEIGHT - 1);
1348 state: "alternate" 0.0;
1349 inherit: "default" 0.0;
1352 to_y: "button.hangup";
1354 offset: 0 -SEPARATOR_HEIGHT;
1357 to_y: "button.hangup";
1359 offset: -1 (-SEPARATOR_HEIGHT - 1);
1364 name: "button.hide-keypad";
1367 clip_to: "clipper.keypad-visible";
1369 state: "default" 0.0;
1370 color: 255 255 255 0;
1371 color_class: "action";
1372 rel1.to_y: "area.hide-keypad";
1373 rel2.to_y: "area.hide-keypad";
1376 state: "pressed" 0.0;
1377 inherit: "default" 0.0;
1378 color: 255 255 255 255;
1382 name: "label.hide-keypad";
1385 clip_to: "clipper.keypad-visible";
1387 state: "default" 0.0;
1388 color: 255 255 255 255;
1389 color_class: "action";
1390 rel1.to: "button.hide-keypad";
1391 rel2.to: "button.hide-keypad";
1393 text: "Hide Keypad";
1400 state: "pressed" 0.0;
1401 inherit: "default" 0.0;
1407 signal: "active,disconnected";
1409 after: "hide_keypad";
1412 name: "hide_keypad";
1413 signal: "clicked,hangup";
1415 action: STATE_SET "default" 0.0;
1416 target: "clipper.keypad-visible";
1417 target: "clipper.keypad-hidden";
1418 target: "area.hide-keypad";
1422 signal: "mouse,up,1";
1423 source: "button.hide-keypad";
1424 action: STATE_SET "default" 0.0;
1425 transition: DECELERATE 0.1;
1426 target: "button.hide-keypad";
1427 target: "label.hide-keypad";
1430 signal: "mouse,down,1";
1431 source: "button.hide-keypad";
1432 action: STATE_SET "pressed" 0.0;
1433 transition: ACCELERATE 0.3;
1434 target: "button.hide-keypad";
1435 target: "label.hide-keypad";
1439 name: "hide-keypad-phase1";
1440 signal: "mouse,clicked,1";
1441 source: "button.hide-keypad";
1442 action: STATE_SET "default" 0.0;
1443 transition: ACCELERATE 0.3;
1444 target: "clipper.keypad-visible";
1445 target: "area.hide-keypad";
1446 after: "hide-keypad-phase2";
1449 name: "hide-keypad-phase2";
1450 action: STATE_SET "default" 0.0;
1451 transition: ACCELERATE 0.3;
1452 target: "clipper.keypad-hidden";
1456 name: "show-keypad-phase1";
1457 signal: "mouse,clicked,1";
1458 source: "button.keypad";
1459 action: STATE_SET "alternate" 0.0;
1460 transition: ACCELERATE 0.3;
1461 target: "clipper.keypad-hidden";
1462 after: "show-keypad-phase2";
1465 name: "show-keypad-phase2";
1466 action: STATE_SET "alternate" 0.0;
1467 transition: ACCELERATE 0.3;
1468 target: "area.hide-keypad";
1469 target: "clipper.keypad-visible";
1478 clip_to: "clipper.keypad-hidden";
1480 state: "default" 0.0;
1482 rel1.to: "area.answer";
1483 rel2.to: "button.hangup";
1488 name: "clipper.answer";
1491 clip_to: "clipper.keypad-hidden";
1493 state: "default" 0.0;
1494 color: 255 255 255 0;
1498 state: "visible" 0.0;
1499 inherit: "default" 0.0;
1500 color: 255 255 255 255;
1505 name: "area.answer";
1508 clip_to: "clipper.answer";
1510 state: "default" 0.0;
1513 rel1.to_y: "button.hangup";
1514 rel2.to_y: "button.hangup";
1517 state: "visible" 0.0;
1518 inherit: "default" 0.0;
1521 to_y: "button.hangup";
1523 offset: 0 -SEPARATOR_HEIGHT;
1526 to_y: "button.hangup";
1528 offset: -1 (-SEPARATOR_HEIGHT - 1);
1533 name: "button.answer";
1536 clip_to: "clipper.answer";
1538 state: "default" 0.0;
1539 color: 255 255 255 0;
1540 color_class: "action";
1541 rel1.to_y: "area.answer";
1542 rel2.to_y: "area.answer";
1545 state: "pressed" 0.0;
1546 inherit: "default" 0.0;
1547 color: 255 255 255 255;
1551 name: "label.answer";
1554 clip_to: "clipper.answer";
1556 state: "default" 0.0;
1557 color: 255 255 255 255;
1558 color_class: "action";
1559 rel1.to: "button.answer";
1560 rel2.to: "button.answer";
1569 state: "pressed" 0.0;
1570 inherit: "default" 0.0;
1576 signal: "mouse,up,1";
1577 source: "button.answer";
1578 action: SIGNAL_EMIT "released,answer" "call";
1579 after: "show_up_answer";
1580 api: "answer_released" "answer was released";
1583 name: "show_up_answer";
1584 action: STATE_SET "default" 0.0;
1585 transition: DECELERATE 0.1;
1586 target: "button.answer";
1587 target: "label.answer";
1590 signal: "mouse,down,1";
1591 source: "button.answer";
1592 after: "show_down_answer";
1593 action: SIGNAL_EMIT "pressed,answer" "call";
1594 api: "answer_pressed" "answer was pressed";
1597 name: "show_down_answer";
1598 action: STATE_SET "pressed" 0.0;
1599 transition: ACCELERATE 0.3;
1600 target: "button.answer";
1601 target: "label.answer";
1604 signal: "mouse,clicked,1";
1605 source: "button.answer";
1606 action: SIGNAL_EMIT "clicked,answer" "call";
1607 api: "answer_clicked" "answer was clicked";
1611 signal: "show,answer";
1613 action: STATE_SET "visible" 0.0;
1614 target: "area.answer";
1615 target: "clipper.answer";
1616 api: "answer_show" "make answer button visible";
1619 signal: "hide,answer";
1621 action: STATE_SET "default" 0.0;
1622 target: "area.answer";
1623 target: "clipper.answer";
1624 api: "answer_hide" "make answer button hidden";
1629 name: "button.hangup";
1632 clip_to: "clipper.multiparty-details-hidden";
1634 state: "default" 0.0;
1635 color: 255 255 255 255;
1639 offset: 0 -ACTION_HEIGHT;
1647 state: "pressed" 0.0;
1648 inherit: "default" 0.0;
1649 color_class: "caution";
1653 name: "label.hangup";
1656 clip_to: "clipper.multiparty-details-hidden";
1658 state: "default" 0.0;
1659 color: 255 255 255 255;
1660 color_class: "caution";
1661 rel1.to: "button.hangup";
1662 rel2.to: "button.hangup";
1671 state: "pressed" 0.0;
1672 inherit: "default" 0.0;
1678 signal: "mouse,up,1";
1679 source: "button.hangup";
1680 action: SIGNAL_EMIT "released,hangup" "call";
1681 api: "hangup_released" "hangup was released";
1682 after: "show_up_hangup";
1685 name: "show_up_hangup";
1686 action: STATE_SET "default" 0.0;
1687 transition: DECELERATE 0.1;
1688 target: "button.hangup";
1689 target: "label.hangup";
1692 signal: "mouse,down,1";
1693 source: "button.hangup";
1694 after: "show_down_hangup";
1695 action: SIGNAL_EMIT "pressed,hangup" "call";
1696 api: "hangup_pressed" "hangup was pressed";
1699 name: "show_down_hangup";
1700 action: STATE_SET "pressed" 0.0;
1701 transition: ACCELERATE 0.3;
1702 target: "button.hangup";
1703 target: "label.hangup";
1706 signal: "mouse,clicked,1";
1707 source: "button.hangup";
1708 action: SIGNAL_EMIT "clicked,hangup" "call";
1709 api: "hangup_clicked" "hangup was clicked";
1713 /* multiparty options */
1715 name: "clipper.multiparty-details-hidden";
1718 state: "default" 0.0;
1719 color: 255 255 255 255;
1723 state: "alternate" 0.0;
1724 inherit: "default" 0.0;
1725 color: 255 255 255 0;
1730 name: "clipper.multiparty-details-visible";
1732 clip_to: "clipper.waiting-hidden";
1734 state: "default" 0.0;
1735 color: 255 255 255 0;
1739 state: "alternate" 0.0;
1740 inherit: "default" 0.0;
1741 color: 255 255 255 255;
1746 name: "label.multiparty";
1750 clip_to: "clipper.multiparty-details-visible";
1752 state: "default" 0.0;
1753 color: 255 255 255 255;
1754 color_class: "action";
1756 rel1.offset: BORDER_PADDING 0;
1759 offset: (-BORDER_PADDING - 1) ACTION_HEIGHT;
1765 size_range: SIZE_TINY SIZE_HUGE;
1772 SEPARATOR("multiparty-details", "clipper.multiparty-details-visible", 0.0, -SEPARATOR_HEIGHT, "elm.swallow.multiparty-details");
1775 name: "elm.swallow.multiparty-details";
1778 clip_to: "clipper.multiparty-details-visible";
1779 api: "multiparty_details" "swallow to hold the multiparty details";
1781 state: "default" 0.0;
1785 offset: 0 (ACTION_HEIGHT + SEPARATOR_HEIGHT);
1789 offset: -1 (-ACTION_HEIGHT - SEPARATOR_HEIGHT);
1793 state: "alternate" 0.0;
1794 inherit: "default" 0.0;
1798 offset: 0 (ACTION_HEIGHT + SEPARATOR_HEIGHT);
1802 offset: -1 (-ACTION_HEIGHT - SEPARATOR_HEIGHT);
1807 SEPARATOR("multiparty-details-back", "clipper.multiparty-details-visible", 0.0, -SEPARATOR_HEIGHT, "button.multiparty-details-back");
1809 name: "button.multiparty-details-back";
1812 clip_to: "clipper.multiparty-details-visible";
1814 state: "default" 0.0;
1815 color: 255 255 255 255;
1819 offset: 0 -ACTION_HEIGHT;
1827 state: "pressed" 0.0;
1828 inherit: "default" 0.0;
1829 color_class: "action";
1833 name: "label.multiparty-details-back";
1836 clip_to: "clipper.multiparty-details-visible";
1838 state: "default" 0.0;
1839 color: 255 255 255 255;
1840 color_class: "action";
1841 rel1.to: "button.multiparty-details-back";
1842 rel2.to: "button.multiparty-details-back";
1851 state: "pressed" 0.0;
1852 inherit: "default" 0.0;
1858 signal: "mouse,up,1";
1859 source: "button.multiparty-details-back";
1860 action: STATE_SET "default" 0.0;
1861 transition: DECELERATE 0.1;
1862 target: "button.multiparty-details-back";
1863 target: "label.multiparty-details-back";
1866 signal: "mouse,down,1";
1867 source: "button.multiparty-details-back";
1868 action: STATE_SET "pressed" 0.0;
1869 transition: ACCELERATE 0.3;
1870 target: "button.multiparty-details-back";
1871 target: "label.multiparty-details-back";
1874 signal: "mouse,clicked,1";
1875 source: "button.multiparty-details-back";
1876 action: SIGNAL_EMIT "hide,multiparty-details" "call";
1879 signal: "multiparty,private";
1881 action: SIGNAL_EMIT "hide,multiparty-details" "call";
1887 name: "hide-multiparty-details-phase1";
1888 signal: "hide,multiparty-details";
1890 action: STATE_SET "default" 0.0;
1891 transition: ACCELERATE 0.3;
1892 target: "clipper.multiparty-details-visible";
1893 target: "elm.swallow.multiparty-details";
1894 after: "hide-multiparty-details-phase2";
1895 api: "multiparty_details_hide" "make multiparty-details popup hidden";
1898 name: "hide-multiparty-details-phase2";
1899 action: STATE_SET "default" 0.0;
1900 transition: ACCELERATE 0.3;
1901 target: "clipper.multiparty-details-hidden";
1905 signal: "clicked,held-multiparty"; /* just show on user request */
1907 after: "show-multiparty-details-phase1";
1911 name: "show-multiparty-details-phase1";
1912 signal: "clicked,multiparty"; /* just show on user request */
1914 action: STATE_SET "alternate" 0.0;
1915 transition: ACCELERATE 0.3;
1916 target: "clipper.multiparty-details-hidden";
1917 after: "show-multiparty-details-phase2";
1918 api: "multiparty_details_show" "make multiparty-details popup visible";
1921 name: "show-multiparty-details-phase2";
1922 action: STATE_SET "alternate" 0.0;
1923 transition: ACCELERATE 0.3;
1924 target: "elm.swallow.multiparty-details";
1925 target: "clipper.multiparty-details-visible";
1931 name: "clipper.waiting-hidden";
1934 state: "default" 0.0;
1935 color: 255 255 255 255;
1939 state: "alternate" 0.0;
1940 inherit: "default" 0.0;
1941 color: 255 255 255 0;
1946 name: "clipper.waiting-visible";
1949 state: "default" 0.0;
1950 color: 255 255 255 0;
1954 state: "alternate" 0.0;
1955 inherit: "default" 0.0;
1956 color: 255 255 255 255;
1961 name: "area.waiting";
1964 clip_to: "clipper.waiting-visible";
1966 state: "default" 0.0;
1967 color: 255 255 255 255;
1973 to: "separator.dark.waiting-hangup";
1975 offset: 0 (-ACTION_HEIGHT - SEPARATOR_HEIGHT);
1983 state: "alternate" 0.0;
1984 inherit: "default" 0.0;
1993 #define BUTTON(id, label, colcls, prev) \
1994 SEPARATOR(id, "clipper."##id, 0.0, -SEPARATOR_HEIGHT, "button."##id); \
1996 name: "clipper."##id; \
1998 clip_to: "clipper.waiting-visible"; \
2000 state: "default" 0.0; \
2001 color: 255 255 255 255; \
2004 state: "hidden" 0.0; \
2005 inherit: "default" 0.0; \
2006 color: 255 255 255 0; \
2011 name: "button."##id; \
2014 clip_to: "clipper."##id; \
2016 state: "default" 0.0; \
2017 color: 255 255 255 0; \
2018 color_class: colcls; \
2021 relative: 0.0 0.0; \
2022 offset: 0 -ACTION_HEIGHT; \
2026 relative: 1.0 0.0; \
2031 state: "pressed" 0.0; \
2032 inherit: "default" 0.0; \
2033 color: 255 255 255 255; \
2036 state: "hidden" 0.0; \
2037 inherit: "default" 0.0; \
2040 relative: 0.0 0.0; \
2041 offset: 0 SEPARATOR_HEIGHT; \
2045 relative: 1.0 0.0; \
2046 offset: -1 (ACTION_HEIGHT + SEPARATOR_HEIGHT - 1); \
2051 name: "label."##id; \
2054 clip_to: "clipper."##id; \
2056 state: "default" 0.0; \
2057 color: 255 255 255 255; \
2058 color_class: colcls; \
2060 to: "button."##id; \
2061 offset: BORDER_PADDING 0; \
2064 to: "button."##id; \
2065 offset: (-BORDER_PADDING - 1) -1; \
2069 font: FONT_NORMAL; \
2075 state: "pressed" 0.0; \
2076 inherit: "default" 0.0; \
2077 color_class: "bg"; \
2082 signal: "mouse,up,1"; \
2083 source: "button."##id; \
2084 action: SIGNAL_EMIT "released,"##id "call"; \
2085 api: id"_released" id" was released"; \
2086 after: "show_up_"##id; \
2089 name: "show_up_"##id; \
2090 action: STATE_SET "default" 0.0; \
2091 transition: DECELERATE 0.1; \
2092 target: "button."##id; \
2093 target: "label."##id; \
2096 signal: "mouse,down,1"; \
2097 source: "button."##id; \
2098 after: "show_down_"##id; \
2099 action: SIGNAL_EMIT "pressed,"##id "call"; \
2100 api: id"_pressed" id" was pressed"; \
2103 name: "show_down_"##id; \
2104 action: STATE_SET "pressed" 0.0; \
2105 transition: ACCELERATE 0.3; \
2106 target: "button."##id; \
2107 target: "label."##id; \
2110 signal: "mouse,clicked,1"; \
2111 source: "button."##id; \
2112 action: SIGNAL_EMIT "clicked,"##id "call"; \
2113 api: id"_clicked" id" was clicked"; \
2117 BUTTON("waiting-hangup", "Decline", "action", "separator.dark.hold-answer");
2118 BUTTON("hold-answer", "Hold + Answer", "action", "separator.dark.hangup-answer");
2119 BUTTON("hangup-answer", "Hangup + Answer", "caution", "separator.dark.waiting-last");
2122 SEPARATOR("waiting-last", "clipper.waiting-visible", 1.0, 0, "");
2123 SEPARATOR("waiting", "clipper.waiting-visible", 0.0, 0, "area.waiting");
2125 name: "elm.text.waiting";
2129 clip_to: "clipper.waiting-visible";
2130 api: "waiting" "waiting call name";
2132 state: "default" 0.0;
2133 color: 255 255 255 255;
2134 color_class: "disabled";
2137 offset: BORDER_PADDING SEPARATOR_HEIGHT;
2142 offset: (-BORDER_PADDING - 1) (ACTION_HEIGHT + SEPARATOR_HEIGHT - 1);
2148 size_range: SIZE_TINY SIZE_HUGE;
2158 name: "hide-waiting-phase1";
2159 signal: "hide,waiting";
2161 action: STATE_SET "default" 0.0;
2162 transition: ACCELERATE 0.3;
2163 target: "clipper.waiting-visible";
2164 target: "area.waiting";
2165 after: "hide-waiting-phase2";
2166 api: "waiting_hide" "make waiting popup hidden";
2169 name: "hide-waiting-phase2";
2170 action: STATE_SET "default" 0.0;
2171 transition: ACCELERATE 0.3;
2172 target: "clipper.waiting-hidden";
2176 name: "show-waiting-phase1";
2177 signal: "show,waiting";
2179 action: STATE_SET "alternate" 0.0;
2180 transition: ACCELERATE 0.3;
2181 target: "clipper.waiting-hidden";
2182 after: "show-waiting-phase2";
2183 api: "waiting_show" "make waiting popup visible";
2186 name: "show-waiting-phase2";
2187 action: STATE_SET "alternate" 0.0;
2188 transition: ACCELERATE 0.3;
2189 target: "area.waiting";
2190 target: "clipper.waiting-visible";
2194 signal: "enable,merge";
2196 action: STATE_SET "hidden" 0.0;
2197 target: "button.hold-answer";
2198 target: "clipper.hold-answer";
2201 signal: "disable,merge";
2203 action: STATE_SET "default" 0.0;
2204 target: "button.hold-answer";
2205 target: "clipper.hold-answer";
2215 name: "elm/layout/dialer/activecall";
2218 * Represents the active call in the other screens (not callscreen)
2221 * TEXT: elm.text.name
2222 * TEXT: elm.text.status
2223 * TEXT: elm.text.elapsed
2225 * Emit (source is "call"):
2227 * Listen (source is "call"):
2228 * show,elapsed: have elapsed (elm.text.elapsed) and should be visible
2229 * hide,elapsed: don't have elapsed and it should be hidden
2230 * show,multiparty: active call is multiparty
2231 * hide,multiparty: active call is not multiparty
2232 * state,<STATE>: state changed to <STATE>
2234 * Where <STATE> is: disconnected, active, held, dialing, alerting,
2235 * incoming, waiting.
2244 state: "default" 0.0;
2245 color: 255 255 255 255;
2246 color_class: "action";
2247 max: 99999 (ACTION_HEIGHT / 2);
2248 min: 0 (ACTION_HEIGHT / 2);
2255 signal: "mouse,clicked,1";
2257 action: SIGNAL_EMIT "clicked" "call";
2262 name: "elm.text.name";
2266 state: "default" 0.0;
2267 color: 255 255 255 255;
2268 color_class: "dark";
2270 offset: BORDER_PADDING 0;
2274 to_x: "elm.text.elapsed";
2276 offset: (-ITEM_PADDING - 1) -1;
2279 text: "Gustavo Barbieri";
2289 name: "elm.text.elapsed";
2293 state: "default" 0.0;
2294 color: 255 255 255 255;
2295 color_class: "dark";
2300 offset: (-BORDER_PADDING - 1) 0;
2304 offset: (-BORDER_PADDING - 1) -1;