FreeCalypso > hg > leo2moko-debug
comparison g23m/condat/ms/src/bmi/mmimmscreate.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: MmiMMSCreate.h | |
| 17 $Revision: 1.0 | |
| 18 | |
| 19 $Author: Yan Bin(bin-yan@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 Nov 05, 2005 REF: OMAPS00049502 Sumanth Kumar. C | |
| 33 Description: MMS: During MMS Reply, Enter Number shows Empty. | |
| 34 Solution: Senders number is extracted from the Message Header and is displayed. | |
| 35 | |
| 36 xrashmic 17 Jun, 2005 MMI-SPR-29992 | |
| 37 For sending MMS on CHT sim, the FROM address should be NULL. | |
| 38 May 11 2005 REF: MMI-SPR-29887 x0012849 | |
| 39 To Implement the deferred MMS retrieval. | |
| 40 | |
| 41 xreddymn Mar-08-2005, MMI-SPR-28820 | |
| 42 Fix for flickering issue (drawing occuring more than once) when | |
| 43 forwarding MMS and creating new MMS | |
| 44 | |
| 45 xreddymn Feb-07-2005, MMI-SPR-28277 | |
| 46 Fix for blank content on entering the MMS Editor-Viewer when | |
| 47 forwarding MMS messages. | |
| 48 xreddymn Mar-04-2005 MMI-SPR-26144 | |
| 49 Added changes for cancel sending MMS | |
| 50 | |
| 51 xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 52 Error handling in sending MMS and also displaying the progress value | |
| 53 | |
| 54 x0012849 Feb- 03 -2005 : MMI-SPR-28224 | |
| 55 To allow user to scroll up and down if contents of MMS are bigger than screen size. | |
| 56 | |
| 57 xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 58 Implementing the forward functionality for MMS | |
| 59 | |
| 60 xrashmic 30 Nov, 2004 MMI-SPR-26145 | |
| 61 xrashmic 22 Dec, 2004 MMI-SPR-27798 | |
| 62 Moving the MMS to sent folder after it is sent | |
| 63 | |
| 64 xrashmic 3 Nov, 2004 MMI-SPR-26145 | |
| 65 Deleting the compose and option window after sending the MMS | |
| 66 | |
| 67 MMI-SPR-25278: Nov-29-2004 - xreddymn | |
| 68 Implemented FFS limits for MMS/EMS storage | |
| 69 | |
| 70 CRR: 25302 - xpradipg 10 Nov 2004 | |
| 71 Description: Should be able to select the number from the phonebook while | |
| 72 sending MMS/EMS. | |
| 73 Solution: The new feature to select the number from phonebook while sending | |
| 74 MMS/EMS is added | |
| 75 | |
| 76 xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 77 Description: The inserted text in the MMS message was not editable and the | |
| 78 text editor was limited to a maximum of 32 characters. | |
| 79 Solution: The text buffer is memset to '\0' only once at the time of | |
| 80 MMS create - MWM_CREATE and increased the editor max size to 512. | |
| 81 | |
| 82 xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 83 MMS not saving to unsent folder for all scenarios. | |
| 84 | |
| 85 MMI-SPR-24735: Sep-16-2004 - xreddymn | |
| 86 Changes related to EMS screen flickering issue | |
| 87 | |
| 88 MMI-SPR-24733, Sep-17-2004 - xreddymn | |
| 89 Modified case MWM_REFRESH to prevent edit mode being disabled | |
| 90 | |
| 91 CRR: 23942 - xpradipg 26 Aug 2004 | |
| 92 Description: Default values to be removed in text editor of MMS and EMS | |
| 93 Solution: The buffer assigned to the text editor is reset. | |
| 94 | |
| 95 xreddymn 03 Sep, 2004 | |
| 96 Display issue MMI-SPR-23961 related changes: Modified suspend and resume operation of MMS editor | |
| 97 | |
| 98 CRR:23923 - xpradipg 06 Sept 2004 | |
| 99 Description: MMS Preview not working | |
| 100 Solution: The preview is displayed in a new window by posting the | |
| 101 appropriate events to MMS client | |
| 102 | |
| 103 CRR: 23942 - xpradipg 26 Aug 2004 | |
| 104 Description: Default values to be removed in number editor of MMS and EMS | |
| 105 Solution: The strcpy() of the hardcoded numbers to the editor buffer are commented | |
| 106 | |
| 107 xreddymn 20 Aug, 2004 | |
| 108 Display issue MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): Added mechanism to prevent MMS/EMS display, while outside the MMS/EMS editor | |
| 109 MMS save issue MMI-SPR-24113 (TII_MMS53): Prevented creation of entries for unsaved messages on pressing back from MMS editor | |
| 110 | |
| 111 xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 112 All the status screen, .i.e sending, receiving etc. are displayed separatly for the MMS module. | |
| 113 Previously the WAP screens were being used. | |
| 114 | |
| 115 Bug Id 23 : 16 Aug, 2004 - xpradipg | |
| 116 Description:Remove insert slide from options menu | |
| 117 Solution: removed the insert slide item from the menu item array | |
| 118 | |
| 119 17/01/04 Replace mfw edit with AUI edit. | |
| 120 26/08/03 Original TI(Shanghai) BMI version. | |
| 121 | |
| 122 $End | |
| 123 | |
| 124 *******************************************************************************/ | |
| 125 #define MMI_MMSCREATE_C | |
| 126 | |
| 127 #define ENTITY_MFW | |
| 128 | |
| 129 /* includes */ | |
| 130 #include <string.h> | |
| 131 #include <stdio.h> | |
| 132 #include <stdlib.h> | |
| 133 | |
| 134 #if defined (NEW_FRAME) | |
| 135 | |
| 136 #include "typedefs.h" | |
| 137 #include "vsi.h" | |
| 138 #include "pei.h" | |
| 139 #include "custom.h" | |
| 140 #include "gsm.h" | |
| 141 | |
| 142 #else | |
| 143 | |
| 144 #include "STDDEFS.H" | |
| 145 #include "custom.h" | |
| 146 #include "gsm.h" | |
| 147 #include "vsi.h" | |
| 148 | |
| 149 #endif | |
| 150 #include "prim.h" | |
| 151 | |
| 152 | |
| 153 #include "mfw_mfw.h" | |
| 154 #include "mfw_win.h" | |
| 155 #include "mfw_kbd.h" | |
| 156 //#include "mfw_edt.h" | |
| 157 #include "mfw_tim.h" | |
| 158 #include "mfw_phb.h" | |
| 159 #include "ksd.h" | |
| 160 #include "psa.h" | |
| 161 #include "mfw_sms.h" | |
| 162 #include "mfw_smsi.h" | |
| 163 #include "mfw_icn.h" | |
| 164 #include "mfw_mnu.h" | |
| 165 #include "mfw_lng.h" | |
| 166 #include "mfw_sat.h" | |
| 167 #include "mfw_kbd.h" | |
| 168 #include "mfw_nm.h" | |
| 169 | |
| 170 #include "psa_util.h" | |
| 171 | |
| 172 #include "dspl.h" | |
| 173 // #include "unicode_types.h" | |
| 174 | |
| 175 #include "MmiMain.h" | |
| 176 #include "MmiDummy.h" | |
| 177 //#include "MmiLists.h" | |
| 178 #include "MmiMmi.h" | |
| 179 #include "mmiCall.h"//GW 29/11/01 for 'callNumber' | |
| 180 | |
| 181 #include "MmiDialogs.h" | |
| 182 #include "MmiLists.h" | |
| 183 #include "MmiMenu.h" | |
| 184 #include "MmiSoftKeys.h" | |
| 185 | |
| 186 #ifdef NEW_EDITOR | |
| 187 #include "ATBCommon.h" | |
| 188 #include "ATBDisplay.h" | |
| 189 #include "ATBEditor.h" | |
| 190 #include "AUIEditor.h" | |
| 191 #else /* NEW_EDITOR */ | |
| 192 #ifdef EASY_TEXT_ENABLED | |
| 193 #include "MmiLatinPredText.h" | |
| 194 #endif /* EASY_TEXT_ENABLED */ | |
| 195 #include "MmiEditor.h" | |
| 196 #endif /* NEW_EDITOR */ | |
| 197 | |
| 198 #include "MmiBookShared.h" // MZ | |
| 199 #include "mmimmsmenu.h" | |
| 200 #include "mmimmscreate.h" | |
| 201 #include "mmimmsom.h" | |
| 202 #include "mmiwindow.h" | |
| 203 #include "mfw_ffs.h" | |
| 204 | |
| 205 #include "cus_aci.h" | |
| 206 | |
| 207 #include "prim.h" | |
| 208 #ifndef PCM_2_FFS | |
| 209 #include "pcm.h" | |
| 210 #endif | |
| 211 | |
| 212 | |
| 213 #include "aci_cmh.h" //GW 29/11/01 added for types in aci_fd.h | |
| 214 #include "aci_fd.h" //GW 29/11/01 added for types in 'cmh.h' | |
| 215 #include "cmh.h" //GW 29/11/01 added for types in 'cmh_phb.h' | |
| 216 #include "cmh_phb.h" //GW 29/11/01 added for cmhPHB_getAdrStr | |
| 217 | |
| 218 #include "mmiColours.h" | |
| 219 | |
| 220 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 221 #include "mmiSmsMenu.h" | |
| 222 #include "mmismssend.h" | |
| 223 | |
| 224 // ronaldc 8-5 | |
| 225 | |
| 226 #include "mg4def.h" | |
| 227 #include "evtdefs.h" | |
| 228 #include "mg4stu.h" | |
| 229 #include "Mg4Dal.h" | |
| 230 #include "mg4devif.h" | |
| 231 #include "dalevt.h" | |
| 232 #include "evif.h" | |
| 233 #include "mg4str.h" | |
| 234 #include "mmif.h" | |
| 235 #include "mg4mem.h" | |
| 236 | |
| 237 #include "AUIWapext.h" | |
| 238 #include "ATBData.h" | |
| 239 #include "AUIWap.h" | |
| 240 //xmzhou02 to include definition for ALL_WIN & WAP_MMS | |
| 241 | |
| 242 | |
| 243 | |
| 244 //GW 29/11/01 - added header file - removed extern void callNumber(UBYTE* number); | |
| 245 MfwWin* getWinData( MfwHnd win); | |
| 246 | |
| 247 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 248 extern int MMSactive; | |
| 249 | |
| 250 extern void M4_DebugMessage(unsigned long para); | |
| 251 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 252 extern int MMSBox_Read_kbd_cb (MfwEvt e, MfwKbd *k); | |
| 253 | |
| 254 //xrashmic 30 Nov, 2004 MMI-SPR-26145 | |
| 255 //xrashmic 20 Dec, 2004 MMI-SPR-23921 | |
| 256 T_MFW_HND mms_create_opt_hnd=NULL; | |
| 257 T_MFW_HND mms_create_hnd=NULL; | |
| 258 | |
| 259 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 260 T_MFW_HND mms_Fwdcreate_hnd=NULL; | |
| 261 extern MM_S_MESSAGE_HEADER_LIST* g_pMessageHeaderList; | |
| 262 extern int g_currentMessage; | |
| 263 MM_S_MESSAGE_HEADER *fwd_msg_header; | |
| 264 | |
| 265 | |
| 266 /********************************************************************* | |
| 267 | |
| 268 DYNAMIC MENU WINDOW. DECLARATION | |
| 269 | |
| 270 **********************************************************************/ | |
| 271 | |
| 272 | |
| 273 static int MMSCreate_OPTexeSend(MfwMnu* m, MfwMnuItem* i); | |
| 274 static int MMSCreate_OPTexeInsPicture(MfwMnu* m, MfwMnuItem* i); | |
| 275 static int MMSCreate_OPTexeInsSound(MfwMnu* m, MfwMnuItem* i); | |
| 276 static int MMSCreate_OPTexeInsText(MfwMnu* m, MfwMnuItem* i); | |
| 277 static int MMSCreate_OPTexeInsSlide(MfwMnu* m, MfwMnuItem* i); | |
| 278 static int MMSCreate_OPTexeDelPicture(MfwMnu* m, MfwMnuItem* i); | |
| 279 static int MMSCreate_OPTexeDelSound(MfwMnu* m, MfwMnuItem* i); | |
| 280 static int MMSCreate_OPTexeDelText(MfwMnu* m, MfwMnuItem* i); | |
| 281 static int MMSCreate_OPTexeSave(MfwMnu* m, MfwMnuItem* i); | |
| 282 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 283 static int MMSCreate_OPTpreviewMsg(MfwMnu* m, MfwMnuItem* i); | |
| 284 | |
| 285 static MfwMnuItem MMSCreate_OPTDeleteItems [] = | |
| 286 { | |
| 287 {0,0,0,(char *)TxtMMSDeletePicture,0,(MenuFunc)MMSCreate_OPTexeDelPicture,item_flag_none}, | |
| 288 {0,0,0,(char *)TxtMMSDeleteSound,0,(MenuFunc)MMSCreate_OPTexeDelSound,item_flag_none}, | |
| 289 {0,0,0,(char *)TxtMMSDeleteText,0,(MenuFunc)MMSCreate_OPTexeDelText,item_flag_none} | |
| 290 }; | |
| 291 static MfwMnuAttr MMSCreate_OPTDeleteAttrib = | |
| 292 { | |
| 293 &SmsRead_R_OPTArea, | |
| 294 MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */ | |
| 295 -1, /* use default font */ | |
| 296 MMSCreate_OPTDeleteItems, /* with these items */ | |
| 297 sizeof(MMSCreate_OPTDeleteItems)/sizeof(MfwMnuItem), /* number of items */ | |
| 298 COLOUR_LIST_SMS, TxtNull, MNUATTRSPARE | |
| 299 }; | |
| 300 | |
| 301 static MfwMnuItem MMSCreate_OPTItems [] = | |
| 302 { | |
| 303 {0,0,0,(char *)TxtSend,0,(MenuFunc)MMSCreate_OPTexeSend,item_flag_none}, | |
| 304 {0,0,0,(char *)TxtMMSInsertPicture,0,(MenuFunc)MMSCreate_OPTexeInsPicture,item_flag_none}, | |
| 305 {0,0,0,(char *)TxtMMSInsertSound,0,(MenuFunc)MMSCreate_OPTexeInsSound,item_flag_none}, | |
| 306 {0,0,0,(char *)TxtMMSInsertText,0,(MenuFunc)MMSCreate_OPTexeInsText,item_flag_none}, | |
| 307 //Bug Id 23 : 16 Aug, 2004 - xpradipg | |
| 308 //Description:Remove insert slide from options menu | |
| 309 //{0,0,0,(char *)TxtMMSInsertSlide,0,(MenuFunc)MMSCreate_OPTexeInsSlide,item_flag_none}, | |
| 310 {0,0,0,(char *)TxtSave,0,(MenuFunc)MMSCreate_OPTexeSave,item_flag_none}, | |
| 311 {0,0,0,(char *)TxtMMSDelete,&MMSCreate_OPTDeleteAttrib,0,item_flag_none}, | |
| 312 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 313 //Added the functionality for preview message | |
| 314 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 315 //Since the Compose screen itself is in preview mode, no need for this | |
| 316 //in the options menu | |
| 317 // {0,0,0,(char *)TxtMMSPreview,0,(MenuFunc)MMSCreate_OPTpreviewMsg,item_flag_none} | |
| 318 }; | |
| 319 | |
| 320 static MfwMnuAttr MMSCreate_OPTAttrib = | |
| 321 { | |
| 322 &SmsRead_R_OPTArea, | |
| 323 MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */ | |
| 324 -1, /* use default font */ | |
| 325 MMSCreate_OPTItems, /* with these items */ | |
| 326 sizeof(MMSCreate_OPTItems)/sizeof(MfwMnuItem), /* number of items */ | |
| 327 COLOUR_LIST_SMS, TxtNull, MNUATTRSPARE | |
| 328 | |
| 329 }; | |
| 330 | |
| 331 #if 1 | |
| 332 | |
| 333 // bernards bbssoo 25.9.2003 begin | |
| 334 | |
| 335 typedef enum | |
| 336 { | |
| 337 MMI2_NEW_MSG= -9, | |
| 338 MMI2_DELETE_MSG, | |
| 339 MMI2_STORE_MSG_HDR, | |
| 340 MMI2_SEND_MSG, | |
| 341 MMI2_GET_MSG, | |
| 342 MMI2_FWD_MSG, | |
| 343 MMI2_PROCESSACK | |
| 344 }MMI2_EVT_TYPE; | |
| 345 | |
| 346 typedef struct | |
| 347 { | |
| 348 EVT_STRUCT evtStruct; | |
| 349 MMI2_EVT_TYPE eType; | |
| 350 }MMI2_EVT_STRUCT; | |
| 351 | |
| 352 typedef MMI2_EVT_STRUCT* MMI2_EVT_HANDLE; | |
| 353 | |
| 354 static ESTATUS MMI_2_EventHandler(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle); | |
| 355 | |
| 356 | |
| 357 MM_S_MESSAGE_HEADER *msgHeader=NULL; | |
| 358 | |
| 359 // ronaldc 9-4 to 9-5: add start | |
| 360 MM_S_MESSAGE_HEADER g_msg_header; | |
| 361 EVT_STRUCT g_event_struct; | |
| 362 EVT_STRUCT g_doc_event_struct; | |
| 363 MM_MESSAGE_ID g_msg_id; | |
| 364 EV_S_NEWSLIDE_INFO g_NewSlideInfo; | |
| 365 UCS2 g_insertString[128] = {'t','e','s','t',0}; | |
| 366 MSafeString g_safeString; | |
| 367 BOOL g_inSendMode=FALSE; | |
| 368 | |
| 369 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): To keep track of MMS display | |
| 370 BOOL g_M4_display_active=FALSE; | |
| 371 //xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): To keep track of saved messages | |
| 372 BOOL g_M4_message_saved=FALSE; | |
| 373 BOOL g_inSaveMode=FALSE; | |
| 374 //xreddymn Aug-26-2004 | |
| 375 extern UINT8 gucMmsTitleBarHeight; | |
| 376 //xreddymn Nov-26-2004 MMI-SPR-25278 | |
| 377 T_MFW_HND g_inSaveModeWin; | |
| 378 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 379 extern void AUI_mms_status_notify(int status); | |
| 380 | |
| 381 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 382 static char text[MAX_MMS_TEXT_LEN]; | |
| 383 //xreddymn Feb-02-2005 MMI-SPR-28277: Used to trigger EMG4_Refresh when forwarding MMS | |
| 384 BOOL gMmsForwardStart=FALSE; | |
| 385 | |
| 386 void DummyFreeFunc(void *pMemBlock) | |
| 387 { | |
| 388 return; | |
| 389 } | |
| 390 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 391 int progressValue=0; | |
| 392 | |
| 393 ESTATUS MMI_1_EventHandler(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
| 394 { | |
| 395 | |
| 396 M4_DebugMessage((unsigned long) 0x9700); | |
| 397 M4_DebugMessage((unsigned long) aeId); | |
| 398 M4_DebugMessage((unsigned long) aeType); | |
| 399 M4_DebugMessage((unsigned long) ampParam); | |
| 400 M4_DebugMessage((unsigned long) evtHandle); | |
| 401 | |
| 402 | |
| 403 switch(aeId) | |
| 404 { | |
| 405 #if 0 | |
| 406 | |
| 407 case EMG4_PlayComplete: | |
| 408 switch(MMI1EvtHandle->mmievtType) | |
| 409 { | |
| 410 case MMI1_EV_PLAY_MSG: | |
| 411 // Message has finished playing, so tell user thru EV window | |
| 412 aPoint.uX = 0; | |
| 413 aPoint.uY = 0; | |
| 414 DeviceClearOffscreenBuffer(); | |
| 415 DAL_DrawText(&aPoint, _T("(End of show)"), 13, afmStyle, &aColour); | |
| 416 DeviceUpdateScreen(); | |
| 417 break; | |
| 418 }; | |
| 419 break; | |
| 420 | |
| 421 case EMG4_PreviewComplete: | |
| 422 switch(MMI1EvtHandle->mmievtType) | |
| 423 { | |
| 424 case MMI1_EV_CREATE_MSG: | |
| 425 case MMI1_EV_OPEN_MSG: | |
| 426 /*Call Preview Routine to post end Preview */ | |
| 427 if(l_bIsPreview) | |
| 428 { | |
| 429 MMI_1_Preview(g_hwndMMI1); | |
| 430 } | |
| 431 break; | |
| 432 default: | |
| 433 break; | |
| 434 }; | |
| 435 break; | |
| 436 #endif | |
| 437 | |
| 438 /********************* Editor Viewer CallBacks *********************/ | |
| 439 case EMG4_FileOpDone: | |
| 440 M4_DebugMessage((unsigned long) 0x9701); | |
| 441 // xreddymn Feb-02-2005 MMI-SPR-28277: If forwarding an MMS message, post EMG4_Refresh | |
| 442 if(gMmsForwardStart == TRUE) | |
| 443 { | |
| 444 // xreddymn Mar-08-2005 MMI-SPR-28820: change sequence of posting | |
| 445 // EMG4_Preview and EMG4_Resume | |
| 446 action_PreviewMessage(); | |
| 447 action_ResumeEditor(); | |
| 448 gMmsForwardStart = FALSE; | |
| 449 } | |
| 450 if (g_inSendMode == TRUE) | |
| 451 { | |
| 452 M4_DebugMessage((unsigned long) 0x9702); | |
| 453 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 454 //Indicate the saving is done and sending has started | |
| 455 // xreddymn Mar-04-2005 MMI-SPR-26144 | |
| 456 // MMS send progress is updated by WAP FSM | |
| 457 // progressValue=0; | |
| 458 // AUI_mms_status_notify(MMS_SEND_PROGRESS); | |
| 459 MMI_2_OnSendMessage(); | |
| 460 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 461 //Indicate the saving is done and sending has started | |
| 462 // progressValue=0; | |
| 463 // AUI_mms_status_notify(MMS_SEND_PROGRESS); | |
| 464 g_inSendMode=FALSE; | |
| 465 | |
| 466 // xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): To keep track of saved messages | |
| 467 g_M4_message_saved=TRUE; | |
| 468 } | |
| 469 // xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): To keep track of saved messages | |
| 470 if(g_inSaveMode == TRUE) | |
| 471 { | |
| 472 winDelete(g_inSaveModeWin); | |
| 473 g_inSaveMode=FALSE; | |
| 474 g_M4_message_saved=TRUE; | |
| 475 // xreddymn Nov-27-2004 MMI-SPR-25278: Display "Saved" dialog here | |
| 476 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 477 //Added few more parameters for this function | |
| 478 information_dialog(TxtSaved,TxtNull,NULL,NULL, TxtNull,TxtSoftBack,FOREVER,KEY_CLEAR|KEY_RIGHT|KEY_HUP,NULL); | |
| 479 } | |
| 480 break; | |
| 481 // xrashmic Nov-17-2004 MMI-SPR-25278: Changes for FFS error handling | |
| 482 case EMG4_OpError: | |
| 483 { | |
| 484 MDword reason; | |
| 485 | |
| 486 // xreddymn Feb-02-2005 MMI-SPR-28277: If forwarding an MMS message and OpenDocument fails, reset gMmsForwardStart | |
| 487 if(gMmsForwardStart==TRUE) | |
| 488 { | |
| 489 gMmsForwardStart=FALSE; | |
| 490 } | |
| 491 if(g_inSaveMode == TRUE) | |
| 492 { | |
| 493 winDelete(g_inSaveModeWin); | |
| 494 g_inSaveMode=FALSE; | |
| 495 g_M4_message_saved=FALSE; | |
| 496 } | |
| 497 | |
| 498 reason = (ampParam & 0x3FFF); | |
| 499 switch(reason) | |
| 500 { | |
| 501 case EFileOpFailed: | |
| 502 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 503 //When sending MMS if there are file op erros, we need to handle them here | |
| 504 if (g_inSendMode == TRUE) | |
| 505 { | |
| 506 g_inSendMode=FALSE; | |
| 507 AUI_mms_status_notify(MMS_SEND_FAIL); | |
| 508 } | |
| 509 else | |
| 510 { | |
| 511 // xreddymn Nov-27-2004 MMI-SPR-25278: Display "Error" dialog here | |
| 512 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 513 //Added few more parameters for this function | |
| 514 information_dialog(TxtFailed,TxtFatalError,NULL,NULL, TxtNull,TxtSoftBack,FOREVER,KEY_CLEAR|KEY_RIGHT|KEY_HUP,NULL); | |
| 515 } | |
| 516 break; | |
| 517 } | |
| 518 | |
| 519 } | |
| 520 break; | |
| 521 default: | |
| 522 break; | |
| 523 } | |
| 524 | |
| 525 return ENoError; | |
| 526 | |
| 527 } | |
| 528 | |
| 529 | |
| 530 | |
| 531 | |
| 532 | |
| 533 | |
| 534 ESTATUS Handler_MM_CreateMessageEntryAsync(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
| 535 { | |
| 536 | |
| 537 ESTATUS eStatus; | |
| 538 | |
| 539 // TRACE_EVENT("MAGIC4: Handler_MM_CreateMessageEntryAsync()"); | |
| 540 | |
| 541 g_msg_id = (MM_MESSAGE_ID) ampParam; | |
| 542 | |
| 543 M4_DebugMessage((unsigned long) 0x30000); | |
| 544 M4_DebugMessage((unsigned long) g_msg_id); | |
| 545 | |
| 546 | |
| 547 g_doc_event_struct.handler = MMI_1_EventHandler; | |
| 548 g_doc_event_struct.parentEvtHandle = NULL; | |
| 549 g_doc_event_struct.pData = NULL; | |
| 550 g_doc_event_struct.userFlag = 0; | |
| 551 | |
| 552 eStatus=EV_CreateDocument(&g_doc_event_struct, EMtMmsSmil, g_msg_id); | |
| 553 | |
| 554 if (eStatus!=ENoError) { | |
| 555 M4_DebugMessage((unsigned long) 0x34000); | |
| 556 M4_DebugMessage((unsigned long) eStatus); | |
| 557 } | |
| 558 | |
| 559 g_NewSlideInfo.omh.freeFunc = DummyFreeFunc; | |
| 560 // xreddymn Aug-27-2004 MMI-SPR-23919 (TII_MMS6): Modified slide duration to infinite | |
| 561 // g_NewSlideInfo.slideDuration = 5000; | |
| 562 g_NewSlideInfo.slideDuration = 0; | |
| 563 g_NewSlideInfo.slidePosition = 1; | |
| 564 | |
| 565 // rvf_delay(10); | |
| 566 DAL_PostMessage(EMG4_InsertNewSlide, EMG4_Type_NotUsed, (MESSAGE_PARAM)&g_NewSlideInfo, 0); | |
| 567 #if 0 | |
| 568 // rvf_delay(10); | |
| 569 DAL_PostMessage(EMG4_InsertString, EMG4_Type_NotUsed, (MESSAGE_PARAM)g_TestString, 0); | |
| 570 // rvf_delay(10); | |
| 571 DAL_PostMessage(EMG4_SaveMsg, EMG4_Type_NotUsed, 0, 0); | |
| 572 // rvf_delay(10); | |
| 573 DAL_PostMessage(EMG4_Exit, EMG4_Type_NotUsed, 0, 0); | |
| 574 // rvf_delay(10); | |
| 575 #endif | |
| 576 M4_DebugMessage((unsigned long) 0x30001); | |
| 577 return ENoError; | |
| 578 } | |
| 579 | |
| 580 void OrthusCreateMessageEntryAsync(void) | |
| 581 { | |
| 582 ESTATUS eResult; | |
| 583 | |
| 584 TRACE_EVENT("MAGIC4: OrthusCreateMessageEntryAsync()"); | |
| 585 | |
| 586 g_msg_header.memHdr.freeFunc = DummyFreeFunc; | |
| 587 | |
| 588 g_msg_header.id = MM_INVALID_MESSAGE_ID; | |
| 589 g_msg_header.messageFlags = 0; | |
| 590 g_msg_header.reference = 0; | |
| 591 g_msg_header.read = EFalse; | |
| 592 g_msg_header.complete = EFalse; | |
| 593 g_msg_header.drmSet = EFalse; | |
| 594 | |
| 595 memset(&(g_msg_header.timestamp), 0, sizeof(MM_S_TIME_STAMP)); | |
| 596 | |
| 597 g_msg_header.timestamp.type = ETimestampAbsolute; | |
| 598 g_msg_header.location = EMlDraft; | |
| 599 | |
| 600 g_msg_header.type = EMtMmsSmil; | |
| 601 | |
| 602 g_msg_header.messageTypeHeader.mmsHeader.pBccList = NULL; | |
| 603 g_msg_header.messageTypeHeader.mmsHeader.pCcList = NULL; | |
| 604 g_msg_header.messageTypeHeader.mmsHeader.pContentType = NULL; | |
| 605 g_msg_header.messageTypeHeader.mmsHeader.pFrom = NULL; | |
| 606 g_msg_header.messageTypeHeader.mmsHeader.pMmsTransactionId = NULL; | |
| 607 g_msg_header.messageTypeHeader.mmsHeader.pServerMessageId = NULL; | |
| 608 g_msg_header.messageTypeHeader.mmsHeader.pSubject = NULL; | |
| 609 g_msg_header.messageTypeHeader.mmsHeader.pToList = NULL; | |
| 610 g_msg_header.messageTypeHeader.mmsHeader.pUrl = NULL; | |
| 611 g_msg_header.messageTypeHeader.mmsHeader.size = 0; | |
| 612 g_msg_header.messageTypeHeader.mmsHeader.version = 1; | |
| 613 g_msg_header.messageTypeHeader.mmsHeader.deliveryReport = EFalse; | |
| 614 g_msg_header.messageTypeHeader.mmsHeader.readReport = EFalse; | |
| 615 | |
| 616 memset(&(g_msg_header.messageTypeHeader.mmsHeader.expiryTime), 0, sizeof(MM_S_TIME_STAMP)); | |
| 617 memset(&(g_msg_header.messageTypeHeader.mmsHeader.currentDate), 0, sizeof(MM_S_TIME_STAMP)); | |
| 618 | |
| 619 g_msg_header.messageTypeHeader.mmsHeader.currentDate.type = ETimestampAbsolute; | |
| 620 | |
| 621 g_msg_header.messageTypeHeader.mmsHeader.expiryTime.type = ETimestampRelative; | |
| 622 | |
| 623 g_msg_header.messageTypeHeader.mmsHeader.priority = EMPnormal; | |
| 624 | |
| 625 g_msg_header.messageTypeHeader.mmsHeader.setDeferred = EFalse; | |
| 626 g_msg_header.messageTypeHeader.mmsHeader.setRejected = EFalse; | |
| 627 g_msg_header.messageTypeHeader.mmsHeader.expired = EFalse; | |
| 628 g_msg_header.messageTypeHeader.mmsHeader.retrieved = EFalse; | |
| 629 g_msg_header.messageTypeHeader.mmsHeader.readRemote = EFalse; | |
| 630 | |
| 631 g_event_struct.handler = Handler_MM_CreateMessageEntryAsync; | |
| 632 g_event_struct.parentEvtHandle = NULL; | |
| 633 g_event_struct.pData = NULL; | |
| 634 g_event_struct.userFlag = 0; | |
| 635 | |
| 636 M4_DebugMessage((unsigned long) g_event_struct.handler); | |
| 637 | |
| 638 eResult = MM_CreateMessageEntryAsync((EVT_HANDLE) &g_event_struct, &g_msg_header); | |
| 639 if(eResult!=ENoError) | |
| 640 { | |
| 641 TRACE_EVENT("MAGIC4: MM_CreateMessageEntryAsync() fail"); | |
| 642 } | |
| 643 // xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): To keep track of when the MMS is saved | |
| 644 else | |
| 645 { | |
| 646 g_M4_message_saved=FALSE; | |
| 647 } | |
| 648 | |
| 649 g_safeString.memHeader.freeFunc = DummyFreeFunc; /*!< Pointer to memory deallocation function */ | |
| 650 g_safeString.size=10; /*!< size of the string */ | |
| 651 g_safeString.pString=g_insertString; /*!< Pointer to UCS2 string */ | |
| 652 } | |
| 653 | |
| 654 | |
| 655 /*************************************************************************/ | |
| 656 /** | |
| 657 Send the selected message... | |
| 658 | |
| 659 \param hWnd [in] Of this Window...i.e MMI_2 | |
| 660 | |
| 661 \return <???> | |
| 662 | |
| 663 /*************************************************************************/ | |
| 664 BOOL MMI_2_OnSendMessage() | |
| 665 { | |
| 666 //MInt32 nSel=0; | |
| 667 MMI2_EVT_HANDLE pHandle=NULL; | |
| 668 ESTATUS eResult=ENoError; | |
| 669 | |
| 670 pHandle = (MMI2_EVT_HANDLE)malloc(sizeof(MMI2_EVT_STRUCT)); | |
| 671 if(!pHandle) | |
| 672 { | |
| 673 //M4_SIM_DisplayError(hWnd,_T("Mem Alloc Error")); | |
| 674 return TRUE; | |
| 675 } | |
| 676 | |
| 677 pHandle->evtStruct.handler = MMI_2_EventHandler; | |
| 678 pHandle->evtStruct.parentEvtHandle = NULL; | |
| 679 pHandle->evtStruct.pData = NULL; | |
| 680 pHandle->evtStruct.userFlag = 0; | |
| 681 pHandle->eType = MMI2_SEND_MSG; | |
| 682 | |
| 683 M4_DebugMessage((unsigned long) 0x94001); | |
| 684 | |
| 685 eResult= TM_SendMessageAsync((EVT_HANDLE)pHandle, g_msg_id); | |
| 686 | |
| 687 M4_DebugMessage((unsigned long)g_msg_id); | |
| 688 | |
| 689 | |
| 690 if(eResult!=ENoError) | |
| 691 { | |
| 692 //M4_SIM_ReportError(eResult,hWnd); | |
| 693 free(pHandle); | |
| 694 pHandle=NULL; | |
| 695 } | |
| 696 return TRUE; | |
| 697 } | |
| 698 | |
| 699 /*********************/ | |
| 700 | |
| 701 //NM moved this function to mmimmsbox.c | |
| 702 #if 0 | |
| 703 UCS2 * MMS_ConvertStringToUcs2 (const MByte * const p8BitString, | |
| 704 const MUint uLength, | |
| 705 UCS2 * pUcs2String) | |
| 706 { | |
| 707 if ((UCS2 *) NULL == pUcs2String) | |
| 708 { | |
| 709 pUcs2String = (UCS2 *)MM_MALLOC(sizeof(UCS2) * (1 + uLength)); | |
| 710 } | |
| 711 | |
| 712 if ((UCS2 *)NULL != pUcs2String) | |
| 713 { | |
| 714 register MUint uIndex; | |
| 715 for (uIndex = 0; uIndex < uLength; ++uIndex) | |
| 716 { | |
| 717 pUcs2String[uIndex] = (UCS2)p8BitString[uIndex]; | |
| 718 } | |
| 719 pUcs2String[uIndex] = NULLCHAR; | |
| 720 } | |
| 721 | |
| 722 return pUcs2String; | |
| 723 } | |
| 724 | |
| 725 #endif | |
| 726 | |
| 727 /******************************************************************************* | |
| 728 | |
| 729 $Function: cancel_TMsend | |
| 730 | |
| 731 $Description: Posts MMS send cancel to MMS client | |
| 732 | |
| 733 $Returns: none | |
| 734 | |
| 735 $Arguments: none | |
| 736 | |
| 737 *******************************************************************************/ | |
| 738 | |
| 739 //xrashmic 26144 | |
| 740 void cancel_TMsend(void) | |
| 741 { | |
| 742 char temp[100]; | |
| 743 ESTATUS eResult=ENoError; | |
| 744 TRACE_EVENT("cancelSendingMMS"); | |
| 745 sprintf(temp, "####cancelSendingMMS"); | |
| 746 M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 747 eResult= TM_SendMessageCancel( g_msg_id); | |
| 748 if(eResult!=ENoError) | |
| 749 { | |
| 750 sprintf(temp, "####cancelSendingMMS done"); | |
| 751 M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 752 } | |
| 753 } | |
| 754 | |
| 755 //May 17 2005 REF: MMI-SPR-29887 x0012849 | |
| 756 // Called when user cancels the recieving operation | |
| 757 void cancel_TMrecieve(void) | |
| 758 { | |
| 759 ESTATUS eResult=ENoError; | |
| 760 TRACE_EVENT("cancel_TMrecieve"); | |
| 761 eResult= TM_GetMessageCancel ( g_pMessageHeaderList->ppList[g_currentMessage].id); | |
| 762 if(eResult!=ENoError) | |
| 763 { | |
| 764 TRACE_EVENT("CancelRecievingMMS done"); | |
| 765 } | |
| 766 } | |
| 767 //Jun 28 2005 REF: MMI-SPR-29887 x0012849 | |
| 768 ESTATUS Handler_MM_DeleteMessageBodyEntryAsync(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
| 769 { | |
| 770 return ENoError; | |
| 771 } | |
| 772 //Jun 28 2005 REF: MMI-SPR-29887 x0012849 | |
| 773 void Delete_Body(void) | |
| 774 { | |
| 775 g_event_struct.handler = Handler_MM_DeleteMessageBodyEntryAsync; | |
| 776 g_event_struct.parentEvtHandle = NULL; | |
| 777 g_event_struct.pData = NULL; | |
| 778 g_event_struct.userFlag = 0; | |
| 779 MM_DeleteMessageBodyAsync((EVT_HANDLE) &g_event_struct, g_pMessageHeaderList->ppList[g_currentMessage].id); | |
| 780 } | |
| 781 | |
| 782 void MMI_2_SaveHeaderInfo(char *topic, char *number) | |
| 783 { | |
| 784 | |
| 785 //char from[]="13801639314/TYPE=PLMN";//bernard | |
| 786 //char from[]="60765943/TYPE=PLMN"; | |
| 787 char from[]="/TYPE=PLMN"; | |
| 788 | |
| 789 UCS2 *pUcsFrom= NULL; | |
| 790 UCS2 *pUcsTopic = NULL; | |
| 791 UCS2 *pUcsNumber = NULL; | |
| 792 MMI2_EVT_HANDLE evtHandle=NULL; | |
| 793 ESTATUS eResult; | |
| 794 | |
| 795 char temp[100]; | |
| 796 char tempNumber[100]; | |
| 797 | |
| 798 sprintf(temp, "MMI_2_SaveHeaderInfo called %s, %s", topic, number); | |
| 799 //M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 800 | |
| 801 //xrashmic 17 Jun, 2005 MMI-SPR-29992 | |
| 802 //For sending MMS on CHT sim, the FROM address should be NULL. | |
| 803 /*pUcsFrom= (UCS2 *)MMS_ConvertStringToUcs2((const MByte *)from, | |
| 804 GetByteStringLength((const MByte *)from), | |
| 805 pUcsFrom); | |
| 806 */ | |
| 807 pUcsTopic = (UCS2 *)MMS_ConvertStringToUcs2((const MByte *)topic, | |
| 808 GetByteStringLength((const MByte *)topic), | |
| 809 pUcsTopic); | |
| 810 if (NULL == pUcsTopic) | |
| 811 { | |
| 812 sprintf(temp, "MMI_2_SaveHeaderInfo called pUcsTopic = NULL"); | |
| 813 //M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 814 return; | |
| 815 } | |
| 816 | |
| 817 sprintf(temp, "MMI_2_SaveHeaderInfo number=%s", number); | |
| 818 //M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 819 | |
| 820 strcpy(tempNumber, number); | |
| 821 strcat(tempNumber,"/TYPE=PLMN"); | |
| 822 | |
| 823 sprintf(temp, "MMI_2_SaveHeaderInfo tempNumber=%s", tempNumber); | |
| 824 //M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 825 | |
| 826 pUcsNumber= (UCS2 *)MMS_ConvertStringToUcs2((const MByte *)tempNumber, | |
| 827 GetByteStringLength((const MByte *)tempNumber), | |
| 828 pUcsNumber); | |
| 829 | |
| 830 if (pUcsNumber == NULL) | |
| 831 { | |
| 832 sprintf(temp, "MMI_2_SaveHeaderInfo pUcsNumber == NULL"); | |
| 833 //M4_DebugStringMessage(temp, strlen(temp), 0); | |
| 834 } | |
| 835 | |
| 836 if (NULL == pUcsNumber) | |
| 837 { | |
| 838 MMS_FREE(pUcsTopic); | |
| 839 return; | |
| 840 } | |
| 841 | |
| 842 //----------------------- | |
| 843 | |
| 844 eResult= DAL_RetrieveMessageHeader(g_msg_id,&msgHeader); | |
| 845 if(eResult!=ENoError) | |
| 846 { | |
| 847 M4_DebugMessage((unsigned long)0x4400); | |
| 848 return; | |
| 849 } | |
| 850 | |
| 851 msgHeader->messageTypeHeader.mmsHeader.pFrom = pUcsFrom; | |
| 852 msgHeader->messageTypeHeader.mmsHeader.pToList = pUcsNumber; | |
| 853 msgHeader->messageTypeHeader.mmsHeader.pSubject = pUcsTopic; | |
| 854 | |
| 855 | |
| 856 //----------------------- | |
| 857 | |
| 858 | |
| 859 /* Form the event Handler */ | |
| 860 evtHandle = (MMI2_EVT_HANDLE)malloc(sizeof(MMI2_EVT_STRUCT)); | |
| 861 evtHandle->evtStruct.handler = MMI_2_EventHandler; | |
| 862 evtHandle->evtStruct.parentEvtHandle = NULL; | |
| 863 evtHandle->evtStruct.pData = NULL; | |
| 864 evtHandle->evtStruct.userFlag = 0; | |
| 865 evtHandle->eType = MMI2_STORE_MSG_HDR; | |
| 866 | |
| 867 DAL_ModifyMessageParamsAsync((EVT_HANDLE)evtHandle,g_msg_id,msgHeader); | |
| 868 | |
| 869 //msgHeader->memHdr.freeFunc(msgHeader); | |
| 870 | |
| 871 } | |
| 872 | |
| 873 | |
| 874 /*************************************************************************/ | |
| 875 /** | |
| 876 EVENT HANDLER: Message Dialog (MMI_2) | |
| 877 | |
| 878 \param aeId [in] EVENT_ID | |
| 879 \param ampParam [in] MESSAGE_PARAM | |
| 880 \param evtHandle [in] EVT_HANDLE | |
| 881 \return None [out] | |
| 882 /*************************************************************************/ | |
| 883 ESTATUS MMI_2_EventHandler(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE EvtHandle) | |
| 884 { | |
| 885 MMI2_EVT_HANDLE MMI2evtHandle = (MMI2_EVT_HANDLE) EvtHandle; | |
| 886 BOOL bProcessed = FALSE; | |
| 887 T_WAP_DATA *data = AUI_wap_data(); | |
| 888 data->View->Title[0] = 0; | |
| 889 | |
| 890 M4_DebugMessage((unsigned long) 0x9800); | |
| 891 M4_DebugMessage((unsigned long) aeId); | |
| 892 M4_DebugMessage((unsigned long) aeType); | |
| 893 M4_DebugMessage((unsigned long) ampParam); | |
| 894 M4_DebugMessage((unsigned long) EvtHandle); | |
| 895 | |
| 896 | |
| 897 switch(aeId) | |
| 898 { | |
| 899 case EMG4_NetworkOpDone: | |
| 900 switch(MMI2evtHandle->eType) | |
| 901 { | |
| 902 case MMI2_SEND_MSG: | |
| 903 //xrashmic 22 Dec, 2004 MMI-SPR-27798 | |
| 904 // MMS send is successful, save it to sent folder | |
| 905 MM_BeginUpdateHeader(g_msg_id); | |
| 906 MM_UtilSetFolder(g_msg_id,EMlSent); | |
| 907 MM_CommitUpdateHeaderAsync(NULL, g_msg_id); | |
| 908 | |
| 909 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 910 // To display the MMS send Success dialog here. | |
| 911 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 912 AUI_mms_status_notify(MMS_SEND_SUCCESS); | |
| 913 bProcessed=TRUE; | |
| 914 break; | |
| 915 default: | |
| 916 break; | |
| 917 } | |
| 918 break; | |
| 919 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 920 // Need to display to the user the send progress infomation | |
| 921 case EMG4_OpProgress: | |
| 922 switch(MMI2evtHandle->eType) | |
| 923 { | |
| 924 case MMI2_SEND_MSG: | |
| 925 // xreddymn Mar-04-2005 MMI-SPR-26144 | |
| 926 // MMS progress is updated by WAP FSM | |
| 927 // progressValue=ampParam; | |
| 928 // AUI_mms_status_notify(MMS_SEND_PROGRESS); | |
| 929 break; | |
| 930 default: | |
| 931 break; | |
| 932 } | |
| 933 break; | |
| 934 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 935 //Need to catch the errors when the sending fails | |
| 936 case EMG4_OpError: | |
| 937 switch(MMI2evtHandle->eType) | |
| 938 { | |
| 939 case MMI2_SEND_MSG: | |
| 940 AUI_mms_status_notify(MMS_SEND_FAIL); | |
| 941 break; | |
| 942 } | |
| 943 break; | |
| 944 | |
| 945 } | |
| 946 | |
| 947 if(MMI2evtHandle && bProcessed) | |
| 948 { | |
| 949 free(MMI2evtHandle); | |
| 950 MMI2evtHandle= NULL; | |
| 951 } | |
| 952 return ENoError; | |
| 953 } | |
| 954 | |
| 955 | |
| 956 | |
| 957 /* 1. User selects 'Preview' from user menu (MMI) */ | |
| 958 /* 2. MMI calls action_ResumeEditor() to resume the magic4 client and suspends the menu system */ | |
| 959 | |
| 960 void action_ResumeEditor() | |
| 961 { | |
| 962 /* resume magic4 editor */ | |
| 963 DAL_PostMessage(EMG4_Resume,EMG4_Type_NotUsed,0,NULL); | |
| 964 /* if necessary, add code here to suspend display of the menu system */ | |
| 965 } | |
| 966 | |
| 967 | |
| 968 /* 3. After action_ResumeEditor has been completed, MMI then calls action_PreviewMessage() to preview the message currently in the magic4 editor */ | |
| 969 | |
| 970 void action_PreviewMessage() | |
| 971 { | |
| 972 /* inform magic4 editor to preview the current message */ | |
| 973 DAL_PostMessage(EMG4_Preview,EMG4_Type_NotUsed,0,NULL); | |
| 974 } | |
| 975 | |
| 976 /* 4. After action_PreviewMessage has been completed, MMI then calls action_SuspendEditor() to suspend the magic4 client and resume the menu system */ | |
| 977 | |
| 978 void action_SuspendEditor() | |
| 979 { | |
| 980 /* suspend magic4 editor */ | |
| 981 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
| 982 DAL_PostMessage(EMG4_PlayMode,EMG4_Type_NotUsed, EPlayModeStop,NULL); | |
| 983 /* if necessary, add code here to resume display of the menu system */ | |
| 984 } | |
| 985 | |
| 986 /* 5. Done */ | |
| 987 | |
| 988 | |
| 989 | |
| 990 #endif | |
| 991 // ronaldc 9-4 to 9-5: add end | |
| 992 | |
| 993 | |
| 994 /******************************************************************************* | |
| 995 | |
| 996 $Function: MMSCreate_exec_cb | |
| 997 | |
| 998 $Description: Exec callback function of the MMS Create window | |
| 999 | |
| 1000 $Returns: none | |
| 1001 | |
| 1002 $Arguments: win - window handler | |
| 1003 event - mfw event | |
| 1004 parameter - optional data. | |
| 1005 | |
| 1006 *******************************************************************************/ | |
| 1007 void MMSCreate_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
| 1008 /* callback handler for events sent to to trigger execution */ | |
| 1009 { | |
| 1010 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
| 1011 | |
| 1012 TRACE_FUNCTION ("MMSCreate_exec_cb()"); | |
| 1013 | |
| 1014 switch (event) | |
| 1015 { | |
| 1016 case MWM_CREATE: | |
| 1017 /* initialization of administrative data */ | |
| 1018 TRACE_EVENT("MWM_CREATE"); | |
| 1019 | |
| 1020 //yanbin init MMS create bbssoo - EV_createmessageasync() | |
| 1021 // ronaldc 9-5 | |
| 1022 OrthusCreateMessageEntryAsync(); | |
| 1023 //TraceOrthusCreateMessageEntryAsyncReturn(); | |
| 1024 | |
| 1025 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 1026 //The text buffer is memset to '\0' only once at the time of MMS create - MWM_CREATE | |
| 1027 memset(text,'\0',MAX_MMS_TEXT_LEN); | |
| 1028 | |
| 1029 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): M4 client will now use the display | |
| 1030 g_M4_display_active=TRUE; | |
| 1031 break; | |
| 1032 case MWM_ONDRAW: | |
| 1033 TRACE_EVENT("MWM_ONDRAW"); | |
| 1034 dspl_Enable(0); | |
| 1035 // xreddymn Aug-26-2004: Modified Title display | |
| 1036 { | |
| 1037 unsigned short width, height; | |
| 1038 DeviceGetScreenMetrics(&width,&height); | |
| 1039 dspl_SetBgdColour(COL_White); | |
| 1040 dspl_Clear(0, gucMmsTitleBarHeight, width-1, height-1); | |
| 1041 resources_setTitleColour(COLOUR_EDITOR); | |
| 1042 dspl_Clear(0, 0, width-1, gucMmsTitleBarHeight-1); | |
| 1043 dspl_TextOut(1, 0, DSPL_TXTATTR_HLIGHT,"Create MMS"); | |
| 1044 } | |
| 1045 //yanbin: here call Magic4 functions to show MMS slides | |
| 1046 // bbssoo - After Creating MMS, display the "create MMS display" in the middle screen. | |
| 1047 // xreddymn Mar-08-2005 MMI-SPR-28820: changed order of posting EMG4_Preview and EMG4_Resume | |
| 1048 action_PreviewMessage(); | |
| 1049 action_ResumeEditor(); | |
| 1050 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1051 //comenting action_SuspendEditor() as the Sound was not heard in the | |
| 1052 //compose screen | |
| 1053 //action_SuspendEditor(); | |
| 1054 displaySoftKeys(TxtSoftOptions,TxtSoftBack); | |
| 1055 dspl_Enable(1); | |
| 1056 break; | |
| 1057 case MWM_DESTORY: | |
| 1058 TRACE_EVENT("MWM_DESTROY"); | |
| 1059 //xreddymn Sep-16-2004: Changes related to MMI-SPR-24735 | |
| 1060 dspl_Enable(1); | |
| 1061 DAL_PostMessage(EMG4_Exit, EMG4_Type_NotUsed, 0, 0); | |
| 1062 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
| 1063 g_M4_display_active=FALSE; | |
| 1064 //xrashmic 20 Dec, 2004 MMI-SPR-23921 | |
| 1065 // On deleting the window, set the handler to NULL | |
| 1066 mms_create_hnd=NULL; | |
| 1067 break; | |
| 1068 case MWM_SUSPEND: | |
| 1069 TRACE_EVENT("MWM_SUSPEND"); | |
| 1070 //xreddymn Sep-16-2004: Changes related to MMI-SPR-24735 | |
| 1071 dspl_Enable(1); | |
| 1072 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
| 1073 g_M4_display_active=FALSE; | |
| 1074 // xreddymn Sep-03-2004 MMI-SPR-23961 | |
| 1075 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
| 1076 DAL_PostMessage(EMG4_PlayMode,EMG4_Type_NotUsed, EPlayModeStop,NULL); | |
| 1077 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1078 //The editor needs to be in EDIT mode when inserting, Saving, etc. | |
| 1079 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1080 break; | |
| 1081 case MWM_RESUME: | |
| 1082 TRACE_EVENT("MWM_RESUME"); | |
| 1083 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): M4 client will now use the display | |
| 1084 g_M4_display_active=TRUE; | |
| 1085 // xreddymn Sep-03-2004 MMI-SPR-23961 | |
| 1086 // xreddymn Sep-17-2004 MMI-SPR-24733: Removed EMG4_Preview from here as it was disabling edit mode | |
| 1087 // xreddymn Sep-17-2004, Removed EMG4_Resume here as it is redundant (See MWM_ONDRAW of this function) | |
| 1088 // DAL_PostMessage(EMG4_Preview,EMG4_Type_NotUsed,0,NULL); | |
| 1089 // DAL_PostMessage(EMG4_Resume,EMG4_Type_NotUsed,0,NULL); | |
| 1090 break; | |
| 1091 default: | |
| 1092 break; | |
| 1093 } | |
| 1094 } | |
| 1095 | |
| 1096 // xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): Delete message handler | |
| 1097 ESTATUS Handler_MM_DeleteMessageEntryAsync(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
| 1098 { | |
| 1099 return ENoError; | |
| 1100 } | |
| 1101 | |
| 1102 /******************************************************************************* | |
| 1103 | |
| 1104 $Function: MMSCreate_kbd_cb | |
| 1105 | |
| 1106 $Description: Exec callback function for the Option window | |
| 1107 | |
| 1108 $Returns: execution status | |
| 1109 | |
| 1110 $Arguments: e - event id | |
| 1111 k - keyboard info | |
| 1112 *******************************************************************************/ | |
| 1113 | |
| 1114 static int MMSCreate_kbd_cb (MfwEvt e, MfwKbd *k) | |
| 1115 /* SmsRead_R_OPT keyboard event handler */ | |
| 1116 { | |
| 1117 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1118 | |
| 1119 | |
| 1120 TRACE_FUNCTION ("MMSCreate_kbd_cb()"); | |
| 1121 | |
| 1122 if (e & KEY_LONG) | |
| 1123 { | |
| 1124 switch (k->code) | |
| 1125 { | |
| 1126 case KCD_HUP: /* back to previous menu */ | |
| 1127 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 1128 //Once outside the MMS create screen, this flag needs to be unset | |
| 1129 MMSactive=FALSE; | |
| 1130 /* xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): Delete message on pressing back, | |
| 1131 * if it has not been saved. (Otherwise, it appears in the Unsent messages folder) | |
| 1132 */ | |
| 1133 if(g_M4_message_saved == FALSE) | |
| 1134 { | |
| 1135 g_event_struct.handler = Handler_MM_DeleteMessageEntryAsync; | |
| 1136 g_event_struct.parentEvtHandle = NULL; | |
| 1137 g_event_struct.pData = NULL; | |
| 1138 g_event_struct.userFlag = 0; | |
| 1139 MM_DeleteMessageAsync((EVT_HANDLE) &g_event_struct, g_msg_id); | |
| 1140 } | |
| 1141 MMI_DestoryWindow(win); | |
| 1142 break; | |
| 1143 case KCD_RIGHT: /* Power Down */ | |
| 1144 return MFW_EVENT_REJECTED; /* handled by idle */ | |
| 1145 default: /* no response to all other keys */ | |
| 1146 return MFW_EVENT_CONSUMED; | |
| 1147 } | |
| 1148 } | |
| 1149 else | |
| 1150 { | |
| 1151 switch (k->code) | |
| 1152 { | |
| 1153 case KCD_MNUSELECT: | |
| 1154 case KCD_LEFT: | |
| 1155 MMSCreate_OPT_start(win,0); | |
| 1156 break; | |
| 1157 case KCD_HUP: /* back to previous menu */ | |
| 1158 case KCD_RIGHT: /* back to previous menu */ | |
| 1159 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 1160 //Once outside the MMS create screen, this flag needs to be unset | |
| 1161 MMSactive=FALSE; | |
| 1162 /* xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): Delete message on pressing back, | |
| 1163 * if it has not been saved. (Otherwise, it appears in the Unsent messages folder) | |
| 1164 */ | |
| 1165 if(g_M4_message_saved == FALSE) | |
| 1166 { | |
| 1167 g_event_struct.handler = Handler_MM_DeleteMessageEntryAsync; | |
| 1168 g_event_struct.parentEvtHandle = NULL; | |
| 1169 g_event_struct.pData = NULL; | |
| 1170 g_event_struct.userFlag = 0; | |
| 1171 MM_DeleteMessageAsync((EVT_HANDLE) &g_event_struct, g_msg_id); | |
| 1172 } | |
| 1173 MMI_DestoryWindow(win); | |
| 1174 break; | |
| 1175 //x0012849 Feb-03-2005 MMI-SPR-28224 : | |
| 1176 //Handled the cases of scroll up and down | |
| 1177 case KCD_MNUDOWN: | |
| 1178 DAL_PostMessage(EMG4_ScrollDown,EMG4_Type_NotUsed,0,NULL); | |
| 1179 break; | |
| 1180 case KCD_MNUUP : | |
| 1181 DAL_PostMessage(EMG4_ScrollUp,EMG4_Type_NotUsed,0,NULL); | |
| 1182 break; | |
| 1183 | |
| 1184 default: /* no response to all other keys */ | |
| 1185 return MFW_EVENT_CONSUMED; | |
| 1186 } | |
| 1187 } | |
| 1188 return MFW_EVENT_CONSUMED; | |
| 1189 } | |
| 1190 | |
| 1191 | |
| 1192 /******************************************************************************* | |
| 1193 | |
| 1194 $Function: MMSCreate_start | |
| 1195 | |
| 1196 $Description: Start the creation of the main window for Create MMS | |
| 1197 | |
| 1198 $Returns: mfw window handler | |
| 1199 | |
| 1200 $Arguments: parent_window - Parent window handler | |
| 1201 menuAttr - Menu attributes. | |
| 1202 | |
| 1203 *******************************************************************************/ | |
| 1204 T_MFW_HND MMSCreate_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr) | |
| 1205 { | |
| 1206 TRACE_FUNCTION ("MMSCreate_start()"); | |
| 1207 //xrashmic 3 Nov, 2004 MMI-SPR-26145 | |
| 1208 //Storing the handle of the create window to delete later | |
| 1209 mms_create_hnd =MMI_CreateWindow(parent_window, (T_DIALOG_FUNC) MMSCreate_exec_cb, (void*)menuAttr,(MfwCb)MMSCreate_kbd_cb, 0,0); | |
| 1210 return mms_create_hnd ; | |
| 1211 } | |
| 1212 | |
| 1213 | |
| 1214 #define MMS_SEND_SUBJUCT_NUMBER | |
| 1215 | |
| 1216 static T_MFW_HND editor=NULL; | |
| 1217 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1218 //global to hold the number editor handle | |
| 1219 static T_MFW_HND number_edit=NULL; | |
| 1220 static char number[MAX_PHB_NUM_LEN]; | |
| 1221 static char topic[MAX_MMS_TOPIC_LEN]="\0"; | |
| 1222 | |
| 1223 | |
| 1224 | |
| 1225 static void MMSCreate_SEND_edit_cb( T_MFW_HND win, USHORT Identifier,UBYTE reason) | |
| 1226 { | |
| 1227 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
| 1228 T_DISPLAY_DATA display_info; | |
| 1229 char temp[100]; | |
| 1230 | |
| 1231 TRACE_EVENT_P1("MMSCreate_SEND_edit_cb() %d", Identifier); | |
| 1232 | |
| 1233 | |
| 1234 switch (reason) | |
| 1235 { | |
| 1236 case INFO_KCD_LEFT: // confirm (press LEFT soft key) | |
| 1237 if (Identifier==E_MODE_TOPIC) | |
| 1238 { | |
| 1239 // subject input | |
| 1240 TRACE_EVENT_P1("topic: %s",topic); | |
| 1241 SEND_EVENT(win,E_MODE_NUMBER, 0, 0); | |
| 1242 // wait for getting number (below) and do it all together. | |
| 1243 } | |
| 1244 else if (Identifier==E_MODE_NUMBER) | |
| 1245 { | |
| 1246 // phone number input | |
| 1247 TRACE_EVENT_P2("topic: %s, number: %s",topic,number); | |
| 1248 | |
| 1249 //yanbin: Call magic4 function to send MMS, bbssoo - send MMS with the topic (subject) and number, then save the MMS. | |
| 1250 //topic: topic; | |
| 1251 //number: number; | |
| 1252 | |
| 1253 M4_DebugMessage(0x93000); | |
| 1254 | |
| 1255 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 1256 //This dialog screen is displayed as soon as the user selects the left softkey after entering the number to start sending MMS | |
| 1257 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 1258 AUI_mms_status_notify(MMS_PLEASEWAIT); | |
| 1259 MMI_2_SaveHeaderInfo(topic,number); | |
| 1260 | |
| 1261 DAL_PostMessage(EMG4_SaveMsg, EMG4_Type_NotUsed, 0, 0); | |
| 1262 //DAL_PostMessage(EMG4_Exit,EMG4_Type_NotUsed,0,NULL); | |
| 1263 | |
| 1264 g_inSendMode=TRUE; | |
| 1265 | |
| 1266 M4_DebugMessage(0x93001); | |
| 1267 MMI_DestoryWindow(win); | |
| 1268 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1269 //Number entry editor needs to be deleted explicitly | |
| 1270 AUI_edit_Destroy(number_edit); | |
| 1271 } | |
| 1272 else | |
| 1273 { | |
| 1274 TRACE_EVENT_P1("text: %s",text); | |
| 1275 M4_DebugMessage(0x92000); | |
| 1276 // rvf_delay(10); | |
| 1277 g_safeString.size=2*(strlen(text)+1); | |
| 1278 MMS_ConvertStringToUcs2((const MByte *)(text), strlen(text), g_insertString); | |
| 1279 g_safeString.pString=g_insertString; | |
| 1280 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1281 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 1282 //Text in the MMS message needs to be deleted, before inserting the edited text. | |
| 1283 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteText,NULL); | |
| 1284 DAL_PostMessage(EMG4_InsertString, EMG4_Type_NotUsed, (MESSAGE_PARAM)&g_safeString, 0); | |
| 1285 // M4_DebugMessage(g_safeString.size); | |
| 1286 M4_DebugMessage(0x92001); | |
| 1287 | |
| 1288 // rvf_delay(10); | |
| 1289 MMI_DestoryWindow(win); | |
| 1290 //yanbin: Call magic4 function to insert text into MMS | |
| 1291 //text: text; | |
| 1292 // bbssoo - insert string to MMS message. | |
| 1293 } | |
| 1294 break; | |
| 1295 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1296 //the alternate left softkey event is handled for the number entry screen | |
| 1297 case INFO_KCD_ALTERNATELEFT: | |
| 1298 bookPhonebookStart(win, PhbkFromMms); | |
| 1299 break; | |
| 1300 case INFO_KCD_RIGHT: | |
| 1301 case INFO_KCD_HUP: | |
| 1302 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1303 //The number editor needs to be explicitly destroyed on pressing back sk | |
| 1304 if(E_MODE_NUMBER == Identifier) | |
| 1305 AUI_edit_Destroy(number_edit); | |
| 1306 MMI_DestoryWindow(win); | |
| 1307 break; | |
| 1308 default: | |
| 1309 TRACE_EVENT("Err: Default"); | |
| 1310 break; | |
| 1311 } | |
| 1312 } | |
| 1313 | |
| 1314 // Nov 05, 2005 REF: OMAPS00049502 Sumanth Kumar. C | |
| 1315 // Fix: A global variable to store the Mms Number extracted from the message header. | |
| 1316 char MmsNumber[MAX_PHB_NUM_LEN]; | |
| 1317 | |
| 1318 /******************************************************************************* | |
| 1319 | |
| 1320 $Function: MMSCreate_SEND_exec_cb | |
| 1321 | |
| 1322 $Description: Callback handler for events sent by the window itself and to recieve the data | |
| 1323 | |
| 1324 $Returns: none | |
| 1325 | |
| 1326 $Arguments: win - current window | |
| 1327 event - event id | |
| 1328 Identifier - optional data | |
| 1329 parameter - optional data. | |
| 1330 *******************************************************************************/ | |
| 1331 | |
| 1332 static void MMSCreate_SEND_exec_cb(T_MFW_HND win, USHORT event, USHORT Identifier,void *parameter) | |
| 1333 { | |
| 1334 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
| 1335 T_AUI_EDITOR_DATA editor_data; | |
| 1336 | |
| 1337 TRACE_FUNCTION ("MMSCreate_SEND_exec_cb()"); | |
| 1338 | |
| 1339 switch (event) | |
| 1340 { | |
| 1341 case MWM_CREATE: | |
| 1342 break; | |
| 1343 case E_MODE_TOPIC: | |
| 1344 | |
| 1345 AUI_edit_SetDefault(&editor_data); | |
| 1346 AUI_edit_SetDisplay(&editor_data, ZONE_FULL_SK_TITLE_SCROLL, COLOUR_EDITOR, EDITOR_FONT); | |
| 1347 AUI_edit_SetEvents(&editor_data, E_MODE_TOPIC, TRUE, FOREVER, (T_AUI_EDIT_CB)MMSCreate_SEND_edit_cb); | |
| 1348 AUI_edit_SetTextStr(&editor_data, TxtSoftOK, TxtDelete, TxtTopics, NULL); | |
| 1349 AUI_edit_SetAltTextStr(&editor_data, 0, NULL, TRUE, TxtSoftBack); | |
| 1350 AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE); | |
| 1351 //void AUI_edit_SetBuffer(T_AUI_EDITOR_DATA *editor_data, UBYTE dcs, UBYTE *text, USHORT size) | |
| 1352 //void AUI_edit_SetBuffer(T_AUI_EDITOR_DATA *editor_data, UBYTE dcs, UBYTE *text, USHORT size); | |
| 1353 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII,(UBYTE*) topic, sizeof(topic)); | |
| 1354 editor = AUI_edit_Start(win, &editor_data); | |
| 1355 | |
| 1356 | |
| 1357 break; | |
| 1358 case E_MODE_NUMBER: | |
| 1359 | |
| 1360 TRACE_EVENT("enter number"); | |
| 1361 //CRR: 23942 - xpradipg 26 Aug 2004 | |
| 1362 //comment the hardcoded string. This will display an empty number editor. | |
| 1363 //strcpy(number,"01705713488");//"13816687053");//13801639314 | |
| 1364 //strcpy(number,"+38516610401"); | |
| 1365 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1366 // The editor attributes are changed to hold alternate strings | |
| 1367 AUI_edit_SetDefault(&editor_data); | |
| 1368 AUI_edit_SetDisplay(&editor_data, PHNO_EDITOR, COLOUR_EDITOR_XX, EDITOR_FONT); | |
| 1369 AUI_edit_SetEvents(&editor_data, E_MODE_NUMBER, FALSE, FOREVER, (T_AUI_EDIT_CB)MMSCreate_SEND_edit_cb); | |
| 1370 AUI_edit_SetTextStr(&editor_data, TxtSend, TxtDelete, TxtSmsEnterNumber, NULL); | |
| 1371 AUI_edit_SetAltTextStr(&editor_data, 1, TxtNames, TRUE, TxtSoftBack); | |
| 1372 AUI_edit_SetMode(&editor_data,0, ED_CURSOR_UNDERLINE); | |
| 1373 memset(number,'\0', sizeof(number)); | |
| 1374 | |
| 1375 //Nov 05, 2005 REF: OMAPS00049502 Sumanth Kumar. C | |
| 1376 //Fix: Get only the 13digits corresponding to the senders phone number from the senders address | |
| 1377 strncpy(number,MmsNumber,13); | |
| 1378 | |
| 1379 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, (UBYTE*)number, sizeof(number)); | |
| 1380 number_edit = AUI_edit_Start(win, &editor_data); | |
| 1381 break; | |
| 1382 case E_MODE_TEXT: | |
| 1383 TRACE_EVENT("enter text"); | |
| 1384 AUI_edit_SetDefault(&editor_data); | |
| 1385 AUI_edit_SetDisplay(&editor_data, ZONE_FULL_SK_TITLE_SCROLL, COLOUR_EDITOR, EDITOR_FONT); | |
| 1386 AUI_edit_SetEvents(&editor_data, E_MODE_TEXT, TRUE, FOREVER, (T_AUI_EDIT_CB)MMSCreate_SEND_edit_cb); | |
| 1387 AUI_edit_SetTextStr(&editor_data, TxtSoftOK, TxtDelete, TxtMessage, NULL); | |
| 1388 AUI_edit_SetAltTextStr(&editor_data, 0, NULL, TRUE, TxtSoftBack); | |
| 1389 AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE); | |
| 1390 //CRR: 23942 - xpradipg 26 Aug 2004 | |
| 1391 //reset the text buffer | |
| 1392 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 1393 //Moved it to MMCreate_exec_cb MWM_CREATE as the user should be able to edit the inserted text. Hence we need to | |
| 1394 // retain the data in "text" buffer. | |
| 1395 //memset(text,'\0',MAX_MMS_TEXT_LEN); | |
| 1396 AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, (UBYTE*)text, sizeof(text)); | |
| 1397 editor = AUI_edit_Start(win, &editor_data); | |
| 1398 | |
| 1399 break; | |
| 1400 // case PHBK_ID: | |
| 1401 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1402 //handle the even sent back by the phone number module | |
| 1403 case MMS_EMS_PHBK_NUMBER: | |
| 1404 MmsSend_PHBK_exec_cb(number_edit, event, parameter); | |
| 1405 break; | |
| 1406 case MWM_ONDRAW: | |
| 1407 break; | |
| 1408 case MWM_DESTORY: | |
| 1409 break; | |
| 1410 default: | |
| 1411 TRACE_EVENT("Err: Default"); | |
| 1412 break; | |
| 1413 } | |
| 1414 } | |
| 1415 | |
| 1416 | |
| 1417 /******************************************************************************* | |
| 1418 | |
| 1419 $Function: MMSCreate_SEND_start | |
| 1420 | |
| 1421 $Description: Create SMS send window | |
| 1422 | |
| 1423 $Returns: execution status | |
| 1424 | |
| 1425 $Arguments: parent_window - parent window. | |
| 1426 UserData - SMS data | |
| 1427 *******************************************************************************/ | |
| 1428 | |
| 1429 T_MFW_HND MMSCreate_SEND_start(T_MFW_HND parent_window, void *UserData) | |
| 1430 { | |
| 1431 T_MFW_HND win; | |
| 1432 TRACE_FUNCTION ("MMSCreate_SEND_start()"); | |
| 1433 win=MMI_CreateWindow(parent_window, (T_DIALOG_FUNC) MMSCreate_SEND_exec_cb, (void*)UserData,0, 0,0); | |
| 1434 if(UserData) SEND_EVENT(win, (USHORT)UserData, 0, 0); | |
| 1435 return win; | |
| 1436 } | |
| 1437 | |
| 1438 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 1439 /******************************************************************************* | |
| 1440 | |
| 1441 $Function: MMSCreate_Prev_exec_cb | |
| 1442 | |
| 1443 $Description: Callback handler for events sent by the window itself | |
| 1444 | |
| 1445 $Returns: none | |
| 1446 | |
| 1447 $Arguments: win - current window | |
| 1448 event - event id | |
| 1449 parameter - optional data. | |
| 1450 *******************************************************************************/ | |
| 1451 | |
| 1452 void MMSCreate_Prev_exec_cb(T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
| 1453 /* callback handler for events sent to to trigger execution */ | |
| 1454 { | |
| 1455 TRACE_FUNCTION ("MMSBox_read_exec_cb()"); | |
| 1456 | |
| 1457 switch (event) | |
| 1458 { | |
| 1459 case MWM_CREATE: | |
| 1460 g_M4_display_active = TRUE; | |
| 1461 break; | |
| 1462 case MWM_ONDRAW: | |
| 1463 dspl_Enable(0); | |
| 1464 dspl_SetBgdColour(COL_White); | |
| 1465 dspl_ClearAll(); | |
| 1466 DAL_PostMessage(EMG4_Resume,EMG4_Type_NotUsed,0,NULL); | |
| 1467 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1468 //EMG4_Preview does not require any EPlayModeRun. | |
| 1469 DAL_PostMessage(EMG4_Preview, EMG4_Type_NotUsed, 0, 0); | |
| 1470 displaySoftKeys(TxtNull,TxtSoftBack); | |
| 1471 dspl_Enable(1); | |
| 1472 break; | |
| 1473 case MWM_DESTORY: | |
| 1474 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
| 1475 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1476 //Exiting the Preview screen, the editor should be in editable mode. | |
| 1477 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1478 g_M4_display_active=FALSE; | |
| 1479 break; | |
| 1480 case MWM_SUSPEND: | |
| 1481 g_M4_display_active=FALSE; | |
| 1482 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
| 1483 DAL_PostMessage(EMG4_Preview,EMG4_Type_NotUsed, EPlayModeStop,NULL); | |
| 1484 break; | |
| 1485 case MWM_RESUME: | |
| 1486 g_M4_display_active=TRUE; | |
| 1487 DAL_PostMessage(EMG4_Resume,EMG4_Type_NotUsed,0,NULL); | |
| 1488 DAL_PostMessage(EMG4_Refresh, EMG4_Type_NotUsed, 0, 0); | |
| 1489 break; | |
| 1490 default: | |
| 1491 break; | |
| 1492 } | |
| 1493 } | |
| 1494 | |
| 1495 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 1496 /******************************************************************************* | |
| 1497 | |
| 1498 $Function: MMSCreate_Prev_start | |
| 1499 | |
| 1500 $Description: Create Preview window | |
| 1501 | |
| 1502 $Returns: window handler | |
| 1503 | |
| 1504 $Arguments: parent_window - parent window. | |
| 1505 menuAttr - Menu attributes | |
| 1506 *******************************************************************************/ | |
| 1507 | |
| 1508 T_MFW_HND MMSCreate_Prev_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr) | |
| 1509 { | |
| 1510 return MMI_CreateWindow(parent_window, (T_DIALOG_FUNC)MMSCreate_Prev_exec_cb,(void*)menuAttr,(T_MFW_CB)MMSBox_Read_kbd_cb,0,0); | |
| 1511 } | |
| 1512 | |
| 1513 #define MMS_CREATE_OPTION | |
| 1514 /******************************************************************************* | |
| 1515 | |
| 1516 $Function: MMSCreate_OPTexeSend | |
| 1517 | |
| 1518 $Description: Called when the user press send in the Option menu | |
| 1519 | |
| 1520 $Returns: event status. | |
| 1521 | |
| 1522 $Arguments: m - pointer to menu. | |
| 1523 i - index if selected menu item. | |
| 1524 *******************************************************************************/ | |
| 1525 static int MMSCreate_OPTexeSend(MfwMnu* m, MfwMnuItem* i) | |
| 1526 { | |
| 1527 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1528 MMSCreate_SEND_start(win, (void*)E_MODE_TOPIC); | |
| 1529 } | |
| 1530 | |
| 1531 //CRR:23923 - xpradipg 06 Sept 2004 | |
| 1532 /******************************************************************************* | |
| 1533 | |
| 1534 $Function: MMSCreate_OPTpreviewMsg | |
| 1535 | |
| 1536 $Description: Called when the user press Preview in the Option menu | |
| 1537 | |
| 1538 $Returns: event status. | |
| 1539 | |
| 1540 $Arguments: m - pointer to menu. | |
| 1541 i - index if selected menu item. | |
| 1542 *******************************************************************************/ | |
| 1543 static int MMSCreate_OPTpreviewMsg(MfwMnu* m, MfwMnuItem* i) | |
| 1544 { | |
| 1545 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1546 | |
| 1547 MMSCreate_Prev_start(win,NULL); | |
| 1548 } | |
| 1549 static int MMSCreate_OPTexeInsPicture(MfwMnu* m, MfwMnuItem* i) | |
| 1550 { | |
| 1551 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1552 MMSom_start(win, (MfwMnuAttr *) MMS_INSERT_PICTURE); | |
| 1553 } | |
| 1554 | |
| 1555 static int MMSCreate_OPTexeInsSound(MfwMnu* m, MfwMnuItem* i) | |
| 1556 { | |
| 1557 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1558 MMSom_start(win, (MfwMnuAttr *) MMS_INSERT_SOUND); | |
| 1559 } | |
| 1560 | |
| 1561 static int MMSCreate_OPTexeInsText(MfwMnu* m, MfwMnuItem* i) | |
| 1562 { | |
| 1563 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1564 MMSCreate_SEND_start(win, (void*)E_MODE_TEXT); | |
| 1565 } | |
| 1566 static int MMSCreate_OPTexeSave(MfwMnu* m, MfwMnuItem* i) | |
| 1567 { | |
| 1568 | |
| 1569 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1570 //The Messages are saved only in EDIT mode. | |
| 1571 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1572 DAL_PostMessage(EMG4_SaveMsg, EMG4_Type_NotUsed, 0, 0); | |
| 1573 | |
| 1574 //xreddymn Aug-18-2004 MMI-SPR-24113 (TII_MMS53): To keep track of saved messages | |
| 1575 g_inSaveMode=TRUE; | |
| 1576 | |
| 1577 // xreddymn Nov-26-2004 MMI-SPR-25278: Display an "In Progress" screen | |
| 1578 //xrashmic 08 Feb, 2005 MMI-SPR-27853 | |
| 1579 //Added few more parameters for this function | |
| 1580 g_inSaveModeWin=information_dialog(TxtPleaseWait,TxtNull,NULL,NULL, TxtNull,TxtNull,FOREVER,0,NULL); | |
| 1581 | |
| 1582 } | |
| 1583 static int MMSCreate_OPTexeInsSlide(MfwMnu* m, MfwMnuItem* i) | |
| 1584 { | |
| 1585 TRACE_EVENT("insert pic into OM"); | |
| 1586 M4_InsertPicObjectIntoOM(); | |
| 1587 } | |
| 1588 | |
| 1589 //CRR: 25302 - xpradipg 10 Nov 2004 | |
| 1590 /******************************************************************************* | |
| 1591 | |
| 1592 $Function: MmsSend_PHBK_exec_cb | |
| 1593 | |
| 1594 $Description: Populates the text structure with the phone Number and sends | |
| 1595 an event to update the editor buffer | |
| 1596 | |
| 1597 $Returns: | |
| 1598 | |
| 1599 $Arguments: | |
| 1600 *******************************************************************************/ | |
| 1601 void MmsSend_PHBK_exec_cb(T_MFW_HND win, USHORT event, void *parameter) | |
| 1602 { | |
| 1603 #ifdef NEW_EDITOR | |
| 1604 T_ATB_TEXT text; /* Used to insert phone numbers into editors */ | |
| 1605 #endif | |
| 1606 | |
| 1607 TRACE_FUNCTION ("MmsSend_PHBK_exec_cb()"); | |
| 1608 | |
| 1609 switch (event) | |
| 1610 { | |
| 1611 /* SPR#1428 - SH - New Editor changes. Insert phone number into editor */ | |
| 1612 #ifdef NEW_EDITOR | |
| 1613 case MMS_EMS_PHBK_NUMBER: /* Service centre number */ | |
| 1614 text.dcs = ATB_DCS_ASCII; | |
| 1615 text.len = strlen((char *)parameter); | |
| 1616 text.data = (UBYTE *)parameter; | |
| 1617 SEND_EVENT(number_edit, E_ED_INSERT, 0, (void *)&text); | |
| 1618 break; | |
| 1619 #endif /* NEW_EDITOR */ | |
| 1620 break; | |
| 1621 default: | |
| 1622 TRACE_EVENT("Err: Default"); | |
| 1623 break; | |
| 1624 } | |
| 1625 } | |
| 1626 | |
| 1627 | |
| 1628 /******************************************************************************* | |
| 1629 | |
| 1630 $Function: MMSCreate_OPT_exec_cb | |
| 1631 | |
| 1632 $Description: Exec callback function for the Option window | |
| 1633 | |
| 1634 $Returns: none | |
| 1635 | |
| 1636 $Arguments: win - current window | |
| 1637 event - event id | |
| 1638 value - unique id | |
| 1639 parameter - optional data. | |
| 1640 | |
| 1641 *******************************************************************************/ | |
| 1642 | |
| 1643 void MMSCreate_OPT_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
| 1644 /* callback handler for events sent to to trigger execution */ | |
| 1645 { | |
| 1646 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
| 1647 TRACE_FUNCTION ("MMSCreate_OPT_exec_cb()"); | |
| 1648 switch (event) | |
| 1649 { | |
| 1650 case MWM_CREATE: | |
| 1651 TRACE_EVENT("MWM_CREATE"); | |
| 1652 /* initialization of administrative data */ | |
| 1653 winShow(win); | |
| 1654 break; | |
| 1655 case MWM_ONDRAW: | |
| 1656 dspl_ClearAll(); | |
| 1657 displaySoftKeys(TxtSoftOK,TxtSoftBack); | |
| 1658 break; | |
| 1659 case MWM_DESTORY: | |
| 1660 //xrashmic 20 Dec, 2004 MMI-SPR-23921 | |
| 1661 // On deleting the window, set the handler to NULL | |
| 1662 mms_create_opt_hnd=NULL; | |
| 1663 break; | |
| 1664 default: | |
| 1665 return; | |
| 1666 } | |
| 1667 } | |
| 1668 | |
| 1669 /******************************************************************************* | |
| 1670 | |
| 1671 $Function: MMSCreate_OPT_start | |
| 1672 | |
| 1673 $Description: Start the creation of the main window for Create MMS | |
| 1674 | |
| 1675 $Returns: mfw window handler | |
| 1676 | |
| 1677 $Arguments: parent_window - Parent window handler | |
| 1678 menuAttr - Menu attributes. | |
| 1679 | |
| 1680 *******************************************************************************/ | |
| 1681 T_MFW_HND MMSCreate_OPT_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr) | |
| 1682 { | |
| 1683 TRACE_FUNCTION ("MMSCreate_OPT_start()"); | |
| 1684 //xrashmic 3 Nov, 2004 MMI-SPR-26145 | |
| 1685 //Storing the handle of the options window to delete later | |
| 1686 mms_create_opt_hnd = MMI_CreateWindow(parent_window, (T_DIALOG_FUNC)MMSCreate_OPT_exec_cb,(void*)menuAttr, (T_MFW_CB)0, &MMSCreate_OPTAttrib,0); | |
| 1687 return mms_create_opt_hnd; | |
| 1688 } | |
| 1689 | |
| 1690 #define MMS_DELETE_PICTURE 0 | |
| 1691 #define MMS_DELETE_SOUND 1 | |
| 1692 #define MMS_DELETE_TEXT 2 | |
| 1693 | |
| 1694 static void MMSCreate_Delete_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason) | |
| 1695 { | |
| 1696 TRACE_FUNCTION("MMSCreate_Delete_cb"); | |
| 1697 | |
| 1698 switch (reason) | |
| 1699 { | |
| 1700 case INFO_KCD_LEFT: | |
| 1701 switch(identifier) | |
| 1702 { | |
| 1703 case MMS_DELETE_PICTURE: | |
| 1704 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1705 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteImage,NULL); | |
| 1706 break; | |
| 1707 case MMS_DELETE_SOUND: | |
| 1708 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1709 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteAudio,NULL); | |
| 1710 break; | |
| 1711 case MMS_DELETE_TEXT: | |
| 1712 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1713 DAL_PostMessage(EMG4_DeleteObject,EMG4_Type_NotUsed, EDeleteText,NULL); | |
| 1714 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 1715 //The text buffer should be reset when the text data | |
| 1716 //is deleted in the MMS message | |
| 1717 memset(text,'\0',MAX_MMS_TEXT_LEN); | |
| 1718 break; | |
| 1719 } | |
| 1720 MMI_DestoryWindow(win); | |
| 1721 break; | |
| 1722 case INFO_KCD_HUP: | |
| 1723 case INFO_KCD_RIGHT: | |
| 1724 case INFO_KCD_CLEAR: | |
| 1725 MMI_DestoryWindow(win); | |
| 1726 break; | |
| 1727 default: | |
| 1728 break; | |
| 1729 } | |
| 1730 } | |
| 1731 static int MMSCreate_OPTexeDelPicture(MfwMnu* m, MfwMnuItem* i) | |
| 1732 { | |
| 1733 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1734 T_DISPLAY_DATA display_info; | |
| 1735 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
| 1736 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)MMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
| 1737 display_info.Identifier=MMS_DELETE_PICTURE; | |
| 1738 info_dialog (win, &display_info); | |
| 1739 } | |
| 1740 static int MMSCreate_OPTexeDelSound(MfwMnu* m, MfwMnuItem* i) | |
| 1741 { | |
| 1742 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1743 T_DISPLAY_DATA display_info; | |
| 1744 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
| 1745 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)MMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
| 1746 display_info.Identifier=MMS_DELETE_SOUND; | |
| 1747 info_dialog (win, &display_info); | |
| 1748 } | |
| 1749 static int MMSCreate_OPTexeDelText(MfwMnu* m, MfwMnuItem* i) | |
| 1750 { | |
| 1751 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1752 T_DISPLAY_DATA display_info; | |
| 1753 dlg_initDisplayData_TextId( &display_info, TxtSoftOK, TxtSoftBack, TxtPressOk, TxtDelete, COLOUR_STATUS); | |
| 1754 dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)MMSCreate_Delete_cb, FOREVER, KEY_LEFT |KEY_RIGHT|KEY_CLEAR|KEY_HUP); | |
| 1755 display_info.Identifier=MMS_DELETE_TEXT; | |
| 1756 info_dialog (win, &display_info); | |
| 1757 } | |
| 1758 | |
| 1759 void FUN_TRACE_EVENT(char * text, unsigned long param) | |
| 1760 { | |
| 1761 TRACE_EVENT_P1(text, param); | |
| 1762 } | |
| 1763 | |
| 1764 | |
| 1765 /******************************************************************************* | |
| 1766 $Function: Handler_Fwd_CreateMessageEntryAsync | |
| 1767 | |
| 1768 $Description: Callback function for MM_CreateMessageEntryAsync for forward. | |
| 1769 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 1770 | |
| 1771 $Returns: None. | |
| 1772 | |
| 1773 $Arguments: | |
| 1774 *******************************************************************************/ | |
| 1775 | |
| 1776 ESTATUS Handler_Fwd_CreateMessageEntryAsync(EVENT_ID aeId, EVENT_TYPE aeType, MESSAGE_PARAM ampParam, EVT_HANDLE evtHandle) | |
| 1777 { | |
| 1778 ESTATUS eResult; | |
| 1779 //Using the same create editor event handler for forward editor | |
| 1780 g_doc_event_struct.handler = MMI_1_EventHandler; | |
| 1781 g_doc_event_struct.parentEvtHandle = NULL; | |
| 1782 g_doc_event_struct.pData = NULL; | |
| 1783 g_doc_event_struct.userFlag = 0; | |
| 1784 g_msg_id= (MM_MESSAGE_ID) ampParam; | |
| 1785 eResult = DAL_OpenDocument((EVT_HANDLE) &g_doc_event_struct, g_pMessageHeaderList->ppList[g_currentMessage].id, g_msg_id); | |
| 1786 } | |
| 1787 | |
| 1788 /******************************************************************************* | |
| 1789 | |
| 1790 $Function: MMSBox_Forward | |
| 1791 | |
| 1792 $Description: Creating a new Id for the MMS message being forwarded | |
| 1793 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 1794 | |
| 1795 $Returns: None. | |
| 1796 | |
| 1797 $Arguments: | |
| 1798 *******************************************************************************/ | |
| 1799 void MMSBox_Forward(void) | |
| 1800 { | |
| 1801 ESTATUS eResult; | |
| 1802 MDword MessageID = g_pMessageHeaderList->ppList[g_currentMessage].id; | |
| 1803 TRACE_FUNCTION ("MMSBox_Forward()"); | |
| 1804 eResult = DAL_RetrieveMessageHeader(MessageID,&fwd_msg_header); | |
| 1805 fwd_msg_header->location = EMlDraft; | |
| 1806 g_event_struct.handler = Handler_Fwd_CreateMessageEntryAsync; | |
| 1807 g_event_struct.parentEvtHandle = NULL; | |
| 1808 g_event_struct.pData = NULL; | |
| 1809 g_event_struct.userFlag = 0; | |
| 1810 eResult=MM_CreateMessageEntryAsync((EVT_HANDLE) &g_event_struct, fwd_msg_header); | |
| 1811 g_safeString.memHeader.freeFunc = DummyFreeFunc; /*!< Pointer to memory deallocation function */ | |
| 1812 g_safeString.size=10; /*!< size of the string */ | |
| 1813 g_safeString.pString=g_insertString; /*!< Pointer to UCS2 string */ | |
| 1814 | |
| 1815 } | |
| 1816 | |
| 1817 /******************************************************************************* | |
| 1818 | |
| 1819 $Function: MMSFwd_exec_cb | |
| 1820 | |
| 1821 $Description: Event handler for the MMS forward window | |
| 1822 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 1823 | |
| 1824 $Returns: None. | |
| 1825 | |
| 1826 $Arguments: | |
| 1827 *******************************************************************************/ | |
| 1828 | |
| 1829 void MMSFwd_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) | |
| 1830 /* callback handler for events sent to to trigger execution */ | |
| 1831 { | |
| 1832 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; | |
| 1833 | |
| 1834 TRACE_FUNCTION ("MMSFwd_exec_cb()"); | |
| 1835 | |
| 1836 switch (event) | |
| 1837 { | |
| 1838 case MWM_CREATE: | |
| 1839 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 1840 // Create a new Msg ID, Open the editor and copy the message being forwarded, into this editor. | |
| 1841 MMSBox_Forward(); | |
| 1842 //xrashmic 9 Nov, 2004 MMI-SPR-26147 | |
| 1843 //The text buffer is memset to '\0' only once at the time of MMS create - MWM_CREATE | |
| 1844 memset(text,'\0',MAX_MMS_TEXT_LEN); | |
| 1845 g_M4_display_active=TRUE; | |
| 1846 // xreddymn Feb-02-2005 MMI-SPR-28277: This is set to TRUE when forwarding MMS messages | |
| 1847 gMmsForwardStart=TRUE; | |
| 1848 break; | |
| 1849 case MWM_ONDRAW: | |
| 1850 TRACE_EVENT("MWM_ONDRAW"); | |
| 1851 dspl_Enable(0); | |
| 1852 { | |
| 1853 unsigned short width, height; | |
| 1854 DeviceGetScreenMetrics(&width,&height); | |
| 1855 dspl_SetBgdColour(COL_White); | |
| 1856 dspl_Clear(0, gucMmsTitleBarHeight, width-1, height-1); | |
| 1857 resources_setTitleColour(COLOUR_EDITOR); | |
| 1858 dspl_Clear(0, 0, width-1, gucMmsTitleBarHeight-1); | |
| 1859 dspl_TextOut(1, 0, DSPL_TXTATTR_HLIGHT,"Forwarding MMS"); | |
| 1860 } | |
| 1861 | |
| 1862 //yanbin: here call Magic4 functions to show MMS slides | |
| 1863 // bbssoo - After Creating MMS, display the "create MMS display" in the middle screen. | |
| 1864 // xreddymn Mar-08-2005 MMI-SPR-28820: changed order of posting | |
| 1865 // EMG4_Preview and EMG4_Resume. | |
| 1866 // When forwarding MMS, the first Preview-Resume occurs | |
| 1867 // through the callback MMI_1_EventHandler | |
| 1868 if(FALSE == gMmsForwardStart) | |
| 1869 { | |
| 1870 action_PreviewMessage(); | |
| 1871 action_ResumeEditor(); | |
| 1872 } | |
| 1873 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1874 //comenting action_SuspendEditor() as the Sound was not heard in the | |
| 1875 //compose screen | |
| 1876 //action_SuspendEditor(); | |
| 1877 displaySoftKeys(TxtSoftOptions,TxtSoftBack); | |
| 1878 dspl_Enable(1); | |
| 1879 break; | |
| 1880 case MWM_DESTORY: | |
| 1881 TRACE_EVENT("MWM_DESTROY"); | |
| 1882 //xreddymn Sep-16-2004: Changes related to MMI-SPR-24735 | |
| 1883 dspl_Enable(1); | |
| 1884 DAL_PostMessage(EMG4_Exit, EMG4_Type_NotUsed, 0, 0); | |
| 1885 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
| 1886 g_M4_display_active=FALSE; | |
| 1887 //xrashmic 20 Dec, 2004 MMI-SPR-23921 | |
| 1888 // On deleting the window, set the handler to NULL | |
| 1889 mms_Fwdcreate_hnd=NULL; | |
| 1890 break; | |
| 1891 case MWM_SUSPEND: | |
| 1892 TRACE_EVENT("MWM_SUSPEND"); | |
| 1893 //xreddymn Sep-16-2004: Changes related to MMI-SPR-24735 | |
| 1894 dspl_Enable(1); | |
| 1895 //xreddymn Aug-16-2004 MMI-SPR-23926 (TII_MMS12) and MMI-SPR-24115 (TII_MMS55): BMI will now use the display | |
| 1896 g_M4_display_active=FALSE; | |
| 1897 // xreddymn Sep-03-2004 MMI-SPR-23961 | |
| 1898 DAL_PostMessage(EMG4_Suspend,EMG4_Type_NotUsed,0,NULL); | |
| 1899 DAL_PostMessage(EMG4_PlayMode,EMG4_Type_NotUsed, EPlayModeStop,NULL); | |
| 1900 //xrashmic 6 Oct, 2004 MMI-SPR-25147 | |
| 1901 //The editor needs to be in EDIT mode when inserting, Saving, etc. | |
| 1902 DAL_PostMessage(EMG4_Edit,EMG4_Type_NotUsed,0,NULL); | |
| 1903 break; | |
| 1904 case MWM_RESUME: | |
| 1905 TRACE_EVENT("MWM_RESUME"); | |
| 1906 //xreddymn Aug-16-2004: M4 client will now use the display | |
| 1907 g_M4_display_active=TRUE; | |
| 1908 break; | |
| 1909 default: | |
| 1910 break; | |
| 1911 } | |
| 1912 } | |
| 1913 | |
| 1914 | |
| 1915 /******************************************************************************* | |
| 1916 | |
| 1917 $Function: MMSFwd_kbd_cb | |
| 1918 | |
| 1919 $Description: Keyboard handler for the MMS forward window | |
| 1920 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 1921 | |
| 1922 $Returns: None. | |
| 1923 | |
| 1924 $Arguments: | |
| 1925 *******************************************************************************/ | |
| 1926 | |
| 1927 static int MMSFwd_kbd_cb (MfwEvt e, MfwKbd *k) | |
| 1928 { | |
| 1929 T_MFW_HND win = mfwParent(mfw_header()); | |
| 1930 TRACE_FUNCTION ("MMSFwd_kbd_cb()"); | |
| 1931 if (e & KEY_LONG) | |
| 1932 { | |
| 1933 switch (k->code) | |
| 1934 { | |
| 1935 case KCD_HUP: /* back to previous menu */ | |
| 1936 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 1937 //Once outside the MMS create screen, this flag needs to be unset | |
| 1938 MMSactive=FALSE; | |
| 1939 if(g_M4_message_saved == FALSE) | |
| 1940 { | |
| 1941 g_event_struct.handler = Handler_MM_DeleteMessageEntryAsync; | |
| 1942 g_event_struct.parentEvtHandle = NULL; | |
| 1943 g_event_struct.pData = NULL; | |
| 1944 g_event_struct.userFlag = 0; | |
| 1945 MM_DeleteMessageAsync((EVT_HANDLE) &g_event_struct, g_msg_id); | |
| 1946 } | |
| 1947 MMI_DestoryWindow(win); | |
| 1948 break; | |
| 1949 case KCD_RIGHT: /* Power Down */ | |
| 1950 return MFW_EVENT_REJECTED; /* handled by idle */ | |
| 1951 default: /* no response to all other keys */ | |
| 1952 return MFW_EVENT_CONSUMED; | |
| 1953 } | |
| 1954 } | |
| 1955 else | |
| 1956 { | |
| 1957 switch (k->code) | |
| 1958 { | |
| 1959 case KCD_MNUSELECT: | |
| 1960 case KCD_LEFT: | |
| 1961 MMSCreate_OPT_start(win,0); | |
| 1962 break; | |
| 1963 case KCD_HUP: /* back to previous menu */ | |
| 1964 case KCD_RIGHT: /* back to previous menu */ | |
| 1965 //xrashmic 19 Aug, 2004 Bug: 2, 3, 36 and 42 | |
| 1966 //Once outside the MMS create screen, this flag needs to be unset | |
| 1967 MMSactive=FALSE; | |
| 1968 if(g_M4_message_saved == FALSE) | |
| 1969 { | |
| 1970 g_event_struct.handler = Handler_MM_DeleteMessageEntryAsync; | |
| 1971 g_event_struct.parentEvtHandle = NULL; | |
| 1972 g_event_struct.pData = NULL; | |
| 1973 g_event_struct.userFlag = 0; | |
| 1974 MM_DeleteMessageAsync((EVT_HANDLE) &g_event_struct, g_msg_id); | |
| 1975 } | |
| 1976 MMI_DestoryWindow(win); | |
| 1977 break; | |
| 1978 case KCD_MNUUP: | |
| 1979 //x0012849 Feb-03-2005 MMI-SPR-28224 | |
| 1980 //send the scrollup event to see the contents above the screen | |
| 1981 DAL_PostMessage(EMG4_ScrollUp,EMG4_Type_NotUsed,0,NULL); | |
| 1982 break; | |
| 1983 case KCD_MNUDOWN: | |
| 1984 //x0012849 Feb-03-2005 MMI-SPR-28224 | |
| 1985 //send the scrolldown event to see the contents below the screen | |
| 1986 DAL_PostMessage(EMG4_ScrollDown,EMG4_Type_NotUsed,0,NULL); | |
| 1987 break; | |
| 1988 case KCD_MNULEFT: | |
| 1989 case KCD_MNURIGHT: | |
| 1990 | |
| 1991 break; | |
| 1992 return MFW_EVENT_CONSUMED; | |
| 1993 } | |
| 1994 } | |
| 1995 return MFW_EVENT_CONSUMED; | |
| 1996 } | |
| 1997 | |
| 1998 /******************************************************************************* | |
| 1999 | |
| 2000 $Function: MMSFwd_start | |
| 2001 | |
| 2002 $Description: Creates Forward window for the selected MMS. | |
| 2003 //xrashmic 14 Dec, 2004 MMI-SPR-23921 | |
| 2004 | |
| 2005 $Returns: None. | |
| 2006 | |
| 2007 $Arguments: | |
| 2008 *******************************************************************************/ | |
| 2009 | |
| 2010 T_MFW_HND MMSFwd_start(void) | |
| 2011 { | |
| 2012 T_MFW_HND win = mfwParent(mfw_header()); | |
| 2013 TRACE_FUNCTION ("MMSCreate_start()"); | |
| 2014 mms_Fwdcreate_hnd=MMI_CreateWindow(win, (T_DIALOG_FUNC) MMSFwd_exec_cb, NULL,(MfwCb)MMSFwd_kbd_cb, 0,0); | |
| 2015 return mms_Fwdcreate_hnd; | |
| 2016 } | |
| 2017 | |
| 2018 | |
| 2019 #undef MMI_MMSCREATE_C | |
| 2020 |
