FreeCalypso > hg > tcs211-fcmodem
comparison g23m/condat/ms/src/bmi/mmiemscreate.c @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:509db1a7b7b8 |
---|---|
1 | |
2 /******************************************************************************* | |
3 | |
4 TI (Shanghai) | |
5 | |
6 ******************************************************************************** | |
7 | |
8 This software product is the property of TI (Shanghai) Ltd and may not be | |
9 disclosed to any third party without the express permission of the owner. | |
10 | |
11 ******************************************************************************** | |
12 | |
13 $Project name: TISHMMS Project | |
14 $Project code: BMI (6349) | |
15 $Module: MMS | |
16 $File: MmiEMSCreate.c | |
17 $Revision: 1.0 | |
18 | |
19 $Author: Pinghua create (pinghua-zhang@ti.com ) | |
20 $Date: 26/08/03 | |
21 | |
22 ******************************************************************************** | |
23 | |
24 Description: | |
25 | |
26 This module provides definitions of the types and | |
27 constants which are shared across the MMS | |
28 application modules. | |
29 | |
30 ******************************************************************************** | |
31 $History: MmiMMSCreate.h | |
32 | |
33 xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
34 Added more parameters to the information_dialog function | |
35 | |
36 MMI-SPR-27384 Dec-16-2004 - xreddymn | |
37 Modifications for EMS inbox presentation | |
38 | |
39 xrashmic 9 Dec, 2004 MMI-SPR-27385 | |
40 Description: No response on selecting the EMS preview option | |
41 Solution: Removed the EMS preview option, since the editor itself acts as preview. | |
42 | |
43 xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
44 Description: Not able to extract the objects in EMS message | |
45 Solution: Extract and store the objects in the Object Manager | |
46 | |
47 MMI-SPR-25278: Nov-29-2004 - xreddymn | |
48 Implemented FFS limits for MMS/EMS storage | |
49 | |
50 CRR: 25302 - xpradipg 10 Nov 2004 | |
51 Description: Should be able to select the number fro the phonebook while | |
52 sending MMS/EMS. | |
53 Solution: The new feature to select the number from phonebook while sending | |
54 MMS/EMS is added | |
55 | |
56 CRR: 25329 - xpradipg 27 Oct 2004 | |
57 Description: Delete option in EMS create does not work | |
58 Solution: the option is removed since a Softkey is provided in the compose | |
59 screen, that can be used to delete objects directly. | |
60 | |
61 MMI-SPR-25273: Oct-14-2004 - xreddymn | |
62 Description: EMS forward not working | |
63 Solution: Added changes to implement the EMS forward feature | |
64 | |
65 CRR: 25291 - xrashmic 14 Oct 2004 | |
66 Description: The sent EMS is stored in unsent folder. | |
67 Solution: The Outbox has been removed, instead we now have Sent folder for the sent EMS | |
68 | |
69 CRR: 24741 - xpradipg 17 Sept 2004 | |
70 Description: Default values to be removed in text editor of MMS and EMS | |
71 Solution: The buffer assigned to the text editor is reset. | |
72 | |
73 MMI-SPR-24735: Sep-16-2004 - xreddymn | |
74 Added changes to reduce flickering of EMS editor screen when the user is | |
75 deleting or navigating | |
76 | |
77 xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
78 Description: No indication of the EMS sent. Also after sending EMS, the option | |
79 screen is displayed. | |
80 Solution: Implemented the indication of EMS sent screen. | |
81 | |
82 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): Aug-17-2004 - xreddymn | |
83 Keep track of MMS/EMS display | |
84 | |
85 CRR: 23942 - xpradipg 26 Aug 2004 | |
86 Description: Default values to be removed in text editor of MMS and EMS | |
87 Solution: The buffer assigned to the text editor is reset. | |
88 | |
89 CRR: 23942 - xpradipg 26 Aug 2004 | |
90 Description: Default values to be removed in number editor of MMS and EMS | |
91 Solution: The strcpy() of the hardcoded numbers to the editor buffer are commented | |
92 | |
93 Bug Id 23 : 16 Aug, 2004 - xpradipg | |
94 Description:Remove insert slide form options menu | |
95 Solution: removed the insert slide item from the menu item array | |
96 | |
97 17/01/04 Replace mfw edit with AUI edit. | |
98 26/08/03 Original TI(Shanghai) BMI version. | |
99 | |
100 $End | |
101 | |
102 *******************************************************************************/ | |
103 #define MMI_MMSCREATE_C | |
104 | |
105 #define ENTITY_MFW | |
106 | |
107 /* includes */ | |
108 #include <string.h> | |
109 #include <stdio.h> | |
110 #include <stdlib.h> | |
111 | |
112 #if defined (NEW_FRAME) | |
113 | |
114 #include "typedefs.h" | |
115 #include "vsi.h" | |
116 #include "pei.h" | |
117 #include "custom.h" | |
118 #include "gsm.h" | |
119 | |
120 #else | |
121 | |
122 #include "STDDEFS.H" | |
123 #include "custom.h" | |
124 #include "gsm.h" | |
125 #include "vsi.h" | |
126 | |
127 #endif | |
128 #include "prim.h" | |
129 | |
130 | |
131 #include "mfw_mfw.h" | |
132 #include "mfw_win.h" | |
133 #include "mfw_kbd.h" | |
134 //#include "mfw_edt.h" | |
135 #include "mfw_tim.h" | |
136 #include "mfw_phb.h" | |
137 #include "ksd.h" | |
138 #include "psa.h" | |
139 #include "mfw_sms.h" | |
140 #include "mfw_smsi.h" | |
141 #include "mfw_icn.h" | |
142 #include "mfw_mnu.h" | |
143 #include "mfw_lng.h" | |
144 #include "mfw_sat.h" | |
145 #include "mfw_kbd.h" | |
146 #include "mfw_nm.h" | |
147 | |
148 #include "psa_util.h" | |
149 | |
150 #include "dspl.h" | |
151 // #include "unicode_types.h" | |
152 | |
153 #include "MmiMain.h" | |
154 #include "MmiDummy.h" | |
155 //#include "MmiLists.h" | |
156 #include "MmiMmi.h" | |
157 #include "mmiCall.h"//GW 29/11/01 for 'callNumber' | |
158 | |
159 #include "MmiDialogs.h" | |
160 #include "MmiLists.h" | |
161 #include "MmiMenu.h" | |
162 #include "MmiSoftKeys.h" | |
163 | |
164 #ifdef NEW_EDITOR | |
165 #include "ATBCommon.h" | |
166 #include "ATBDisplay.h" | |
167 #include "ATBEditor.h" | |
168 #include "AUIEditor.h" | |
169 #else /* NEW_EDITOR */ | |
170 #ifdef EASY_TEXT_ENABLED | |
171 #include "MmiLatinPredText.h" | |
172 #endif /* EASY_TEXT_ENABLED */ | |
173 #include "MmiEditor.h" | |
174 #endif /* NEW_EDITOR */ | |
175 | |
176 #include "MmiBookShared.h" // MZ | |
177 #include "mmimmsmenu.h" | |
178 #include "mmiemscreate.h" // pinghua modify | |
179 #include "mmimmscreate.h" | |
180 #include "mmimmsom.h" | |
181 #include "mmiwindow.h" | |
182 #include "mfw_ffs.h" | |
183 | |
184 #include "cus_aci.h" | |
185 | |
186 #include "prim.h" | |
187 #ifndef PCM_2_FFS | |
188 #include "pcm.h" | |
189 #endif | |
190 | |
191 | |
192 #include "aci_cmh.h" //GW 29/11/01 added for types in aci_fd.h | |
193 #include "aci_fd.h" //GW 29/11/01 added for types in 'cmh.h' | |
194 #include "cmh.h" //GW 29/11/01 added for types in 'cmh_phb.h' | |
195 #include "cmh_phb.h" //GW 29/11/01 added for cmhPHB_getAdrStr | |
196 | |
197 #include "mmiColours.h" | |
198 | |
199 | |
200 // ronaldc 8-5 | |
201 | |
202 #include "mg4def.h" | |
203 #include "evtdefs.h" | |
204 #include "mg4stu.h" | |
205 #include "Mg4Dal.h" | |
206 #include "mg4devif.h" | |
207 #include "dalevt.h" | |
208 #include "evif.h" | |
209 #include "mg4str.h" | |
210 #include "mmif.h" | |
211 #include "mg4mem.h" | |
212 | |
213 #include "AUIWapext.h" | |
214 #include "ATBData.h" | |
215 #include "dspl.h" // xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
216 | |
217 // xreddymn Dec-16-2004 MMI-SPR-27384 | |
218 #include "Mfw_td.h" | |
219 | |
220 UCS2 ems_g_insertString[128] = {'t','e','s','t',0}; | |
221 MSafeString ems_g_safeString; | |
222 | |
223 UINT32 gEmsMsgId = MM_INVALID_MESSAGE_ID; | |
224 | |
225 // xreddymn Dec-16-2004 MMI-SPR-27384 | |
226 MM_S_MESSAGE_HEADER *EmsMsgHeader=NULL; | |
227 EVT_STRUCT g_EMS_event_struct; | |
228 extern T_MFW_TIME current_time; | |
229 extern T_MFW_DATE current_date; | |
230 | |
231 //GW 29/11/01 - added header file - removed extern void callNumber(UBYTE* number); | |
232 MfwWin* getWinData( MfwHnd win); | |
233 | |
234 extern void M4_DebugMessage(unsigned long para); | |
235 | |
236 //xreddymn Aug-26-2004 | |
237 extern UINT8 gucMmsTitleBarHeight; | |
238 | |
239 //xreddymn Aug-27-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): To keep track of MMS display | |
240 extern BOOL g_M4_display_active; | |
241 | |
242 //xreddymn Oct-14-2004 MMI-SPR-25273: Used to maintain the state when forwarding an EMS message | |
243 BOOL gEmsForward=FALSE; | |
244 | |
245 //xreddymn Nov-26-2004 | |
246 extern T_MFW_HND g_inSaveModeWin; | |
247 extern BOOL g_inSaveMode; | |
248 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
249 extern T_MFW_HND information_dialog(USHORT TxtId1, USHORT TxtId2,char* Txt1, char* Txt2, USHORT SoftKeyTxtId1, USHORT SoftKeyTxtId2, int timer, T_MFW_EVENT keyEvents, T_VOID_FUNC callback); | |
250 | |
251 | |
252 | |
253 | |
254 /********************************************************************* | |
255 | |
256 DYNAMIC MENU WINDOW. DECLARATION | |
257 | |
258 **********************************************************************/ | |
259 | |
260 | |
261 static int EMSCreate_OPTexeSend(MfwMnu* m, MfwMnuItem* i); | |
262 //xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
263 static int EMSCreate_OPTexeInsPreDefPicture(MfwMnu* m, MfwMnuItem* i); | |
264 static int EMSCreate_OPTexeInsPicture(MfwMnu* m, MfwMnuItem* i); | |
265 static int EMSCreate_OPTexeInsPreDefSound(MfwMnu* m, MfwMnuItem* i); | |
266 static int EMSCreate_OPTexeInsSound(MfwMnu* m, MfwMnuItem* i); | |
267 | |
268 static int EMSCreate_OPTexeInsText(MfwMnu* m, MfwMnuItem* i); | |
269 //static int MMSCreate_OPTexeInsSlide(MfwMnu* m, MfwMnuItem* i); | |
270 static int EMSCreate_OPTexeDelPicture(MfwMnu* m, MfwMnuItem* i); | |
271 static int EMSCreate_OPTexeDelSound(MfwMnu* m, MfwMnuItem* i); | |
272 static int EMSCreate_OPTexeDelText(MfwMnu* m, MfwMnuItem* i); | |
273 static int EMSCreate_OPTexeSave(MfwMnu* m, MfwMnuItem* i); | |
274 | |
275 static MfwMnuItem EMSCreate_OPTDeleteItems [] = | |
276 { | |
277 {0,0,0,(char *)TxtMMSDeletePicture,0,(MenuFunc)EMSCreate_OPTexeDelPicture,item_flag_none}, | |
278 {0,0,0,(char *)TxtMMSDeleteSound,0,(MenuFunc)EMSCreate_OPTexeDelSound,item_flag_none}, | |
279 {0,0,0,(char *)TxtMMSDeleteText,0,(MenuFunc)EMSCreate_OPTexeDelText,item_flag_none} | |
280 }; | |
281 static MfwMnuAttr MMSCreate_OPTDeleteAttrib = | |
282 { | |
283 &SmsRead_R_OPTArea, | |
284 MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */ | |
285 -1, /* use default font */ | |
286 EMSCreate_OPTDeleteItems, /* with these items */ | |
287 sizeof(EMSCreate_OPTDeleteItems)/sizeof(MfwMnuItem), /* number of items */ | |
288 COLOUR_LIST_SMS, TxtNull, MNUATTRSPARE | |
289 }; | |
290 | |
291 static MfwMnuItem EMSCreate_OPTItems [] = | |
292 { | |
293 {0,0,0,(char *)TxtSend,0,(MenuFunc)EMSCreate_OPTexeSend,item_flag_none}, | |
294 {0,0,0,(char *)TxtMMSInsertPrePicture,0,(MenuFunc)EMSCreate_OPTexeInsPreDefPicture,item_flag_none}, | |
295 {0,0,0,(char *)TxtMMSInsertPicture,0,(MenuFunc)EMSCreate_OPTexeInsPicture,item_flag_none}, | |
296 {0,0,0,(char *)TxtMMSInsertPreSound,0,(MenuFunc)EMSCreate_OPTexeInsPreDefSound,item_flag_none}, | |
297 {0,0,0,(char *)TxtMMSInsertSound,0,(MenuFunc)EMSCreate_OPTexeInsSound,item_flag_none}, | |
298 {0,0,0,(char *)TxtMMSInsertText,0,(MenuFunc)EMSCreate_OPTexeInsText,item_flag_none}, | |
299 //Bug Id 23 : 16 Aug, 2004 - xpradipg | |
300 //Description:Remove insert slide form options menu | |
301 // {0,0,0,(char *)TxtMMSInsertSlide,0,(MenuFunc)EMSCreate_OPTexeInsSlide,item_flag_none}, | |
302 {0,0,0,(char *)TxtSave,0,(MenuFunc)EMSCreate_OPTexeSave,item_flag_none}, | |
303 //CRR: 25329 - xpradipg 25 Oct 2004 | |
304 // {0,0,0,(char *)TxtMMSDelete,&MMSCreate_OPTDeleteAttrib,0,item_flag_none}, | |
305 | |
306 //xrashmic 9 Dec, 2004 MMI-SPR-27385 | |
307 //Removed the EMS preview option, since the editor itself acts as preview. | |
308 // {0,0,0,(char *)TxtMMSPreview,0,(MenuFunc)NULL,item_flag_none} | |
309 }; | |
310 | |
311 static MfwMnuAttr EMSCreate_OPTAttrib = | |
312 { | |
313 &SmsRead_R_OPTArea, | |
314 MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */ | |
315 -1, /* use default font */ | |
316 EMSCreate_OPTItems, /* with these items */ | |
317 sizeof(EMSCreate_OPTItems)/sizeof(MfwMnuItem), /* number of items */ | |
318 COLOUR_LIST_SMS, TxtNull, MNUATTRSPARE | |
319 | |
320 }; | |
321 | |
322 /* 1. User selects 'Preview' from user menu (MMI) */ | |
323 /* 2. MMI calls action_ResumeEditor() to resume the magic4 client and suspends the menu system */ | |
324 void action_EMS_ResumeEditor() | |
325 { | |
326 /* resume magic4 editor */ | |
327 DAL_PostMessage(EMG4_Resume,EMG4_Type_NotUsed,0,NULL); | |
328 /* if necessary, add code here to suspend display of the menu system */ | |
329 } | |
330 | |
331 | |
332 /* 3. After action_ResumeEditor has been completed, MMI then calls action_PreviewMessage() to preview the message currently in the magic4 editor */ | |
333 | |
334 | |
335 | |
336 void action_EMS_SuspendEditor() | |
337 { | |
338 /* suspend magic4 editor */ | |
339 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
340 /* if necessary, add code here to resume display of the menu system */ | |
341 } | |
342 | |
343 /******************************************************************************* | |
344 | |
345 $Function: set_MMS_current_time_stamp | |
346 | |
347 $Description: Sets current time in the time stamp structure | |
348 | |
349 $Returns: none | |
350 | |
351 $Arguments: t - Time stamp to be updated by this function | |
352 | |
353 $author : xreddymn | |
354 | |
355 *******************************************************************************/ | |
356 | |
357 void set_MMS_current_time_stamp(MM_S_TIME_STAMP *t) | |
358 { | |
359 t->day=current_date.day; | |
360 t->month=current_date.month; | |
361 t->year=current_date.year; | |
362 t->hour=current_time.hour; | |
363 t->min=current_time.minute; | |
364 t->sec=current_time.second; | |
365 } | |
366 | |
367 /******************************************************************************* | |
368 | |
369 $Function: EMS_update_header_handler | |
370 | |
371 $Description: Callback function for DAL_ModifyMessageParamsAsync | |
372 | |
373 $Returns: none | |
374 | |
375 $Arguments: As specified by M4 | |
376 | |
377 $author : xreddymn | |
378 Currently, this is a dummy function | |
379 | |
380 *******************************************************************************/ | |
381 | |
382 ESTATUS EMS_update_header_handler(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE EvtHandle) | |
383 { | |
384 | |
385 } | |
386 | |
387 EVT_STRUCT CreatEmsDocumentevtHandle; | |
388 | |
389 ESTATUS Handler_EMS_CreateDocument(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
390 { | |
391 //xmzhou_trace_string_value("Handler_EMS_CreateDocument aeId = ", aeId); | |
392 | |
393 switch(aeId) | |
394 { | |
395 case EMG4_FileOpDone: | |
396 | |
397 //xmzhou_trace_string_value("gEmsMsgId = ampParam = ", ampParam); | |
398 | |
399 gEmsMsgId = (UINT32)ampParam; | |
400 | |
401 if(g_inSaveMode==TRUE) | |
402 { | |
403 g_inSaveMode=FALSE; | |
404 // xreddymn Nov-26-2004 MMI-SPR-25278 | |
405 winDelete(g_inSaveModeWin); | |
406 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
407 //Added few more parameters for this function | |
408 information_dialog(TxtSaved,TxtNull, NULL,NULL,TxtNull,TxtSoftBack,FOREVER,KEY_CLEAR|KEY_RIGHT|KEY_HUP,NULL); | |
409 /* xreddymn Dec-15-2004 MMI-SPR-27384 | |
410 * Update EMS message header with the current time stamp | |
411 */ | |
412 { | |
413 ESTATUS eResult= DAL_RetrieveMessageHeader(gEmsMsgId,&EmsMsgHeader); | |
414 if(eResult==ENoError) | |
415 { | |
416 set_MMS_current_time_stamp(&EmsMsgHeader->timestamp); | |
417 g_EMS_event_struct.handler = EMS_update_header_handler; | |
418 g_EMS_event_struct.parentEvtHandle = NULL; | |
419 g_EMS_event_struct.pData = NULL; | |
420 g_EMS_event_struct.userFlag = 0; | |
421 DAL_ModifyMessageParamsAsync((EVT_HANDLE)&g_EMS_event_struct,gEmsMsgId,EmsMsgHeader); | |
422 } | |
423 } | |
424 } | |
425 break; | |
426 | |
427 // xrashmic Nov-17-2004: Changes for FFS error handling | |
428 case EMG4_OpError: | |
429 { | |
430 MDword reason; | |
431 reason = (ampParam & 0x3FFF); | |
432 // xreddymn Nov-27-2004 MMI-SPR-25278 | |
433 switch(reason) | |
434 { | |
435 case EFileOpFailed: | |
436 winDelete(g_inSaveModeWin); | |
437 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
438 //Added few more parameters for this function | |
439 information_dialog(TxtFailed,TxtFatalError,NULL,NULL, TxtNull,TxtSoftBack,FOREVER,KEY_CLEAR|KEY_RIGHT|KEY_HUP,NULL); | |
440 break; | |
441 } | |
442 } | |
443 break; | |
444 } | |
445 | |
446 return ENoError; | |
447 } | |
448 | |
449 /******************************************************************************* | |
450 | |
451 $Function: EMSCreate_exec_cb | |
452 | |
453 $Description: Exec callback function of the MMS Create window | |
454 | |
455 $Returns: none | |
456 | |
457 $Arguments: win - window handler | |
458 event - mfw event | |
459 parameter - optional data. | |
460 $author : pinghua for EMS modify !! | |
461 | |
462 *******************************************************************************/ | |
463 void EMSCreate_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
464 /* callback handler for events sent to to trigger execution */ | |
465 { | |
466 ESTATUS eStatus; | |
467 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
468 | |
469 TRACE_FUNCTION ("EMSCreate_exec_cb()"); | |
470 | |
471 //xmzhou_trace_string_value("EMSCreate_exec_cb called", event); | |
472 | |
473 switch (event) | |
474 { | |
475 case MWM_CREATE: | |
476 /* initialization of administrative data */ | |
477 TRACE_EVENT("MWM_CREATE"); | |
478 | |
479 // xreddymn Oct-14-2004 MMI-SPR-25273: Open an existing EMS message to forward | |
480 if(gEmsForward==TRUE) | |
481 { | |
482 CreatEmsDocumentevtHandle.handler = Handler_EMS_CreateDocument; | |
483 CreatEmsDocumentevtHandle.parentEvtHandle = NULL; | |
484 CreatEmsDocumentevtHandle.pData = NULL; | |
485 CreatEmsDocumentevtHandle.userFlag = 0; | |
486 | |
487 eStatus = EV_OpenDocument((EVT_HANDLE) &CreatEmsDocumentevtHandle, (MM_MESSAGE_ID) gEmsMsgId, (MM_MESSAGE_ID) MM_INVALID_MESSAGE_ID); | |
488 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
489 } | |
490 else | |
491 { | |
492 //Creat a document for one EMS | |
493 CreatEmsDocumentevtHandle.handler = Handler_EMS_CreateDocument; | |
494 CreatEmsDocumentevtHandle.parentEvtHandle = NULL; | |
495 CreatEmsDocumentevtHandle.pData = NULL; | |
496 CreatEmsDocumentevtHandle.userFlag = 0; | |
497 | |
498 eStatus = EV_CreateDocument((EVT_HANDLE) &CreatEmsDocumentevtHandle, EMtSms, (MM_MESSAGE_ID) MM_INVALID_MESSAGE_ID); | |
499 if (eStatus!=ENoError) | |
500 { | |
501 //xmzhou_trace_string_value("EMSCreate_exec_cb EV_CreateDocument return error num = ", eStatus); | |
502 } | |
503 else | |
504 { | |
505 //xmzhou_trace_string("EMSCreate_exec_cb EV_CreateDocument return ENoError"); | |
506 gEmsMsgId = MM_INVALID_MESSAGE_ID; | |
507 } | |
508 } | |
509 //xreddymn Aug-27-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): M4 client will now use the display | |
510 g_M4_display_active=TRUE; | |
511 break; | |
512 | |
513 case MWM_ONDRAW: | |
514 TRACE_EVENT("MWM_ONDRAW"); | |
515 dspl_Enable(0); | |
516 #if(0) | |
517 dspl_ClearAll(); | |
518 dspl_TextOut(32, 0, DSPL_TXTATTR_HLIGHT,"Create EMS"); | |
519 #else | |
520 // xreddymn Aug-26-2004: Modified Title display | |
521 { | |
522 unsigned short width, height; | |
523 DeviceGetScreenMetrics(&width,&height); | |
524 dspl_SetBgdColour(COL_White); | |
525 dspl_Clear(0, gucMmsTitleBarHeight, width-1, gucMmsTitleBarHeight+height-1); | |
526 resources_setTitleColour(COLOUR_EDITOR); | |
527 dspl_Clear(0, 0, width-1, gucMmsTitleBarHeight-1); | |
528 dspl_TextOut(1, 0, DSPL_TXTATTR_HLIGHT,"Create EMS"); | |
529 } | |
530 #endif | |
531 //xmzhou_trace_string("action_EMS_ResumeEditor in EMSCreate_exec_cb called"); | |
532 action_EMS_ResumeEditor(); | |
533 displaySoftKeys(TxtSoftOptions,TxtDelete); | |
534 dspl_Enable(1); | |
535 break; | |
536 | |
537 // xreddymn Aug-09-2004 | |
538 case MWM_SUSPEND: | |
539 TRACE_EVENT("MWM_SUSPEND"); | |
540 //xreddymn Sep-16-2004 MMI-SPR-24735 | |
541 dspl_Enable(1); | |
542 //xreddymn Aug-27-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
543 g_M4_display_active=FALSE; | |
544 action_EMS_SuspendEditor(); | |
545 break; | |
546 | |
547 // xreddymn Aug-27-2004 | |
548 case MWM_RESUME: | |
549 TRACE_EVENT("MWM_RESUME"); | |
550 //xreddymn Aug-27-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): M4 client will now use the display | |
551 g_M4_display_active=TRUE; | |
552 //xreddymn Sep-16-2004 MMI-SPR-24735: Removed editor resume and refresh | |
553 //action_EMS_ResumeEditor(); | |
554 //DAL_PostMessage(EMG4_Refresh, EMG4_Type_NotUsed, 0, 0); | |
555 break; | |
556 | |
557 case MWM_DESTORY: | |
558 TRACE_EVENT("MWM_DESTROY"); | |
559 //xreddymn Sep-16-2004: Changes related to MMI-SPR-24735 | |
560 dspl_Enable(1); | |
561 //xmzhou_trace_string("EMSCreate_exec_cb EMG4_Exit be posted"); | |
562 DAL_PostMessage(EMG4_Exit, EMG4_Type_NotUsed, 0, 0); | |
563 //xreddymn Aug-27-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
564 g_M4_display_active=FALSE; | |
565 break; | |
566 default: | |
567 break; | |
568 } | |
569 } | |
570 | |
571 | |
572 | |
573 | |
574 /******************************************************************************* | |
575 | |
576 $Function: MMSCreate_kbd_cb | |
577 | |
578 $Description: Exec callback function for the Option window | |
579 | |
580 $Returns: execution status | |
581 | |
582 $Arguments: e - event id | |
583 k - keyboard info | |
584 $Author : pignhua add these code for EMS () | |
585 *******************************************************************************/ | |
586 | |
587 static int EMSCreate_kbd_cb (MfwEvt e, MfwKbd *k) | |
588 /* SmsRead_R_OPT keyboard event handler */ | |
589 { | |
590 T_MFW_HND win = mfwParent(mfw_header()); | |
591 | |
592 | |
593 TRACE_FUNCTION ("MMSCreate_kbd_cb()"); | |
594 //xreddymn Sep-16-2004 MMI-SPR-24735: Reduce screen flickering in EMS editor when user presses keys | |
595 dspl_Enable(0); | |
596 if (e & KEY_LONG) | |
597 { | |
598 switch (k->code) | |
599 { | |
600 case KCD_HUP: /* back to previous menu */ | |
601 MMI_DestoryWindow(win); | |
602 break; | |
603 case KCD_RIGHT: /* delete one */ | |
604 DAL_PostMessage(EMG4_BackSpace, EMG4_Type_NotUsed, 0, NULL); | |
605 break ; | |
606 case KCD_MNUUP: | |
607 DAL_PostMessage(EVT_StartOfMessage, EMG4_Type_NotUsed, 0, NULL); | |
608 break; | |
609 case KCD_MNUDOWN: | |
610 DAL_PostMessage(EVT_EndOfMessage, EMG4_Type_NotUsed, 0, NULL); | |
611 break; | |
612 case KCD_MNULEFT: | |
613 DAL_PostMessage(EVT_StartOfLine, EMG4_Type_NotUsed, 0, NULL); | |
614 break; | |
615 case KCD_MNURIGHT: | |
616 DAL_PostMessage(EVT_EndOfLine, EMG4_Type_NotUsed, 0, NULL); | |
617 break; | |
618 default: /* no response to all other keys */ | |
619 return MFW_EVENT_CONSUMED; | |
620 } | |
621 } | |
622 else | |
623 { | |
624 switch (k->code) | |
625 { | |
626 case KCD_MNUSELECT: | |
627 case KCD_LEFT: | |
628 EMSCreate_OPT_start(win,0); | |
629 break; | |
630 case KCD_HUP: /* back to previous menu */ | |
631 MMI_DestoryWindow(win); | |
632 break; | |
633 case KCD_RIGHT: /* delete one */ | |
634 DAL_PostMessage(EMG4_BackSpace, EMG4_Type_NotUsed, 0, NULL); | |
635 break ; | |
636 case KCD_MNUUP: | |
637 DAL_PostMessage(EVT_CursorUp, EMG4_Type_NotUsed, 0, NULL); | |
638 break; | |
639 case KCD_MNUDOWN: | |
640 DAL_PostMessage(EVT_CursorDown, EMG4_Type_NotUsed, 0, NULL); | |
641 break; | |
642 case KCD_MNULEFT: | |
643 DAL_PostMessage(EMG4_CursorLeft, EMG4_Type_NotUsed, 0, NULL); | |
644 break; | |
645 case KCD_MNURIGHT: | |
646 DAL_PostMessage(EMG4_CursorRight, EMG4_Type_NotUsed, 0, NULL); | |
647 break; | |
648 default: /* no response to all other keys */ | |
649 return MFW_EVENT_CONSUMED; | |
650 } | |
651 } | |
652 return MFW_EVENT_CONSUMED; | |
653 } | |
654 | |
655 | |
656 /******************************************************************************* | |
657 | |
658 $Function: MMSCreate_start | |
659 | |
660 $Description: Start the creation of the main window for Create MMS | |
661 | |
662 $Returns: mfw window handler | |
663 | |
664 $Arguments: parent_window - Parent window handler | |
665 menuAttr - Menu attributes. | |
666 | |
667 *******************************************************************************/ | |
668 T_MFW_HND EMSCreate_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr) | |
669 { | |
670 TRACE_FUNCTION ("MMSCreate_start()"); | |
671 return MMI_CreateWindow(parent_window, (T_DIALOG_FUNC) EMSCreate_exec_cb, (void*)menuAttr,(MfwCb)EMSCreate_kbd_cb, 0,0); | |
672 } | |
673 | |
674 | |
675 #define MMS_SEND_SUBJUCT_NUMBER | |
676 | |
677 static T_MFW_HND editor=NULL; | |
678 //CRR: 25302 - xpradipg 10 Nov 2004 | |
679 //Global to hold the number editor handle | |
680 static T_MFW_HND number_edit=NULL; | |
681 static char text[MAX_EMS_TEXT_LEN]; | |
682 char EmsNumber[MAX_PHB_NUM_LEN]; | |
683 static char topic[MAX_EMS_TOPIC_LEN]="\0"; | |
684 | |
685 | |
686 void Free_MMISafeString(void * paData) | |
687 { | |
688 MSafeString *pSafeString = (MSafeString *)paData; | |
689 if (pSafeString!= NULL) | |
690 { | |
691 mfwFree((U8 *)(pSafeString->pString), pSafeString->size); | |
692 pSafeString->pString = NULL; | |
693 } | |
694 } | |
695 | |
696 | |
697 UINT32 EMS_CaculateByteSize(MDword rawDataSize, MM_E_SMS_ENCODING encoding) | |
698 { | |
699 UINT32 ulBitLength; | |
700 UINT32 ulByteSize; | |
701 | |
702 switch (encoding) | |
703 { | |
704 case EEncodingGSM7Bit: | |
705 case EEncoding7BitASCII: | |
706 { | |
707 ulBitLength = rawDataSize * 7; | |
708 | |
709 if ((ulBitLength & 0x07) == 0) | |
710 { | |
711 ulByteSize = ulBitLength/8; | |
712 } | |
713 else | |
714 { | |
715 ulByteSize = ulBitLength/8 + 1; | |
716 } | |
717 break; | |
718 } | |
719 case EEncoding8BitASCII: | |
720 case EEncodingGSM8Bit: | |
721 { | |
722 ulByteSize = rawDataSize; | |
723 break; | |
724 } | |
725 | |
726 case EEncodingUCS2: | |
727 case EEncodingUNICODE: | |
728 { | |
729 ulByteSize = rawDataSize; | |
730 break; | |
731 } | |
732 default: | |
733 { | |
734 //xmzhou_trace_string_value("EMS_CaculateByteSize error case encoding = ", encoding); | |
735 ulByteSize = 0; | |
736 break; | |
737 } | |
738 }/* end switch (encoding) */ | |
739 | |
740 return ulByteSize; | |
741 }/* end of EMS_CaculateByteSize */ | |
742 | |
743 LOCAL MM_S_MESSAGE *EmsMesg; | |
744 LOCAL UINT16 ulSendIndex; | |
745 | |
746 //number | |
747 LOCAL void ems_submit_error_proc (T_ACI_AT_CMD cmdId, T_ACI_CMS_ERR err, | |
748 T_EXT_CMS_ERROR *ce) | |
749 { | |
750 //CRR: 24741 - xpradipg 17 Sept 2004 | |
751 //The error message is displayed | |
752 T_MFW_HND win = mfwParent(mfw_header()); | |
753 T_DISPLAY_DATA displayInfo; | |
754 | |
755 TRACE_FUNCTION("ems_submit_error_proc called"); | |
756 dlg_initDisplayData_TextStr(&displayInfo, TxtSoftOK,TxtNull, "EMS Send", "Failed", COLOUR_STATUS); | |
757 dlg_initDisplayData_events(&displayInfo, (T_VOID_FUNC)NULL, FOREVER, KEY_LEFT |KEY_HUP); | |
758 info_dialog(win,&displayInfo); | |
759 EmsMesg->memHdr.freeFunc(EmsMesg); | |
760 } | |
761 | |
762 | |
763 void ems_prepare8bitBufferforACIfrom7bit(MByte* textBuffer, UBYTE NumTxt, UBYTE OriginalOffest, UBYTE* SmsTextOut) | |
764 { | |
765 UBYTE ByteOne; | |
766 U16 ByteTwo; | |
767 U16 ulConcated2Bytes; | |
768 UBYTE TextBufferOffset = 0; | |
769 UBYTE ByteOffset = 0; | |
770 UBYTE BitOffset; | |
771 UINT16 i; | |
772 | |
773 if ((textBuffer == NULL) || (SmsTextOut == NULL)) | |
774 { | |
775 return; | |
776 } | |
777 | |
778 BitOffset = OriginalOffest; | |
779 | |
780 for (i = 0; i < NumTxt; i++) | |
781 { | |
782 ByteOne = textBuffer[TextBufferOffset]; | |
783 ByteTwo = textBuffer[TextBufferOffset + 1]; | |
784 | |
785 ulConcated2Bytes = ByteOne; | |
786 ulConcated2Bytes = ulConcated2Bytes | ((ByteTwo <<8) & 0xFF00); | |
787 | |
788 SmsTextOut[ByteOffset] = 0; | |
789 | |
790 if (BitOffset == 0) | |
791 { | |
792 SmsTextOut[ByteOffset] = 0x7f & ByteOne; | |
793 BitOffset = 7; | |
794 //TextBufferOffset = TextBufferOffset;//do not change | |
795 } | |
796 else if (BitOffset == 1) | |
797 { | |
798 SmsTextOut[ByteOffset] = 0x7f & (ByteOne >> BitOffset); | |
799 BitOffset = 0; | |
800 TextBufferOffset++; | |
801 } | |
802 else | |
803 { | |
804 SmsTextOut[ByteOffset] = (UBYTE)(0x7f & (ulConcated2Bytes >> BitOffset)); | |
805 BitOffset --; | |
806 TextBufferOffset++; | |
807 } | |
808 | |
809 ByteOffset++; | |
810 }/* end of for */ | |
811 | |
812 return; | |
813 } | |
814 void ems_submit(UBYTE mr, UBYTE numSeg) | |
815 { | |
816 T_ACI_TOA toa; | |
817 T_ACI_TOA tosca; | |
818 SHORT rp; | |
819 | |
820 T_ACI_UDH_DATA udh; | |
821 T_ACI_SM_DATA tar_data; | |
822 | |
823 T_MFW_SMS_INFO sms_parameter; | |
824 | |
825 MByte * rawData; | |
826 MDword rawDataSize; | |
827 UINT32 BytesSize; | |
828 UINT32 ulTextByteLengh; | |
829 MM_E_SMS_ENCODING M4Encoding; | |
830 | |
831 T_ACI_RETURN AciReturn; | |
832 | |
833 UBYTE OriginalOffest; | |
834 | |
835 //xmzhou_trace_string_value("ems_submit called ulSendIndex = ", ulSendIndex); | |
836 TRACE_FUNCTION("ems_submit called"); | |
837 | |
838 if (ulSendIndex >= EmsMesg->pBody->numMessageParts) | |
839 { | |
840 /* xreddymn Dec-15-2004 MMI-SPR-27384 | |
841 * Update EMS message header with the current time stamp and Destination Address | |
842 */ | |
843 { | |
844 ESTATUS eResult= DAL_RetrieveMessageHeader(gEmsMsgId,&EmsMsgHeader); | |
845 if(eResult==ENoError) | |
846 { | |
847 UCS2 temp_string[128]; | |
848 //CRR: 25291 - xrashmic 14 Oct 2004 | |
849 //Once the EMS is sent successfully, move this EMS into Sent folder. | |
850 EmsMsgHeader->location=EMlSent; | |
851 MMS_Convert8BitStringToUcs2((MByte*)EmsNumber,strlen(EmsNumber),(UCS2*)temp_string); | |
852 EmsMsgHeader->messageTypeHeader.smsHeader.pszAddress=temp_string; | |
853 set_MMS_current_time_stamp(&EmsMsgHeader->timestamp); | |
854 g_EMS_event_struct.handler = EMS_update_header_handler; | |
855 g_EMS_event_struct.parentEvtHandle = NULL; | |
856 g_EMS_event_struct.pData = NULL; | |
857 g_EMS_event_struct.userFlag = 0; | |
858 DAL_ModifyMessageParamsAsync((EVT_HANDLE)&g_EMS_event_struct,gEmsMsgId,EmsMsgHeader); | |
859 } | |
860 } | |
861 //xmzhou_trace_string("EMS post success!"); | |
862 //xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
863 //Displaying a dialog after all the parts of EMS are sent. | |
864 ems_dialog(TxtEMS,TxtSent,NULL,TxtSoftBack,FOREVER); | |
865 EmsMesg->memHdr.freeFunc(EmsMesg); | |
866 return; | |
867 } | |
868 | |
869 rp = -1; /* reply path = default *//*for MFW_SMS_SUBMIT*/ | |
870 | |
871 toa.ton = phb_ncvtTon(NULL); | |
872 toa.npi = NPI_IsdnTelephony; | |
873 tosca.ton = phb_ncvtTon(NULL); | |
874 tosca.npi = NPI_IsdnTelephony; | |
875 | |
876 SmsSend_get_config_data(&sms_parameter); | |
877 | |
878 if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingGSM7Bit) || | |
879 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncoding7BitASCII)) | |
880 { | |
881 sms_parameter.dcs = MFW_DCS_7bits; | |
882 | |
883 } | |
884 else if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingUCS2) || | |
885 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingUNICODE)) | |
886 { | |
887 sms_parameter.dcs = MFW_DCS_UCS2; | |
888 } | |
889 else if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncoding8BitASCII) || | |
890 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingGSM8Bit)) | |
891 { | |
892 sms_parameter.dcs = MFW_DCS_8bits; | |
893 } | |
894 else | |
895 { | |
896 //xmzhou_trace_string_value("EMS_RetriveSendMsg error encoding = ", | |
897 // EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding); | |
898 return; | |
899 } | |
900 | |
901 rawData = EmsMesg->pBody->ppMessageParts[ulSendIndex]->pData; | |
902 rawDataSize = EmsMesg->pBody->ppMessageParts[ulSendIndex]->size; | |
903 M4Encoding = EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding; | |
904 BytesSize = EMS_CaculateByteSize(rawDataSize, M4Encoding); | |
905 | |
906 if ( EmsMesg->pBody->ppMessageParts[ulSendIndex]->xData == 0x40 ) //EMS | |
907 { | |
908 //xmzhou_trace_string_value("Call Send EMS, rawDataSize = ", rawDataSize); | |
909 //xmzhou_trace_n_bytes((char *) rawData, (UINT32) rawDataSize); | |
910 | |
911 udh.len = rawData[0]; | |
912 memcpy(udh.data, &rawData[1], udh.len); | |
913 | |
914 //tar_data.len = BytesSize - udh.len - 1; | |
915 ulTextByteLengh = BytesSize - udh.len - 1; | |
916 | |
917 if ((M4Encoding == EEncodingGSM7Bit) ||(M4Encoding == EEncoding7BitASCII)) | |
918 { | |
919 tar_data.len = rawDataSize - (((udh.len + 1)*8 + 6) / 7); | |
920 OriginalOffest = (rawDataSize-tar_data.len) * 7 -(udh.len + 1) * 8; //filing bit of sms | |
921 | |
922 //tar_data.data will be fit with 8bit buffer for ACI | |
923 ems_prepare8bitBufferforACIfrom7bit(&rawData[udh.len+1], tar_data.len, OriginalOffest, tar_data.data); | |
924 } | |
925 else if ((M4Encoding == EEncodingUCS2) ||(M4Encoding == EEncodingUNICODE)) | |
926 { | |
927 memcpy(tar_data.data, &rawData[udh.len+1], ulTextByteLengh); | |
928 | |
929 tar_data.data[ulTextByteLengh] = 0x00; | |
930 tar_data.data[ulTextByteLengh + 1] = 0x00; | |
931 tar_data.len = ulTextByteLengh + 2; | |
932 } | |
933 else | |
934 { | |
935 memcpy(tar_data.data, &rawData[udh.len+1], ulTextByteLengh); | |
936 tar_data.len = ulTextByteLengh; | |
937 } | |
938 | |
939 | |
940 AciReturn = sAT_PlusCMGS_Gl(CMD_SRC_LCL, EmsNumber, NULL, &tar_data, &udh, sms_parameter.sc_addr, NULL, rp, ems_submit, ems_submit_error_proc); | |
941 //AciReturn = sAT_PlusCMGS_Gl(CMD_SRC_LCL, EmsNumber, NULL, &tar_data, NULL, sms_parameter.sc_addr, NULL, rp, ems_submit, ems_submit_error_proc); | |
942 if (AciReturn NEQ AT_EXCT) | |
943 { | |
944 //xmzhou_trace_string("ems_submit sAT_PlusCMGS_Gl fail!"); | |
945 } | |
946 } | |
947 else//SMS | |
948 { | |
949 tar_data.len = rawDataSize; | |
950 | |
951 if ((M4Encoding == EEncodingGSM7Bit) ||(M4Encoding == EEncoding7BitASCII)) | |
952 { | |
953 tar_data.len = rawDataSize; | |
954 OriginalOffest = 0; //filing bit of sms is 0 for text only | |
955 | |
956 //tar_data.data will be fit with 8bit buffer for ACI | |
957 ems_prepare8bitBufferforACIfrom7bit(rawData, tar_data.len, OriginalOffest, tar_data.data); | |
958 } | |
959 else | |
960 { | |
961 memcpy(tar_data.data, rawData, ulTextByteLengh); | |
962 tar_data.len = rawDataSize; | |
963 } | |
964 | |
965 AciReturn = sAT_PlusCMGS_Gl(CMD_SRC_LCL, EmsNumber,NULL, &tar_data, NULL, sms_parameter.sc_addr, NULL, rp, ems_submit, ems_submit_error_proc); | |
966 if (AciReturn NEQ AT_EXCT) | |
967 { | |
968 //xmzhou_trace_string("ems_submit sAT_PlusCMGS_Gl for sms fail!"); | |
969 } | |
970 } | |
971 | |
972 ulSendIndex++; | |
973 | |
974 return ; | |
975 }/* end of ems_submit */ | |
976 | |
977 | |
978 void EMS_RetriveSendMsg(UINT32 MsgId) | |
979 { | |
980 T_MFW_SMS_INFO sms_parameter; | |
981 ESTATUS estatus; | |
982 UBYTE mr; | |
983 UBYTE numSeg; | |
984 | |
985 estatus = DAL_RetrieveMessageComplete(&EmsMesg, MsgId); | |
986 | |
987 if ( estatus != ENoError ) | |
988 { | |
989 //xmzhou_trace_string("EMS_RetriveSendMsg estatus != ENoError then return"); | |
990 return; | |
991 } | |
992 | |
993 if (EmsMesg->pBody->numMessageParts > 255) | |
994 { | |
995 //xmzhou_trace_string("EMS_RetriveSendMsg numMessageParts > 255 then return"); | |
996 return; | |
997 } | |
998 ulSendIndex = 0; | |
999 | |
1000 SmsSend_get_config_data(&sms_parameter); | |
1001 | |
1002 if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingGSM7Bit) || | |
1003 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncoding7BitASCII)) | |
1004 { | |
1005 sms_parameter.dcs = MFW_DCS_7bits; | |
1006 } | |
1007 else if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingUCS2) || | |
1008 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingUNICODE)) | |
1009 { | |
1010 sms_parameter.dcs = MFW_DCS_UCS2; | |
1011 } | |
1012 else if ((EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncoding8BitASCII) || | |
1013 (EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding == EEncodingGSM8Bit)) | |
1014 { | |
1015 sms_parameter.dcs = MFW_DCS_8bits; | |
1016 } | |
1017 else | |
1018 { | |
1019 //xmzhou_trace_string_value("EMS_RetriveSendMsg error encoding = ", | |
1020 // EmsMesg->pHeader->messageTypeHeader.smsHeader.encoding); | |
1021 return; | |
1022 } | |
1023 SmsSend_set_dcs_number (&sms_parameter); | |
1024 | |
1025 ems_submit(mr, numSeg); | |
1026 | |
1027 return; | |
1028 } | |
1029 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1030 /******************************************************************************* | |
1031 | |
1032 $Function: EmsSend_PHBK_exec_cb | |
1033 | |
1034 $Description: Populates the text structure with the phone Number and sends | |
1035 an event to update the editor buffer | |
1036 | |
1037 $Returns: | |
1038 | |
1039 $Arguments: | |
1040 *******************************************************************************/ | |
1041 void EmsSend_PHBK_exec_cb(T_MFW_HND win, USHORT event, void *parameter) | |
1042 { | |
1043 #ifdef NEW_EDITOR | |
1044 T_ATB_TEXT text; /* Used to insert phone numbers into editors */ | |
1045 #endif | |
1046 | |
1047 TRACE_FUNCTION ("EmsSend_PHBK_exec_cb()"); | |
1048 | |
1049 switch (event) | |
1050 { | |
1051 /* SPR#1428 - SH - New Editor changes. Insert phone number into editor */ | |
1052 #ifdef NEW_EDITOR | |
1053 case MMS_EMS_PHBK_NUMBER: /* Service centre number */ | |
1054 text.dcs = ATB_DCS_ASCII; | |
1055 text.len = strlen((char *)parameter); | |
1056 text.data = (UBYTE *)parameter; | |
1057 SEND_EVENT(number_edit, E_ED_INSERT, 0, (void *)&text); | |
1058 break; | |
1059 #endif /* NEW_EDITOR */ | |
1060 break; | |
1061 default: | |
1062 TRACE_EVENT("Err: Default"); | |
1063 break; | |
1064 } | |
1065 } | |
1066 | |
1067 | |
1068 | |
1069 static void EMSCreate_SEND_edit_cb( T_MFW_HND win, USHORT Identifier,UBYTE reason) | |
1070 { | |
1071 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
1072 T_DISPLAY_DATA display_info; | |
1073 char temp[100]; | |
1074 T_MFW_HND parent_win, parent_parent_win;// xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
1075 | |
1076 TRACE_EVENT_P1("EMSCreate_SEND_edit_cb() %d", Identifier); | |
1077 | |
1078 | |
1079 switch (reason) | |
1080 { | |
1081 case INFO_KCD_LEFT: // confirm (press LEFT soft key) | |
1082 if (Identifier==E_MODE_TOPIC) | |
1083 { | |
1084 // subject input | |
1085 TRACE_EVENT_P1("topic: %s",topic); | |
1086 SEND_EVENT(win,E_MODE_NUMBER, 0, 0); | |
1087 // wait for getting number (below) and do it all together. | |
1088 } | |
1089 else if (Identifier==E_MODE_NUMBER) | |
1090 { | |
1091 // phone number input | |
1092 TRACE_EVENT_P2("topic: %s, number: %s",topic,EmsNumber); | |
1093 | |
1094 //After phone number OK, retrive and send EMS | |
1095 if (gEmsMsgId != MM_INVALID_MESSAGE_ID) | |
1096 { | |
1097 EMS_RetriveSendMsg(gEmsMsgId); | |
1098 //xmzhou_trace_string("EMS_RetriveSendMsg return"); | |
1099 } | |
1100 else | |
1101 { | |
1102 //xmzhou_trace_string("EMSCreate_SEND_edit_cb MM_INVALID_MESSAGE_ID error!!!"); | |
1103 } | |
1104 // xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
1105 // Geting the Options and the Message preview screen. | |
1106 parent_win= MMI_ParentWindow(win); | |
1107 parent_parent_win= MMI_ParentWindow(parent_win); | |
1108 | |
1109 MMI_DestoryWindow(win); //This deletes the number entry screen | |
1110 | |
1111 // xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
1112 // Deleting the Options and the Message preview screens. | |
1113 MMI_DestoryWindow(parent_win); | |
1114 MMI_DestoryWindow(parent_parent_win); | |
1115 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1116 //the number editor needs to be destroyed explicitly | |
1117 AUI_edit_Destroy(number_edit); | |
1118 } | |
1119 else | |
1120 { | |
1121 TRACE_EVENT_P1("text: %s",text); | |
1122 ems_g_safeString.size=2*(strlen(text)+1); | |
1123 //ems_g_safeString.memHeader.freeFunc = DummyFreeFunc; | |
1124 ems_g_safeString.memHeader.freeFunc = Free_MMISafeString; | |
1125 | |
1126 MMS_ConvertStringToUcs2((const MByte *)(text), | |
1127 strlen(text), | |
1128 ems_g_insertString); | |
1129 ems_g_safeString.pString = ems_g_insertString; | |
1130 DAL_PostMessage(EMG4_InsertString, EMG4_Type_NotUsed, (MESSAGE_PARAM)&ems_g_safeString, 0); | |
1131 | |
1132 MMI_DestoryWindow(win); | |
1133 } | |
1134 break; | |
1135 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1136 //the alternate left softkey event is handled for the number entry screen | |
1137 case INFO_KCD_ALTERNATELEFT: | |
1138 bookPhonebookStart(win, PhbkFromMms); | |
1139 break; | |
1140 case INFO_KCD_RIGHT: | |
1141 case INFO_KCD_HUP: | |
1142 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1143 //the number editor needs to be destroyed explicitly | |
1144 AUI_edit_Destroy(number_edit); | |
1145 MMI_DestoryWindow(win); | |
1146 break; | |
1147 default: | |
1148 TRACE_EVENT("Err: Default"); | |
1149 break; | |
1150 } | |
1151 } | |
1152 | |
1153 | |
1154 /******************************************************************************* | |
1155 | |
1156 $Function: EMSCreate_SEND_exec_cb | |
1157 | |
1158 $Description: Callback handler for events sent by the window itself | |
1159 | |
1160 $Returns: none | |
1161 | |
1162 $Arguments: win - current window | |
1163 event - event id | |
1164 parameter - optional data. | |
1165 *******************************************************************************/ | |
1166 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1167 //added new parameter Identifier - optional - but helps decode the data | |
1168 static void EMSCreate_SEND_exec_cb(T_MFW_HND win, USHORT event, USHORT Identifier,void *parameter) | |
1169 { | |
1170 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
1171 T_AUI_EDITOR_DATA editor_data; | |
1172 | |
1173 TRACE_FUNCTION ("EMSCreate_SEND_exec_cb()"); | |
1174 //xmzhou_trace_string_value("EMSCreate_SEND_exec_cb called", event); | |
1175 | |
1176 switch (event) | |
1177 { | |
1178 case MWM_CREATE: | |
1179 break; | |
1180 case E_MODE_TOPIC: | |
1181 | |
1182 AUI_edit_SetDefault(&editor_data); | |
1183 AUI_edit_SetDisplay(&editor_data, ZONE_FULL_SK_TITLE_SCROLL, COLOUR_EDITOR, EDITOR_FONT); | |
1184 AUI_edit_SetEvents(&editor_data, E_MODE_TOPIC, TRUE, FOREVER, (T_AUI_EDIT_CB)EMSCreate_SEND_edit_cb); | |
1185 AUI_edit_SetTextStr(&editor_data, TxtSoftOK, TxtDelete, TxtTopics, NULL); | |
1186 AUI_edit_SetAltTextStr(&editor_data, 0, NULL, TRUE, TxtSoftBack); | |
1187 AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE); | |
1188 //void AUI_edit_SetBuffer(T_AUI_EDITOR_DATA *editor_data, UBYTE dcs, UBYTE *text, USHORT size) | |
1189 //void AUI_edit_SetBuffer(T_AUI_EDITOR_DATA *editor_data, UBYTE dcs, UBYTE *text, USHORT size); | |
1190 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII,(UBYTE*) topic, sizeof(topic)); | |
1191 editor = AUI_edit_Start(win, &editor_data); | |
1192 | |
1193 | |
1194 break; | |
1195 case E_MODE_NUMBER: | |
1196 TRACE_EVENT("enter number"); | |
1197 //CRR: 23942 - xpradipg 26 Aug 2004 | |
1198 //comment the hardcoded string. This will display an empty number editor. | |
1199 //strcpy(EmsNumber,"01792910943");//"13816687053");//13801639314//01792910943 | |
1200 //CRR: 25302 - xpradipg 10 Nov 2004 | |
1201 //the changes are made to hold the alternate softkey and functionality | |
1202 //for the same | |
1203 AUI_edit_SetDefault(&editor_data); | |
1204 AUI_edit_SetDisplay(&editor_data, PHNO_EDITOR, COLOUR_EDITOR_XX, EDITOR_FONT); | |
1205 AUI_edit_SetEvents(&editor_data, E_MODE_NUMBER, FALSE, FOREVER, (T_AUI_EDIT_CB)EMSCreate_SEND_edit_cb); | |
1206 AUI_edit_SetTextStr(&editor_data, TxtSend, TxtDelete, TxtSmsEnterNumber, NULL); | |
1207 AUI_edit_SetAltTextStr(&editor_data, 1, TxtNames, TRUE, TxtSoftBack); | |
1208 //AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE); | |
1209 AUI_edit_SetMode(&editor_data,0, ED_CURSOR_UNDERLINE); | |
1210 memset(EmsNumber,'\0',sizeof(EmsNumber)); | |
1211 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, (UBYTE*)EmsNumber, sizeof(EmsNumber)); | |
1212 number_edit = AUI_edit_Start(win, &editor_data); | |
1213 | |
1214 #if 0 | |
1215 AUI_edit_SetDefault(&editor_data); | |
1216 AUI_edit_SetDisplay(&editor_data, PHNO_EDITOR, COLOUR_EDITOR_XX, EDITOR_FONT); | |
1217 AUI_edit_SetEvents(&editor_data, SMSSEND_ID_NBEDIT, FALSE, FOREVER, (T_AUI_EDIT_CB)SmsSend_NBEDIT_edit_cb); | |
1218 AUI_edit_SetTextStr(&editor_data, TxtSend, TxtDelete, TxtSmsEnterNumber, NULL); | |
1219 AUI_edit_SetAltTextStr(&editor_data, 1, TxtNames, TRUE, TxtSoftBack); | |
1220 AUI_edit_SetMode(&editor_data, 0, ED_CURSOR_UNDERLINE); | |
1221 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, parent_data->edt_data.NumberBuffer, PHB_MAX_LEN); | |
1222 parent_data->number_editor = AUI_edit_Start(parent_data->win, &editor_data); | |
1223 | |
1224 #endif | |
1225 break; | |
1226 case E_MODE_TEXT: | |
1227 TRACE_EVENT("enter text"); | |
1228 AUI_edit_SetDefault(&editor_data); | |
1229 AUI_edit_SetDisplay(&editor_data, ZONE_FULL_SK_TITLE_SCROLL, COLOUR_EDITOR, EDITOR_FONT); | |
1230 AUI_edit_SetEvents(&editor_data, E_MODE_TEXT, TRUE, FOREVER, (T_AUI_EDIT_CB)EMSCreate_SEND_edit_cb); | |
1231 AUI_edit_SetTextStr(&editor_data, TxtSoftOK, TxtDelete, TxtMessage, NULL); | |
1232 AUI_edit_SetAltTextStr(&editor_data, 0, NULL, TRUE, TxtSoftBack); | |
1233 AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE); | |
1234 //CRR: 23942 - xpradipg 26 Aug 2004 | |
1235 //reset the text buffer | |
1236 memset(text,'\0',MAX_EMS_TEXT_LEN); | |
1237 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, (UBYTE*)text, sizeof(text)); | |
1238 editor = AUI_edit_Start(win, &editor_data); | |
1239 | |
1240 break; | |
1241 //CRR :25302 - xpradipg 10 Nov 2004 | |
1242 case MMS_EMS_PHBK_NUMBER: | |
1243 // TRACE_EVENT("calling MmsSend_PHBK_exec_cb() from MmsCreate_send_exec_cb()"); | |
1244 EmsSend_PHBK_exec_cb(number_edit, event, parameter); | |
1245 break; | |
1246 case MWM_ONDRAW: | |
1247 break; | |
1248 case MWM_DESTORY: | |
1249 break; | |
1250 default: | |
1251 TRACE_EVENT("Err: Default"); | |
1252 break; | |
1253 } | |
1254 } | |
1255 | |
1256 | |
1257 /******************************************************************************* | |
1258 | |
1259 $Function: MMSCreate_SEND_start | |
1260 | |
1261 $Description: Create SMS send window | |
1262 | |
1263 $Returns: execution status | |
1264 | |
1265 $Arguments: parent_window - parent window. | |
1266 UserData - SMS data | |
1267 *******************************************************************************/ | |
1268 | |
1269 T_MFW_HND EMSCreate_SEND_start(T_MFW_HND parent_window, void *UserData) | |
1270 { | |
1271 T_MFW_HND win; | |
1272 TRACE_FUNCTION ("EMSCreate_SEND_start()"); | |
1273 win=MMI_CreateWindow(parent_window, (T_DIALOG_FUNC) EMSCreate_SEND_exec_cb, (void*)UserData,0, 0,0); | |
1274 if(UserData) SEND_EVENT(win, (USHORT)UserData, 0, 0); | |
1275 return win; | |
1276 } | |
1277 | |
1278 #define MMS_CREATE_OPTION | |
1279 | |
1280 | |
1281 /******************************************************************************* | |
1282 | |
1283 $Function: MMSCreate_OPTexeSend | |
1284 | |
1285 $Description: Called when the user press send in the Option menu | |
1286 | |
1287 $Returns: event status. | |
1288 | |
1289 $Arguments: m - pointer to menu. | |
1290 i - index if selected menu item. | |
1291 *******************************************************************************/ | |
1292 | |
1293 static int EMSCreate_OPTexeSend(MfwMnu* m, MfwMnuItem* i) | |
1294 { | |
1295 T_MFW_HND win = mfwParent(mfw_header()); | |
1296 | |
1297 DAL_PostMessage(EMG4_SaveMsg, EMG4_Type_NotUsed, 0, 0); | |
1298 | |
1299 EMSCreate_SEND_start(win, (void*)E_MODE_NUMBER); | |
1300 | |
1301 | |
1302 } | |
1303 | |
1304 /******************************************************************************* | |
1305 | |
1306 $Function: EMSCreate_OPTexeInsPreDefPicture | |
1307 | |
1308 $Description: Displays list of the pre-defined pictures for EMS | |
1309 //xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
1310 $Returns: | |
1311 | |
1312 $Arguments: | |
1313 | |
1314 *******************************************************************************/ | |
1315 | |
1316 static int EMSCreate_OPTexeInsPreDefPicture(MfwMnu* m, MfwMnuItem* i) | |
1317 { | |
1318 T_MFW_HND win = mfwParent(mfw_header()); | |
1319 // MMSom_start(win, (MfwMnuAttr *) MMS_INSERT_PICTURE); | |
1320 // pinghua modify for test EMS | |
1321 MMSom_start(win, (MfwMnuAttr *) EMS_INSERT_PICTURE); | |
1322 } | |
1323 | |
1324 /******************************************************************************* | |
1325 | |
1326 $Function: EMSCreate_OPTexeInsPicture | |
1327 | |
1328 $Description: Displays list of the user-defined pictures for EMS | |
1329 //xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
1330 $Returns: | |
1331 | |
1332 $Arguments: | |
1333 | |
1334 *******************************************************************************/ | |
1335 static int EMSCreate_OPTexeInsPicture(MfwMnu* m, MfwMnuItem* i) | |
1336 { | |
1337 T_MFW_HND win = mfwParent(mfw_header()); | |
1338 MMSom_start(win, (MfwMnuAttr *) EMS_INSERT_PICTURE_USR); | |
1339 } | |
1340 | |
1341 /******************************************************************************* | |
1342 | |
1343 $Function: EMSCreate_OPTexeInsPreDefSound | |
1344 | |
1345 $Description: Displays list of the pre-defined sound for EMS | |
1346 //xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
1347 $Returns: | |
1348 | |
1349 $Arguments: | |
1350 | |
1351 *******************************************************************************/ | |
1352 static int EMSCreate_OPTexeInsPreDefSound(MfwMnu* m, MfwMnuItem* i) | |
1353 { | |
1354 T_MFW_HND win = mfwParent(mfw_header()); | |
1355 // MMSom_start(win, (MfwMnuAttr *) MMS_INSERT_SOUND); | |
1356 // pinghua modify for test EMS!! | |
1357 MMSom_start(win, (MfwMnuAttr *) EMS_INSERT_SOUND); | |
1358 } | |
1359 | |
1360 /******************************************************************************* | |
1361 | |
1362 $Function: EMSCreate_OPTexeInsSound | |
1363 | |
1364 $Description: Displays list of the user-defined sound for EMS | |
1365 //xrashmic 7 Dec, 2004 MMI-SPR-23965 | |
1366 $Returns: | |
1367 | |
1368 $Arguments: | |
1369 | |
1370 *******************************************************************************/ | |
1371 static int EMSCreate_OPTexeInsSound(MfwMnu* m, MfwMnuItem* i) | |
1372 { | |
1373 T_MFW_HND win = mfwParent(mfw_header()); | |
1374 MMSom_start(win, (MfwMnuAttr *) EMS_INSERT_SOUND_USR); | |
1375 } | |
1376 | |
1377 | |
1378 static int EMSCreate_OPTexeInsText(MfwMnu* m, MfwMnuItem* i) | |
1379 { | |
1380 T_MFW_HND win = mfwParent(mfw_header()); | |
1381 EMSCreate_SEND_start(win, (void*)E_MODE_TEXT); | |
1382 } | |
1383 static int EMSCreate_OPTexeSave(MfwMnu* m, MfwMnuItem* i) | |
1384 { | |
1385 DAL_PostMessage(EMG4_SaveMsg, EMG4_Type_NotUsed, 0, 0); | |
1386 | |
1387 // xreddymn Nov-27-2004 MMI-SPR-25278 | |
1388 g_inSaveMode=TRUE; | |
1389 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
1390 //Added few more parameters for this function | |
1391 g_inSaveModeWin = information_dialog(TxtPleaseWait,TxtNull,NULL,NULL, TxtNull,TxtNull,FOREVER,0,NULL); | |
1392 } | |
1393 #if 0 | |
1394 static int MMSCreate_OPTexeInsSlide(MfwMnu* m, MfwMnuItem* i) | |
1395 { | |
1396 TRACE_EVENT("insert pic into OM"); | |
1397 M4_InsertPicObjectIntoOM(); | |
1398 } | |
1399 | |
1400 #endif | |
1401 /******************************************************************************* | |
1402 | |
1403 $Function: MMSCreate_OPT_exec_cb | |
1404 | |
1405 $Description: Exec callback function for the Option window | |
1406 | |
1407 $Returns: none | |
1408 | |
1409 $Arguments: win - current window | |
1410 event - event id | |
1411 value - unique id | |
1412 parameter - optional data. | |
1413 | |
1414 *******************************************************************************/ | |
1415 | |
1416 void EMSCreate_OPT_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
1417 /* callback handler for events sent to to trigger execution */ | |
1418 { | |
1419 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
1420 TRACE_FUNCTION ("MMSCreate_OPT_exec_cb()"); | |
1421 //xmzhou_trace_string_value("EMSCreate_OPT_exec_cb called", event); | |
1422 switch (event) | |
1423 { | |
1424 case MWM_CREATE: | |
1425 TRACE_EVENT("MWM_CREATE"); | |
1426 /* initialization of administrative data */ | |
1427 winShow(win); | |
1428 break; | |
1429 case MWM_ONDRAW: | |
1430 dspl_ClearAll(); | |
1431 displaySoftKeys(TxtSoftOK,TxtSoftBack); | |
1432 break; | |
1433 case MWM_DESTORY: | |
1434 //xmzhou_trace_string("action_EMS_ResumeEditor in EMSCreate_OPT_exec_cb called"); | |
1435 // xreddymn Sep-14-2004 MMI-SPR-24735: EMS editor is now resumed in EMSCreate_exec_cb | |
1436 // action_EMS_ResumeEditor(); | |
1437 break; | |
1438 default: | |
1439 return; | |
1440 } | |
1441 } | |
1442 | |
1443 /******************************************************************************* | |
1444 | |
1445 $Function: MMSCreate_OPT_start | |
1446 | |
1447 $Description: Start the creation of the main window for Create MMS | |
1448 | |
1449 $Returns: mfw window handler | |
1450 | |
1451 $Arguments: parent_window - Parent window handler | |
1452 menuAttr - Menu attributes. | |
1453 $Authors : pinghua add for EMS test | |
1454 | |
1455 *******************************************************************************/ | |
1456 T_MFW_HND EMSCreate_OPT_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr) | |
1457 { | |
1458 TRACE_FUNCTION ("SmsRead_R_start()"); | |
1459 // xreddymn Sep-14-2004 MMI-SPR-24735: EMS editor is now suspended in EMSCreate_exec_cb | |
1460 // action_EMS_SuspendEditor(); | |
1461 return MMI_CreateWindow(parent_window, (T_DIALOG_FUNC)EMSCreate_OPT_exec_cb,(void*)menuAttr, (T_MFW_CB)0, &EMSCreate_OPTAttrib,0); | |
1462 } | |
1463 | |
1464 | |
1465 static void EMSCreate_Delete_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason) | |
1466 { | |
1467 TRACE_FUNCTION("EMSCreate_Delete_cb"); | |
1468 | |
1469 switch (reason) | |
1470 { | |
1471 case INFO_KCD_LEFT: | |
1472 switch(identifier) | |
1473 { | |
1474 case EMS_DELETE_PICTURE: | |
1475 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
1476 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteImage,NULL); | |
1477 break; | |
1478 case EMS_DELETE_SOUND: | |
1479 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
1480 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteAudio,NULL); | |
1481 break; | |
1482 case EMS_DELETE_TEXT: | |
1483 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
1484 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteText,NULL); | |
1485 break; | |
1486 } | |
1487 MMI_DestoryWindow(win); | |
1488 break; | |
1489 case INFO_KCD_HUP: | |
1490 case INFO_KCD_RIGHT: | |
1491 case INFO_KCD_CLEAR: | |
1492 MMI_DestoryWindow(win); | |
1493 break; | |
1494 default: | |
1495 break; | |
1496 } | |
1497 } | |
1498 static int EMSCreate_OPTexeDelPicture(MfwMnu* m, MfwMnuItem* i) | |
1499 { | |
1500 T_MFW_HND win = mfwParent(mfw_header()); | |
1501 T_DISPLAY_DATA display_info; | |
1502 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
1503 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)EMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
1504 display_info.Identifier=EMS_DELETE_PICTURE; | |
1505 info_dialog (win, &display_info); | |
1506 } | |
1507 static int EMSCreate_OPTexeDelSound(MfwMnu* m, MfwMnuItem* i) | |
1508 { | |
1509 T_MFW_HND win = mfwParent(mfw_header()); | |
1510 T_DISPLAY_DATA display_info; | |
1511 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
1512 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)EMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
1513 display_info.Identifier=EMS_DELETE_SOUND; | |
1514 info_dialog (win, &display_info); | |
1515 } | |
1516 static int EMSCreate_OPTexeDelText(MfwMnu* m, MfwMnuItem* i) | |
1517 { | |
1518 T_MFW_HND win = mfwParent(mfw_header()); | |
1519 T_DISPLAY_DATA display_info; | |
1520 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
1521 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)EMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
1522 display_info.Identifier=EMS_DELETE_TEXT; | |
1523 info_dialog (win, &display_info); | |
1524 } | |
1525 | |
1526 #if 0 | |
1527 void FUN_TRACE_EVENT(char * text, unsigned long param) | |
1528 { | |
1529 TRACE_EVENT_P1(text, param); | |
1530 } | |
1531 #endif | |
1532 | |
1533 | |
1534 /******************************************************************************* | |
1535 | |
1536 $Function: ems_cb | |
1537 | |
1538 $Description: Call back for ems_dialog | |
1539 xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
1540 | |
1541 $Returns: None. | |
1542 | |
1543 $Arguments: | |
1544 *******************************************************************************/ | |
1545 | |
1546 static void ems_cb(T_MFW_HND win, USHORT identifier, USHORT reason) | |
1547 { | |
1548 TRACE_FUNCTION("ems_cb"); | |
1549 } | |
1550 | |
1551 | |
1552 /******************************************************************************* | |
1553 | |
1554 $Function: ems_dialog | |
1555 | |
1556 $Description: To display the indication of EMS sent | |
1557 xrashmic 13 Sep, 2004 MMI-SPR-24744 | |
1558 | |
1559 $Returns: None. | |
1560 | |
1561 $Arguments: | |
1562 *******************************************************************************/ | |
1563 | |
1564 void ems_dialog(USHORT TxtId1, USHORT TxtId2, USHORT SoftKeyTxtId1, USHORT SoftKeyTxtId2, int timer) | |
1565 { | |
1566 T_DISPLAY_DATA display_info; | |
1567 T_MFW_HND parent_win = mfwParent(mfw_header()); | |
1568 T_MFW_HND win; | |
1569 TRACE_FUNCTION("ems_dialog"); | |
1570 dlg_initDisplayData_TextId( &display_info, SoftKeyTxtId1, SoftKeyTxtId2, TxtId1, TxtId2, COLOUR_WAP_POPUP); | |
1571 dlg_initDisplayData_events( &display_info,(T_VOID_FUNC)ems_cb, timer, KEY_RIGHT); | |
1572 display_info.Identifier = 0; | |
1573 win=info_dialog(parent_win, &display_info); | |
1574 win_show(win); | |
1575 dspl_Enable(1); | |
1576 return; | |
1577 } | |
1578 | |
1579 | |
1580 | |
1581 | |
1582 #undef MMI_MMSCREATE_C |