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
13 * Emit (source is "call"):
14 * pressed,<ID>: key <ID> was pressed
15 * released,<ID>: key <ID> was released
16 * clicked,<ID>: key <ID> was clicked (press and release in the key)
17 * Listen (source is "call"):
18 * show,answer: show "answer" action
19 * hide,answer: hide "answer" action
20 * show,elapsed: have elapsed (elm.text.elapsed) and should be visible
21 * hide,elapsed: don't have elapsed and it should be hidden
22 * state,<STATE>: state changed to <STATE>
23 * disable,<ID>: disable action <ID>
24 * enable,<ID>: enable action <ID>
25 * toggle,on,<ID>: mark toggle action <ID> as selected
26 * toggle,off,<ID>: mark toggle action <ID> as unselected
29 * 1 - FLOAT: speaker volume 0.0-1.0
30 * 2 - FLOAT: microphone volume 0.0-1.0
31 * 3 - FLOAT: elapsed time in seconds (> 0.0)
33 * Where <ID> is: numbers 0 to 9, star, hash, mute, keypad, speaker,
34 * merge, swap, contacts, answer, hangup.
36 * Where <STATE> is: disconnected, active, held, dialing, alerting,
43 image: "bg_call.jpg" COMP;
44 image: "bt_mute_pressed.png" COMP;
45 image: "bt_mute_released.png" COMP;
46 image: "bt_keypad_pressed.png" COMP;
47 image: "bt_keypad_released.png" COMP;
48 image: "bt_speaker_pressed.png" COMP;
49 image: "bt_speaker_released.png" COMP;
50 image: "bt_merge_pressed.png" COMP;
51 image: "bt_merge_released.png" COMP;
52 image: "bt_swap_pressed.png" COMP;
53 image: "bt_swap_released.png" COMP;
54 image: "bt_contacts_pressed.png" COMP;
55 image: "bt_contacts_released.png" COMP;
65 color: 255 255 255 255;
69 normal: "bg_call.jpg";
77 name: "elm.text.name";
81 api: "name" "remote party call name";
84 color: 255 255 255 255;
85 color_class: "action";
93 text: "Gustavo Barbieri";
105 name: "elm.text.status";
109 api: "status" "call status";
111 state: "default" 0.0;
112 color: 255 255 255 255;
113 color_class: "light";
137 name: "elm.text.elapsed";
141 api: "elapsed" "call elapsed time (formatted)";
143 state: "default" 0.0;
144 color: 255 255 255 255;
145 color_class: "light";
149 to: "elm.text.status";
154 to: "elm.text.status";
168 #define SEPARATOR(id, clip, rely, offy, relto) \
170 name: "separator.dark."##id; \
175 state: "default" 0.0; \
176 color: 255 255 255 255; \
177 color_class: "dark"; \
179 relative: 0.0 rely; \
184 relative: 1.0 rely; \
185 offset: -1 (offy + 4); \
191 name: "separator.bg."##id; \
196 state: "default" 0.0; \
197 color: 255 255 255 255; \
200 relative: 0.0 rely; \
201 offset: 0 (offy + 4); \
205 relative: 1.0 rely; \
206 offset: -1 (offy + 8); \
212 SEPARATOR("actions", "clipper.actions", 0.0, -8, "bg.actions");
218 clip_to: "clipper.keypad-hidden";
220 state: "default" 0.0;
223 max: 720 99999; /* keep it tight centered */
238 name: "clipper.actions";
241 clip_to: "clipper.keypad-hidden";
243 state: "default" 0.0;
244 color: 255 255 255 0;
248 state: "visible" 0.0;
249 inherit: "default" 0.0;
250 color: 255 255 255 255;
256 name: "show,actions";
257 action: STATE_SET "visible" 0.0;
258 transition: DECELERATE 0.3;
259 target: "clipper.actions";
262 name: "hide,actions";
263 action: STATE_SET "default" 0.0;
264 transition: ACCELERATE 0.3;
265 target: "clipper.actions";
269 signal: "state,disconnected";
271 after: "hide,actions";
274 signal: "state,active";
276 after: "show,actions";
279 signal: "state,held";
281 after: "hide,actions";
284 signal: "state,dialing";
286 after: "hide,actions";
289 signal: "state,alerting";
291 after: "hide,actions";
294 signal: "state,incoming";
296 after: "hide,actions";
300 #define ACTION_BUTTON(id, img, r1, r2) \
302 name: "clipper."##id; \
304 clip_to: "clipper.actions"; \
306 state: "default" 0.0; \
307 color: 255 255 255 255; \
308 rel1.to: "button."##id; \
309 rel2.to: "button."##id; \
312 state: "disabled" 0.0; \
313 inherit: "default" 0.0; \
314 color_class: "disabled"; \
317 state: "hidden" 0.0; \
318 inherit: "default" 0.0; \
319 color: 255 255 255 0; \
324 name: "button."##id; \
327 clip_to: "clipper."##id; \
329 state: "default" 0.0; \
330 color: 255 255 255 255; \
331 color_class: "action"; \
344 image.normal: "bt_"##img"_released.png"; \
347 state: "pressed" 0.0; \
348 inherit: "default" 0.0; \
349 color: 255 255 255 0; \
354 name: "button.over."##id; \
356 clip_to: "clipper."##id; \
359 state: "default" 0.0; \
360 color: 255 255 255 0; \
362 color_class: "action"; \
363 rel1.to: "button."##id; \
364 rel2.to: "button."##id; \
365 image.normal: "bt_"##img"_pressed.png"; \
368 state: "pressed" 0.0; \
369 inherit: "default" 0.0; \
370 color: 255 255 255 255; \
375 name: "blocker."##id; \
378 clip_to: "clipper."##id; \
380 state: "default" 0.0; \
385 state: "disabled" 0.0; \
386 inherit: "default" 0.0; \
392 signal: "mouse,up,1"; \
393 source: "button."##id; \
394 action: SIGNAL_EMIT "released,"##id "call"; \
395 after: "show_up_"##id; \
396 api: id"_released" id" was released"; \
399 name: "show_up_"##id; \
400 action: STATE_SET "default" 0.0; \
401 transition: DECELERATE 0.1; \
402 target: "button."##id; \
403 target: "button.over."##id; \
406 signal: "mouse,down,1"; \
407 source: "button."##id; \
408 after: "show_down_"##id; \
409 action: SIGNAL_EMIT "pressed,"##id "call"; \
410 api: id"_pressed" id" was pressed"; \
413 name: "show_down_"##id; \
414 action: STATE_SET "pressed" 0.0; \
415 transition: ACCELERATE 0.1; \
416 target: "button."##id; \
417 target: "button.over."##id; \
420 signal: "mouse,clicked,1"; \
421 source: "button."##id; \
422 action: SIGNAL_EMIT "clicked,"##id "call"; \
423 api: id"_clicked" id" was clicked"; \
426 signal: "disable,"##id; \
428 action: STATE_SET "disabled" 0.0; \
429 target: "blocker."##id; \
430 target: "clipper."##id; \
433 signal: "enable,"##id; \
435 action: STATE_SET "default" 0.0; \
436 target: "blocker."##id; \
437 target: "clipper."##id; \
441 #define ACTION_TOGGLE(id, img, r1, r2) \
443 name: "clipper."##id; \
445 clip_to: "clipper.actions"; \
447 state: "default" 0.0; \
448 color: 255 255 255 255; \
449 rel1.to: "button."##id; \
450 rel2.to: "button."##id; \
453 state: "disabled" 0.0; \
454 inherit: "default" 0.0; \
455 color_class: "disabled"; \
458 state: "hidden" 0.0; \
459 inherit: "default" 0.0; \
460 color: 255 255 255 0; \
465 name: "button."##id; \
468 clip_to: "clipper.toggle."##id; \
470 state: "default" 0.0; \
471 color: 255 255 255 255; \
472 color_class: "action"; \
485 image.normal: "bt_"##img"_released.png"; \
488 state: "pressed" 0.0; \
489 inherit: "default" 0.0; \
490 color: 255 255 255 0; \
495 name: "button.over."##id; \
497 clip_to: "clipper."##id; \
499 state: "default" 0.0; \
500 color: 255 255 255 0; \
502 color_class: "action"; \
503 rel1.to: "button."##id; \
504 rel2.to: "button."##id; \
505 image.normal: "bt_"##img"_pressed.png"; \
508 state: "pressed" 0.0; \
509 inherit: "default" 0.0; \
510 color: 255 255 255 255; \
515 name: "clipper.toggle."##id; \
517 clip_to: "clipper."##id; \
520 state: "default" 0.0; \
521 color: 255 255 255 255; \
526 inherit: "default" 0.0; \
527 color: 255 255 255 0; \
532 name: "button.toggle."##id; \
534 clip_to: "clipper."##id; \
537 state: "default" 0.0; \
538 color: 255 255 255 0; \
540 color_class: "action"; \
541 rel1.to: "button."##id; \
542 rel2.to: "button."##id; \
543 image.normal: "bt_"##img"_pressed.png"; \
547 inherit: "default" 0.0; \
548 color: 255 255 255 255; \
553 name: "blocker."##id; \
556 clip_to: "clipper."##id; \
558 state: "default" 0.0; \
563 state: "disabled" 0.0; \
564 inherit: "default" 0.0; \
570 signal: "mouse,up,1"; \
571 source: "button."##id; \
572 action: SIGNAL_EMIT "released,"##id "call"; \
573 api: id"_released" id" was released"; \
574 after: "show_up_"##id; \
577 name: "show_up_"##id; \
578 action: STATE_SET "default" 0.0; \
579 transition: DECELERATE 0.1; \
580 target: "button."##id; \
581 target: "button.over."##id; \
584 signal: "mouse,down,1"; \
585 source: "button."##id; \
586 after: "show_down_"##id; \
587 action: SIGNAL_EMIT "pressed,"##id "call"; \
588 api: id"_pressed" id" was pressed"; \
591 name: "show_down_"##id; \
592 action: STATE_SET "pressed" 0.0; \
593 transition: ACCELERATE 0.1; \
594 target: "button."##id; \
595 target: "button.over."##id; \
598 signal: "mouse,clicked,1"; \
599 source: "button."##id; \
600 action: SIGNAL_EMIT "clicked,"##id "call"; \
601 api: id"_clicked" id" was clicked"; \
604 signal: "mouse,clicked,1"; \
605 source: "button.toggle."##id; \
606 action: SIGNAL_EMIT "clicked,"##id "call"; \
607 api: id"_clicked" id" was clicked"; \
610 signal: "disable,"##id; \
612 action: STATE_SET "disabled" 0.0; \
613 target: "blocker."##id; \
614 target: "clipper."##id; \
617 signal: "enable,"##id; \
619 action: STATE_SET "default" 0.0; \
620 target: "blocker."##id; \
621 target: "clipper."##id; \
624 signal: "toggle,on,"##id; \
626 action: STATE_SET "on" 0.0; \
627 target: "clipper.toggle."##id; \
628 target: "button.toggle."##id; \
631 signal: "toggle,off,"##id; \
633 action: STATE_SET "default" 0.0; \
634 target: "clipper.toggle."##id; \
635 target: "button.toggle."##id; \
639 ACTION_TOGGLE("mute", "mute", 0.000000000 0.0, 0.333333333 0.5);
640 ACTION_BUTTON("keypad", "keypad", 0.333333333 0.0, 0.666666666 0.5);
641 ACTION_TOGGLE("speaker", "speaker", 0.666666666 0.0, 1.000000000 0.5);
643 ACTION_BUTTON("merge", "merge", 0.000000000 0.5, 0.333333333 1.0);
644 ACTION_BUTTON("swap", "swap", 0.333333333 0.5, 0.666666666 1.0);
645 ACTION_BUTTON("contacts", "contacts",0.666666666 0.5, 1.000000000 1.0);
649 SEPARATOR("answer", "clipper.answer", 0.0, -8, "button.answer");
650 SEPARATOR("hangup", "", 0.0, -8, "button.hangup");
653 name: "clipper.keypad-hidden";
656 state: "default" 0.0;
657 color: 255 255 255 255;
661 state: "alternate" 0.0;
662 inherit: "default" 0.0;
663 color: 255 255 255 0;
668 name: "clipper.keypad-visible";
671 state: "default" 0.0;
672 color: 255 255 255 0;
676 state: "alternate" 0.0;
677 inherit: "default" 0.0;
678 color: 255 255 255 255;
685 SEPARATOR("hide-keypad", "clipper.keypad-visible", 0.0, -8, "button.hide-keypad");
686 SEPARATOR("keypad", "clipper.keypad-visible", 0.0, -8, "bg.keypad");
692 clip_to: "clipper.keypad-visible";
694 state: "default" 0.0;
697 max: 720 680; /* keep it tight centered */
700 offset: 0 -688; /* separator */
701 to_y: "button.hide-keypad";
705 offset: 0 -9; /* separator */
706 to_y: "button.hide-keypad";
710 #define BUTTON(id, label, sub, ccls, r1, r2) \
712 name: "button."##id; \
715 clip_to: "clipper.keypad-visible"; \
717 state: "default" 0.0; \
718 color: 255 255 255 0; \
719 color_class: "action"; \
731 state: "pressed" 0.0; \
732 inherit: "default" 0.0; \
733 color: 255 255 255 255; \
737 name: "label."##id; \
740 clip_to: "clipper.keypad-visible"; \
742 state: "default" 0.0; \
743 color: 255 255 255 255; \
745 rel1.to: "button."##id; \
758 state: "pressed" 0.0; \
759 inherit: "default" 0.0; \
760 color: 16 16 16 255; \
767 clip_to: "clipper.keypad-visible"; \
769 state: "default" 0.0; \
770 color: 255 255 255 255; \
771 color_class: "light"; \
777 rel2.to: "button."##id; \
780 font: "Verdana:style=Bold"; \
786 state: "pressed" 0.0; \
787 inherit: "default" 0.0; \
788 color: 16 16 16 255; \
793 signal: "mouse,up,1"; \
794 source: "button."##id; \
795 action: SIGNAL_EMIT "released,"##id "call"; \
796 after: "show_up_"##id; \
797 api: id"_released" id" was released"; \
800 name: "show_up_"##id; \
801 action: STATE_SET "default" 0.0; \
802 transition: DECELERATE 0.1; \
803 target: "button."##id; \
804 target: "label."##id; \
805 target: "sub."##id; \
808 signal: "mouse,down,1"; \
809 source: "button."##id; \
810 after: "show_down_"##id; \
811 action: SIGNAL_EMIT "pressed,"##id "call"; \
812 api: id"_pressed" id" was pressed"; \
815 name: "show_down_"##id; \
816 action: STATE_SET "pressed" 0.0; \
817 transition: ACCELERATE 0.3; \
818 target: "button."##id; \
819 target: "label."##id; \
820 target: "sub."##id; \
823 signal: "mouse,clicked,1"; \
824 source: "button."##id; \
825 action: SIGNAL_EMIT "clicked,"##id "call"; \
826 api: id"_clicked" id" was clicked"; \
830 BUTTON("1", "1", "", "action", 0.000 0.0, 0.333 0.25);
831 BUTTON("2", "2", "ABC", "action", 0.333 0.0, 0.666 0.25);
832 BUTTON("3", "3", "DEF", "action", 0.666 0.0, 1.000 0.25);
834 BUTTON("4", "4", "GHI", "action", 0.000 0.25, 0.333 0.50);
835 BUTTON("5", "5", "JKL", "action", 0.333 0.25, 0.666 0.50);
836 BUTTON("6", "6", "MNO", "action", 0.666 0.25, 1.000 0.50);
838 BUTTON("7", "7", "PQRS", "action", 0.000 0.50, 0.333 0.75);
839 BUTTON("8", "8", "TUV", "action", 0.333 0.50, 0.666 0.75);
840 BUTTON("9", "9", "WXYZ", "action", 0.666 0.50, 1.000 0.75);
842 BUTTON("star", "*", "", "light", 0.000 0.75, 0.333 1.00);
843 BUTTON("0", "0", "+", "action", 0.333 0.75, 0.666 1.00);
844 BUTTON("hash", "#", "", "light", 0.666 0.75, 1.000 1.00);
848 name: "area.hide-keypad";
851 clip_to: "clipper.keypad-visible";
853 state: "default" 0.0;
857 to_y: "button.hangup";
862 to_y: "button.hangup";
868 state: "alternate" 0.0;
869 inherit: "default" 0.0;
872 to_y: "button.hangup";
874 offset: 0 -8; /* separator */
877 to_y: "button.hangup";
879 offset: -1 -9; /* separator */
884 name: "button.hide-keypad";
887 clip_to: "clipper.keypad-visible";
889 state: "default" 0.0;
890 color: 255 255 255 0;
891 color_class: "action";
892 rel1.to_y: "area.hide-keypad";
893 rel2.to_y: "area.hide-keypad";
896 state: "pressed" 0.0;
897 inherit: "default" 0.0;
898 color: 255 255 255 255;
902 name: "label.hide-keypad";
905 clip_to: "clipper.keypad-visible";
907 state: "default" 0.0;
908 color: 255 255 255 255;
909 color_class: "action";
910 rel1.to: "button.hide-keypad";
911 rel2.to: "button.hide-keypad";
920 state: "pressed" 0.0;
921 inherit: "default" 0.0;
927 signal: "mouse,up,1";
928 source: "button.hide-keypad";
929 action: STATE_SET "default" 0.0;
930 transition: DECELERATE 0.1;
931 target: "button.hide-keypad";
932 target: "label.hide-keypad";
935 signal: "mouse,down,1";
936 source: "button.hide-keypad";
937 action: STATE_SET "pressed" 0.0;
938 transition: ACCELERATE 0.3;
939 target: "button.hide-keypad";
940 target: "label.hide-keypad";
944 name: "hide-keypad-phase1";
945 signal: "mouse,clicked,1";
946 source: "button.hide-keypad";
947 action: STATE_SET "default" 0.0;
948 transition: ACCELERATE 0.3;
949 target: "clipper.keypad-visible";
950 target: "area.hide-keypad";
951 after: "hide-keypad-phase2";
954 name: "hide-keypad-phase2";
955 action: STATE_SET "default" 0.0;
956 transition: ACCELERATE 0.3;
957 target: "clipper.keypad-hidden";
961 name: "show-keypad-phase1";
962 signal: "mouse,clicked,1";
963 source: "button.keypad";
964 action: STATE_SET "alternate" 0.0;
965 transition: ACCELERATE 0.3;
966 target: "clipper.keypad-hidden";
967 after: "show-keypad-phase2";
970 name: "show-keypad-phase2";
971 action: STATE_SET "alternate" 0.0;
972 transition: ACCELERATE 0.3;
973 target: "area.hide-keypad";
974 target: "clipper.keypad-visible";
983 clip_to: "clipper.keypad-hidden";
985 state: "default" 0.0;
987 rel1.to: "area.answer";
988 rel2.to: "button.hangup";
993 name: "clipper.answer";
996 clip_to: "clipper.keypad-hidden";
998 state: "default" 0.0;
999 color: 255 255 255 0;
1003 state: "visible" 0.0;
1004 inherit: "default" 0.0;
1005 color: 255 255 255 255;
1010 name: "area.answer";
1013 clip_to: "clipper.answer";
1015 state: "default" 0.0;
1018 rel1.to_y: "button.hangup";
1019 rel2.to_y: "button.hangup";
1022 state: "visible" 0.0;
1023 inherit: "default" 0.0;
1026 to_y: "button.hangup";
1028 offset: 0 -8; /* separator */
1031 to_y: "button.hangup";
1033 offset: -1 -9; /* separator */
1038 name: "button.answer";
1041 clip_to: "clipper.answer";
1043 state: "default" 0.0;
1044 color: 255 255 255 0;
1045 color_class: "action";
1046 rel1.to_y: "area.answer";
1047 rel2.to_y: "area.answer";
1050 state: "pressed" 0.0;
1051 inherit: "default" 0.0;
1052 color: 255 255 255 255;
1056 name: "label.answer";
1059 clip_to: "clipper.answer";
1061 state: "default" 0.0;
1062 color: 255 255 255 255;
1063 color_class: "action";
1064 rel1.to: "button.answer";
1065 rel2.to: "button.answer";
1074 state: "pressed" 0.0;
1075 inherit: "default" 0.0;
1081 signal: "mouse,up,1";
1082 source: "button.answer";
1083 action: SIGNAL_EMIT "released,answer" "call";
1084 after: "show_up_answer";
1085 api: "answer_released" "answer was released";
1088 name: "show_up_answer";
1089 action: STATE_SET "default" 0.0;
1090 transition: DECELERATE 0.1;
1091 target: "button.answer";
1092 target: "label.answer";
1095 signal: "mouse,down,1";
1096 source: "button.answer";
1097 after: "show_down_answer";
1098 action: SIGNAL_EMIT "pressed,answer" "call";
1099 api: "answer_pressed" "answer was pressed";
1102 name: "show_down_answer";
1103 action: STATE_SET "pressed" 0.0;
1104 transition: ACCELERATE 0.3;
1105 target: "button.answer";
1106 target: "label.answer";
1109 signal: "mouse,clicked,1";
1110 source: "button.answer";
1111 action: SIGNAL_EMIT "clicked,answer" "call";
1112 api: "answer_clicked" "answer was clicked";
1116 signal: "show,answer";
1118 action: STATE_SET "visible" 0.0;
1119 target: "area.answer";
1120 target: "clipper.answer";
1123 signal: "hide,answer";
1125 action: STATE_SET "default" 0.0;
1126 target: "area.answer";
1127 target: "clipper.answer";
1132 name: "button.hangup";
1136 state: "default" 0.0;
1137 color: 255 255 255 255;
1149 state: "pressed" 0.0;
1150 inherit: "default" 0.0;
1151 color_class: "caution";
1155 name: "label.hangup";
1159 state: "default" 0.0;
1160 color: 255 255 255 255;
1161 color_class: "caution";
1162 rel1.to: "button.hangup";
1163 rel2.to: "button.hangup";
1172 state: "pressed" 0.0;
1173 inherit: "default" 0.0;
1179 signal: "mouse,up,1";
1180 source: "button.hangup";
1181 action: SIGNAL_EMIT "released,hangup" "call";
1182 api: "hangup_released" "hangup was released";
1183 after: "show_up_hangup";
1186 name: "show_up_hangup";
1187 action: STATE_SET "default" 0.0;
1188 transition: DECELERATE 0.1;
1189 target: "button.hangup";
1190 target: "label.hangup";
1193 signal: "mouse,down,1";
1194 source: "button.hangup";
1195 after: "show_down_hangup";
1196 action: SIGNAL_EMIT "pressed,hangup" "call";
1197 api: "hangup_pressed" "hangup was pressed";
1200 name: "show_down_hangup";
1201 action: STATE_SET "pressed" 0.0;
1202 transition: ACCELERATE 0.3;
1203 target: "button.hangup";
1204 target: "label.hangup";
1207 signal: "mouse,clicked,1";
1208 source: "button.hangup";
1209 action: SIGNAL_EMIT "clicked,hangup" "call";
1210 api: "hangup_clicked" "hangup was clicked";