FreeCalypso > hg > tcs211-c139
comparison g23m/condat/ms/src/bmi/MmiBookController.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 CONDAT (UK) | |
| 4 | |
| 5 ******************************************************************************** | |
| 6 | |
| 7 This software product is the property of Condat (UK) Ltd and may not be | |
| 8 disclosed to any third party without the express permission of the owner. | |
| 9 | |
| 10 ******************************************************************************** | |
| 11 | |
| 12 $Project name: Basic MMI | |
| 13 $Project code: BMI (6349) | |
| 14 $Module: PhoneBook | |
| 15 $File: MmiBookController.c | |
| 16 $Revision: 1.0 | |
| 17 | |
| 18 $Author: Condat(UK) | |
| 19 $Date: 25/10/00 | |
| 20 | |
| 21 ******************************************************************************** | |
| 22 | |
| 23 Description: | |
| 24 | |
| 25 The book controller module provides the external | |
| 26 interface to the phone book. It provides ALL external | |
| 27 entry points to the phone book system. | |
| 28 | |
| 29 ******************************************************************************** | |
| 30 | |
| 31 $History: MmiBookController.c | |
| 32 | |
| 33 Jun 13, 2005 REF: SPR 31705 x0021308 | |
| 34 Description: Once maximum limit of the My Number is exceeded, display info : Phonebook full, | |
| 35 expected is MyNumber Full | |
| 36 Solution: Replaced the Return tag in function Protected Menu Handler(booksetownNumber) from | |
| 37 Phonebookfull with MyNumberfull. | |
| 38 | |
| 39 Jun 13, 2005 REF: SPR 31710 x0021308 | |
| 40 Description: Once maximum limit of the FDN Number is exceeded, display info : Phonebook full, | |
| 41 expected is FDNList Full | |
| 42 Solution: Replaced the Return tag in function Protected Menu Handler(booksetownNumber) from | |
| 43 Phonebookfull with FDNListfull While checking whether in FDNMenu is active using MenuFDN global | |
| 44 variable. | |
| 45 | |
| 46 | |
| 47 Sep 22, 2004 REF: CRR 21392 xvilliva | |
| 48 Bug: PIN2 Screen is not displaying, While Adding FDN Number thru | |
| 49 Recent call Menu. | |
| 50 Fix: We add the "bookRepRedNameEnter" to "ProtectedActions" array. | |
| 51 If FDN is enabled, Pin2 will be asked. | |
| 52 | |
| 53 | |
| 54 25/10/00 Original Condat(UK) BMI version. | |
| 55 | |
| 56 | |
| 57 | |
| 58 $End | |
| 59 | |
| 60 // Issue Number : MMI-FIX-12161 on 07/04/04 by Nishikant Kulkarni/Ajith K.P | |
| 61 | |
| 62 *******************************************************************************/ | |
| 63 | |
| 64 | |
| 65 /******************************************************************************* | |
| 66 | |
| 67 Include Files | |
| 68 | |
| 69 *******************************************************************************/ | |
| 70 | |
| 71 /* MMI phone book specific include files | |
| 72 */ | |
| 73 #define ENTITY_MFW | |
| 74 | |
| 75 /* includes */ | |
| 76 #include <string.h> | |
| 77 #include <stdio.h> | |
| 78 #include <stdlib.h> | |
| 79 | |
| 80 #if defined (NEW_FRAME) | |
| 81 | |
| 82 #include "typedefs.h" | |
| 83 #include "vsi.h" | |
| 84 #include "pei.h" | |
| 85 #include "custom.h" | |
| 86 #include "gsm.h" | |
| 87 | |
| 88 #else | |
| 89 | |
| 90 #include "STDDEFS.H" | |
| 91 #include "custom.h" | |
| 92 #include "gsm.h" | |
| 93 #include "vsi.h" | |
| 94 | |
| 95 #endif | |
| 96 #include "mfw_sys.h" | |
| 97 | |
| 98 #include "mfw_mfw.h" | |
| 99 #include "mfw_win.h" | |
| 100 #include "mfw_kbd.h" | |
| 101 #include "mfw_lng.h" | |
| 102 /* SPR#1428 - SH - New Editor changes */ | |
| 103 #ifndef NEW_EDITOR | |
| 104 #include "mfw_edt.h" | |
| 105 #endif | |
| 106 #include "mfw_icn.h" | |
| 107 #include "mfw_mnu.h" | |
| 108 #include "mfw_tim.h" | |
| 109 | |
| 110 #include "mfw_sim.h" | |
| 111 #include "mfw_cm.h" | |
| 112 #include "mfw_nm.h" | |
| 113 #include "mfw_phb.h" | |
| 114 #include "mfw_mme.h" | |
| 115 #include "mfw_sat.h" | |
| 116 #include "mfw_sms.h" | |
| 117 | |
| 118 #include "dspl.h" | |
| 119 | |
| 120 #include "ksd.h" | |
| 121 #include "psa.h" | |
| 122 | |
| 123 #include "MmiMain.h" | |
| 124 #include "MmiBookController.h" | |
| 125 #include "MmiDummy.h" | |
| 126 #include "MmiDialogs.h" | |
| 127 #include "MmiLists.h" | |
| 128 | |
| 129 | |
| 130 | |
| 131 #include "MmiMenu.h" | |
| 132 #include "mmiCall.h" | |
| 133 #include "Mmiicons.h" | |
| 134 #include "MmiIdle.h" | |
| 135 | |
| 136 #include "MmiSoftKeys.h" | |
| 137 #include "MmiSounds.h" | |
| 138 #include "MmiIdle.h" | |
| 139 #include "MmiNetwork.h" | |
| 140 #include "mmiSat_i.h" | |
| 141 #include "MmiAoc.h" | |
| 142 | |
| 143 #include "gdi.h" | |
| 144 #include "audio.h" | |
| 145 | |
| 146 #include "cus_aci.h" | |
| 147 #include "MmiTimers.h" | |
| 148 | |
| 149 | |
| 150 #include "MmiBookController.h" | |
| 151 #include "MmiBookUtils.h" | |
| 152 | |
| 153 /* MMI specific includes, outside scope of phone book | |
| 154 */ | |
| 155 #include "MmiPins.h" | |
| 156 #include "mmiSmsMenu.h" | |
| 157 #include "mmismssend.h" | |
| 158 #include "mmiCall.h" | |
| 159 #include "MmiIdle.h" | |
| 160 #include "MmiCPHS.h" | |
| 161 | |
| 162 | |
| 163 /******************************************************************************* | |
| 164 | |
| 165 Definitions | |
| 166 | |
| 167 *******************************************************************************/ | |
| 168 | |
| 169 /* Since we want to make sure all of the menu handlers get | |
| 170 treated the same way, and have a protected handler, define | |
| 171 a new macro, in terms of the MENU_HANDLER, which will | |
| 172 invoke the protected function correctly (See below for | |
| 173 further details) | |
| 174 */ | |
| 175 #define PROTECTED_MENU_HANDLER( Name ) \ | |
| 176 static MENU_HANDLER( Protected##Name ); \ | |
| 177 MENU_HANDLER( Name ) \ | |
| 178 { \ | |
| 179 return Protected( Name, Protected##Name, Menu, Item ); \ | |
| 180 } \ | |
| 181 static MENU_HANDLER( Protected##Name ) | |
| 182 | |
| 183 /* | |
| 184 ** Since PROTECTED_MENU_HANDLER handles only FDN protection, the following is a menu handler to ensure | |
| 185 ** that PIN2 entry is required for any associated menu action | |
| 186 */ | |
| 187 #define PIN2RQD_MENU_HANDLER( Name ) \ | |
| 188 static MENU_HANDLER( Pin2Rqd##Name ); \ | |
| 189 MENU_HANDLER( Name ) \ | |
| 190 { \ | |
| 191 return Pin2Rqd( Name, Pin2Rqd##Name, Menu, Item ); \ | |
| 192 } \ | |
| 193 static MENU_HANDLER( Pin2Rqd##Name ) | |
| 194 | |
| 195 /*Added For Fix: MMI-FIX-12161 on 07/04/04 by Nishikant Kulkarni/Ajith K.P */ | |
| 196 extern T_idle idle_data; | |
| 197 | |
| 198 | |
| 199 /******************************************************************************* | |
| 200 | |
| 201 Local structures | |
| 202 | |
| 203 *******************************************************************************/ | |
| 204 | |
| 205 /* A number of the actions the phone book is required to perform | |
| 206 can only be activated when the user enters a security PIN number, | |
| 207 the PIN2 code. In order to make the operation of the module | |
| 208 clear, we will build a list of the protected actions, and then | |
| 209 drive all menu operations through a single clearing process. | |
| 210 | |
| 211 The module will use the following action list perform the | |
| 212 protection, note that the last entry in this list must be | |
| 213 NULL | |
| 214 */ | |
| 215 typedef tBookStatus (*tProtectFunction)( tBookMfwMenu *Menu, tBookMfwMenuItem *Item ); | |
| 216 | |
| 217 tProtectFunction ProtectedActions[] = { | |
| 218 bookNameEnter, | |
| 219 bookNameEdit, | |
| 220 bookNameDelete, | |
| 221 bookNameDeleteAll, | |
| 222 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
| 223 // A function, if added to this array would ask Pin2 when called. | |
| 224 // Storing a number from recent call list would ask for Pin2, if FDN is enabled. | |
| 225 bookRepRedNameEnter, | |
| 226 NULL }; | |
| 227 | |
| 228 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
| 229 // This flag will indicate when we are in FDN menu | |
| 230 int menuFDN; | |
| 231 extern T_call call_data; | |
| 232 | |
| 233 | |
| 234 /******************************************************************************* | |
| 235 | |
| 236 Private methods | |
| 237 | |
| 238 *******************************************************************************/ | |
| 239 | |
| 240 /******************************************************************************* | |
| 241 | |
| 242 $Function: Mmir_BaseAddress | |
| 243 | |
| 244 $Description: returns the base address of the Master Index Table | |
| 245 | |
| 246 $Returns: As above | |
| 247 | |
| 248 $Arguments: none. | |
| 249 | |
| 250 *******************************************************************************/ | |
| 251 | |
| 252 /* Provide a local routine which will perform the protection | |
| 253 method. This will scan the list of protected actions, looking | |
| 254 for the provided function, if it isn't a protected function | |
| 255 then we will just call it directly, otherwise we will guard | |
| 256 it with the PIN2 security code if we have a protected book | |
| 257 */ | |
| 258 static int Protected( tProtectFunction FunTag, tProtectFunction FunPtr, tBookMfwMenu *Menu, tBookMfwMenuItem *Item ) | |
| 259 { | |
| 260 pBookMfwWin win_data = (pBookMfwWin) bookWindowData(); | |
| 261 pBookPhonebook book = ((pBookStandard)win_data->user)->phbk; | |
| 262 int i; | |
| 263 | |
| 264 /* Check for a protected book being used (details to be sorted | |
| 265 out at a later date) | |
| 266 */ | |
| 267 | |
| 268 // Sep 22, 2004 REF: CRR 21388 xvilliva | |
| 269 // We check if the call is not from FDN menu and if the current storage | |
| 270 // for phonebook is internal phone book, we avoid asking Pin2 accordingly. | |
| 271 if(menuFDN == 0 && bookActiveBook(WRITE) == PHB_IPB) | |
| 272 { | |
| 273 //Do nothing. | |
| 274 } | |
| 275 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
| 276 // Pin2 should be prompted when user does FDN related operations in FDN menu | |
| 277 // In FDN menu, receie an active call and FDN is disabled, pin2 should not be prompted for in call addressbook operations | |
| 278 else if ( phb_get_mode() == PHB_RESTRICTED || (menuFDN && (call_data.calls.numCalls==0))) | |
| 279 { | |
| 280 /* Is the requested function one of the ones we need | |
| 281 to protect ? | |
| 282 */ | |
| 283 TRACE_FUNCTION("Phone Book in FDN mode:ask for pin 2"); | |
| 284 for ( i = 0; ProtectedActions[i]; i++ ) | |
| 285 { | |
| 286 if ( FunTag == ProtectedActions[i] ) | |
| 287 { | |
| 288 /* Yup, so we need to store the pending action for | |
| 289 this window, this will be invoked by the checking | |
| 290 operation, indirectly, if the check is successful | |
| 291 */ | |
| 292 book->pin2_next = (T_VOID_FUNC) FunPtr; | |
| 293 | |
| 294 //We're cheating and passing the current window to the | |
| 295 //handler via the unused menu parameter -- MC | |
| 296 book->menu = (tBookMfwMenu*) bookCurrentWindow(); | |
| 297 book->item = Item; | |
| 298 | |
| 299 /* Call out to get the pin2 number checked, this will | |
| 300 respond with a message back to this object, which | |
| 301 we will deal with on receipt | |
| 302 */ | |
| 303 return pin2_check( bookCurrentWindow()); | |
| 304 } | |
| 305 } | |
| 306 } | |
| 307 | |
| 308 /* we've come through the list of functions and either don't | |
| 309 have a protected action to perform, or the book itself | |
| 310 is not protected, so just invoke the requested action | |
| 311 */ | |
| 312 return (FunPtr)( (tBookMfwMenu*) bookCurrentWindow()/*Menu*/, Item ); | |
| 313 } | |
| 314 | |
| 315 | |
| 316 /* | |
| 317 ** This function will apply PIN2 protection to the associated menu functions at ALL times | |
| 318 ** | |
| 319 */ | |
| 320 static int Pin2Rqd( tProtectFunction FunTag, tProtectFunction FunPtr, tBookMfwMenu *Menu, tBookMfwMenuItem *Item ) | |
| 321 { | |
| 322 pBookMfwWin win_data = (pBookMfwWin) bookWindowData(); | |
| 323 pBookPhonebook book = ((pBookStandard)win_data->user)->phbk; | |
| 324 // int i; // RAVI | |
| 325 | |
| 326 /* Yup, so we need to store the pending action for | |
| 327 this window, this will be invoked by the checking | |
| 328 operation, indirectly, if the check is successful | |
| 329 */ | |
| 330 book->pin2_next = (T_VOID_FUNC) FunPtr; | |
| 331 | |
| 332 //We're cheating and passing the current window to the | |
| 333 //handler via the unused menu parameter -- MC | |
| 334 book->menu = (tBookMfwMenu*) bookCurrentWindow(); | |
| 335 book->item = Item; | |
| 336 | |
| 337 /* Call out to get the pin2 number checked, this will | |
| 338 respond with a message back to this object, which | |
| 339 we will deal with on receipt | |
| 340 */ | |
| 341 return pin2_check( bookCurrentWindow()); | |
| 342 } | |
| 343 | |
| 344 /******************************************************************************* | |
| 345 | |
| 346 Public methods | |
| 347 | |
| 348 *******************************************************************************/ | |
| 349 | |
| 350 /* Menu Handlers | |
| 351 | |
| 352 We are routing all of the phone book functionality through | |
| 353 this module to allow the functional modules to be developed | |
| 354 independantly where possible. | |
| 355 | |
| 356 This gives a single interface point for the rest of the | |
| 357 MMI subsystem. | |
| 358 | |
| 359 All of the following functions use the MENU_HANDLER macro, | |
| 360 as such they all have a common interface, this is not therefore | |
| 361 documented in each case. The following information is common | |
| 362 for each menu handler | |
| 363 | |
| 364 | |
| 365 $Returns: Status from worker routine | |
| 366 | |
| 367 $Arguments: Menu, the menu from which the function was activated | |
| 368 Item, the item associated with the call | |
| 369 | |
| 370 */ | |
| 371 | |
| 372 | |
| 373 /******************************************************************************* | |
| 374 | |
| 375 $Function: bookNameEnter | |
| 376 | |
| 377 $Description: | |
| 378 | |
| 379 Add new name to the phone book | |
| 380 | |
| 381 $Returns: Refer Menu Handlers Definition Block Above | |
| 382 | |
| 383 $Arguments: Refer Menu Handlers Definition Block Above | |
| 384 | |
| 385 *******************************************************************************/ | |
| 386 | |
| 387 PROTECTED_MENU_HANDLER( bookNameEnter ) | |
| 388 { | |
| 389 //recast the menu parameter as the current window -- MC | |
| 390 T_MFW_HND win = (T_MFW_HND)Menu; | |
| 391 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 392 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 393 T_phbk *Phbk = data->phbk; | |
| 394 | |
| 395 TRACE_FUNCTION("bookNameEnter"); | |
| 396 /* Clear the input editor structures before we go any further | |
| 397 */ | |
| 398 | |
| 399 if (Phbk->UpdateAction!=ADD_FROM_IDLE) | |
| 400 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
| 401 /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ | |
| 402 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
| 403 /* Indicate this is an additional entry being created | |
| 404 */ | |
| 405 Phbk->UpdateAction = CREATE_ENTRY; | |
| 406 | |
| 407 // May 3, 2004 REF: CRR MMI-SPR-18555 Rashmi C N(Sasken) | |
| 408 // As the book is being changed for FDN menu operations, we need to | |
| 409 // get back the current book for the normal phonbook operations | |
| 410 Phbk->current.status.book = bookActiveBook(READ); | |
| 411 | |
| 412 /* Determine if we have room to add any new entries | |
| 413 */ | |
| 414 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
| 415 if ( Phbk->phbk->current.status.avail_entries ) | |
| 416 { | |
| 417 /* We are okay to input the number, use a worker routine | |
| 418 from the input handler module to actually deal with this | |
| 419 */ | |
| 420 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
| 421 } | |
| 422 else | |
| 423 { | |
| 424 /* We have no room available to add the name, so check if | |
| 425 we have filled the namespace or not | |
| 426 */ | |
| 427 | |
| 428 /*If FDN menu active and no room for entries, then display FDN list full */ | |
| 429 tIndexTagNames Tag ; | |
| 430 if(menuFDN) | |
| 431 { | |
| 432 Tag = ( Phbk->phbk->current.status.used_entries ) | |
| 433 ? TxtFDNListFull : TxtOperationNotAvail; //SPR 31710 x0021308:RamG | |
| 434 } | |
| 435 else | |
| 436 { | |
| 437 Tag = ( Phbk->phbk->current.status.used_entries ) | |
| 438 ? TxtPhbkFull : TxtOperationNotAvail; | |
| 439 } | |
| 440 bookShowInformation( win, Tag,NULL, NULL ); | |
| 441 | |
| 442 | |
| 443 } | |
| 444 | |
| 445 /* Always return event consumed | |
| 446 */ | |
| 447 return MFW_EVENT_CONSUMED; | |
| 448 } | |
| 449 | |
| 450 | |
| 451 /******************************************************************************* | |
| 452 | |
| 453 $Function: bookNameEdit | |
| 454 | |
| 455 $Description: | |
| 456 | |
| 457 Edit the name in the phone book | |
| 458 | |
| 459 $Returns: Refer Menu Handlers Definition Block Above | |
| 460 | |
| 461 $Arguments: Refer Menu Handlers Definition Block Above | |
| 462 | |
| 463 *******************************************************************************/ | |
| 464 | |
| 465 PROTECTED_MENU_HANDLER( bookNameEdit ) | |
| 466 { | |
| 467 //recast the menu parameter as the current window -- MC | |
| 468 T_MFW_HND win = /*mfwParent( mfw_header() )*/(T_MFW_HND)Menu; | |
| 469 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 470 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 471 T_phbk *Phbk = data->phbk; | |
| 472 | |
| 473 /* Indicate this is an edit of a current entry | |
| 474 */ | |
| 475 Phbk->UpdateAction = MODIFY_EXISTING; | |
| 476 /*MC SPR 1327, if UPN don't change phonebook type*/ | |
| 477 if (data->phbk->current.status.book != PHB_UPN) | |
| 478 data->phbk->current.status.book = bookActiveBook(READ); | |
| 479 | |
| 480 /*api - clear buffers before edit | |
| 481 */ | |
| 482 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
| 483 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
| 484 | |
| 485 TRACE_EVENT_P2("current phbk is = %d and current entry is = %d", data->phbk->current.status.book,data->phbk->current.entry[ data->phbk->current.selectedName ].book); | |
| 486 | |
| 487 if(data->phbk->current.status.book == PHB_ADN_FDN) | |
| 488 { | |
| 489 if(data->phbk->current.entry[ data->phbk->current.selectedName ].book==PHB_FDN) | |
| 490 { | |
| 491 bookActivateFDN((T_MFW_HND)Menu); | |
| 492 } | |
| 493 else | |
| 494 { | |
| 495 /* And populate the buffers with the information to be modified | |
| 496 */ | |
| 497 #ifdef NO_ASCIIZ | |
| 498 /*MC , SPR 1242 copy whole name, merged from b-sample build*/ | |
| 499 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name.data, MAX_ALPHA_LEN /*Phbk->current.entry[ Phbk->current.selectedName ].name.len*/); | |
| 500 #else | |
| 501 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name, MAX_ALPHA_LEN ); | |
| 502 #endif | |
| 503 memcpy( Phbk->phbk->edt_buf_number, Phbk->current.entry[ Phbk->current.selectedName ].number, PHB_MAX_LEN ); | |
| 504 | |
| 505 /* And edit the entry we currently have active | |
| 506 */ | |
| 507 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
| 508 } | |
| 509 } | |
| 510 else | |
| 511 { | |
| 512 /* And populate the buffers with the information to be modified | |
| 513 */ | |
| 514 #ifdef NO_ASCIIZ | |
| 515 /*MC , SPR 1242 copy whole name, merged from b-sample build*/ | |
| 516 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name.data, MAX_ALPHA_LEN/*Phbk->current.entry[ Phbk->current.selectedName ].name.len*/); | |
| 517 #else | |
| 518 memcpy( Phbk->phbk->edt_buf_name, Phbk->current.entry[ Phbk->current.selectedName ].name, MAX_ALPHA_LEN ); | |
| 519 #endif | |
| 520 memcpy( Phbk->phbk->edt_buf_number, Phbk->current.entry[ Phbk->current.selectedName ].number, PHB_MAX_LEN ); | |
| 521 | |
| 522 /* And edit the entry we currently have active | |
| 523 */ | |
| 524 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
| 525 } | |
| 526 /* Always return event consumed | |
| 527 */ | |
| 528 return MFW_EVENT_CONSUMED; | |
| 529 } | |
| 530 | |
| 531 | |
| 532 /******************************************************************************* | |
| 533 | |
| 534 $Function: bookNameDelete | |
| 535 | |
| 536 $Description: | |
| 537 | |
| 538 Delete name in phone book | |
| 539 | |
| 540 $Returns: Refer Menu Handlers Definition Block Above | |
| 541 | |
| 542 $Arguments: Refer Menu Handlers Definition Block Above | |
| 543 | |
| 544 *******************************************************************************/ | |
| 545 | |
| 546 PROTECTED_MENU_HANDLER( bookNameDelete ) | |
| 547 { | |
| 548 | |
| 549 //recast the menu parameter as the current window -- MC | |
| 550 //and pass it on | |
| 551 //when ADN_FDN phonebook in use check if current entry is FDN | |
| 552 //is so then call information screen or allow entry to be deleted. --- AP 23/01/02 | |
| 553 //Issue 1944 MZ Allow an entry in FDN list to be deleted. | |
| 554 T_MFW_HND win = (T_MFW_HND)Menu; | |
| 555 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 556 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 557 | |
| 558 /*MC SPR 1327, if UPN don't change phonebook type*/ | |
| 559 if (data->phbk->current.status.book != PHB_UPN) | |
| 560 data->phbk->current.status.book = bookActiveBook(READ); | |
| 561 if(data->phbk->current.status.book == PHB_ADN_FDN) | |
| 562 if(data->phbk->current.entry[ data->phbk->current.selectedName ].book==PHB_FDN) | |
| 563 bookActivateFDN((T_MFW_HND)Menu); | |
| 564 else | |
| 565 bookDeleteEntry((T_MFW_HND)Menu); | |
| 566 else | |
| 567 bookDeleteEntry((T_MFW_HND)Menu); | |
| 568 | |
| 569 return MFW_EVENT_CONSUMED; | |
| 570 } | |
| 571 | |
| 572 /******************************************************************************* | |
| 573 | |
| 574 $Function: bookNameCall | |
| 575 | |
| 576 $Description: | |
| 577 | |
| 578 Call name in phone book | |
| 579 | |
| 580 $Returns: Refer Menu Handlers Definition Block Above | |
| 581 | |
| 582 $Arguments: Refer Menu Handlers Definition Block Above | |
| 583 | |
| 584 *******************************************************************************/ | |
| 585 | |
| 586 PROTECTED_MENU_HANDLER( bookNameCall ) | |
| 587 { T_MFW_HND win = mfwParent( mfw_header() ); | |
| 588 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 589 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 590 T_phbk *Phbk = data->phbk; | |
| 591 | |
| 592 callNumber( Phbk->current.entry[ Phbk->current.selectedName ].number ); | |
| 593 return MFW_EVENT_CONSUMED; | |
| 594 } | |
| 595 | |
| 596 | |
| 597 | |
| 598 /******************************************************************************* | |
| 599 | |
| 600 $Function: bookDeleteAll | |
| 601 | |
| 602 $Description: | |
| 603 | |
| 604 Delete name in phone book | |
| 605 | |
| 606 $Returns: Refer Menu Handlers Definition Block Above | |
| 607 | |
| 608 $Arguments: Refer Menu Handlers Definition Block Above | |
| 609 | |
| 610 *******************************************************************************/ | |
| 611 | |
| 612 PROTECTED_MENU_HANDLER( bookDeleteAll ) | |
| 613 { | |
| 614 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 615 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 616 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 617 T_phbk *Phbk = data->phbk; | |
| 618 | |
| 619 if (phb_delete_book(Phbk->current.status.book)==MFW_PHB_OK) | |
| 620 { | |
| 621 MmiBookSetCurrentText( TxtEntryDeleted); | |
| 622 bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL ); | |
| 623 bookPhonebookDestroy(Phbk->win); | |
| 624 } | |
| 625 return MFW_EVENT_CONSUMED; | |
| 626 } | |
| 627 | |
| 628 | |
| 629 /******************************************************************************* | |
| 630 | |
| 631 $Function: bookNameSearch | |
| 632 | |
| 633 $Description: | |
| 634 | |
| 635 Search for name in phone book | |
| 636 | |
| 637 $Returns: Refer Menu Handlers Definition Block Above | |
| 638 | |
| 639 $Arguments: Refer Menu Handlers Definition Block Above | |
| 640 | |
| 641 *******************************************************************************/ | |
| 642 | |
| 643 PROTECTED_MENU_HANDLER( bookNameSearch ) | |
| 644 { | |
| 645 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 646 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 647 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 648 | |
| 649 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
| 650 data->phbk->current.status.book = bookActiveBook(READ); | |
| 651 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
| 652 | |
| 653 return MFW_EVENT_CONSUMED; | |
| 654 } | |
| 655 | |
| 656 | |
| 657 | |
| 658 /******************************************************************************* | |
| 659 | |
| 660 $Function: bookNumberSearch | |
| 661 | |
| 662 $Description: | |
| 663 | |
| 664 Search for name in phone book, order the elements by the phone book number | |
| 665 | |
| 666 $Returns: Refer Menu Handlers Definition Block Above | |
| 667 | |
| 668 $Arguments: Refer Menu Handlers Definition Block Above | |
| 669 | |
| 670 *******************************************************************************/ | |
| 671 | |
| 672 PROTECTED_MENU_HANDLER( bookNumberSearch ) | |
| 673 { | |
| 674 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 675 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 676 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 677 | |
| 678 data->phbk->current.KindOfSearch = SEARCH_BY_NUMBER; | |
| 679 data->phbk->current.status.book = bookActiveBook(READ); | |
| 680 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
| 681 | |
| 682 return MFW_EVENT_CONSUMED; | |
| 683 } | |
| 684 | |
| 685 | |
| 686 /******************************************************************************* | |
| 687 | |
| 688 $Function: bookLocationSearch | |
| 689 | |
| 690 $Description: | |
| 691 | |
| 692 Search for number in phone book, using SIM location to order search | |
| 693 window output | |
| 694 | |
| 695 $Returns: Refer Menu Handlers Definition Block Above | |
| 696 | |
| 697 $Arguments: Refer Menu Handlers Definition Block Above | |
| 698 | |
| 699 *******************************************************************************/ | |
| 700 | |
| 701 PROTECTED_MENU_HANDLER( bookLocationSearch ) | |
| 702 { | |
| 703 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 704 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 705 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 706 | |
| 707 data->phbk->current.KindOfSearch = SEARCH_BY_LOCATION; | |
| 708 data->phbk->current.status.book = bookActiveBook(READ); | |
| 709 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
| 710 | |
| 711 return MFW_EVENT_CONSUMED; | |
| 712 } | |
| 713 | |
| 714 | |
| 715 /******************************************************************************* | |
| 716 | |
| 717 $Function: bookNameDeleteAll | |
| 718 | |
| 719 $Description: | |
| 720 | |
| 721 Delete all names associated with a phone book | |
| 722 | |
| 723 $Returns: Refer Menu Handlers Definition Block Above | |
| 724 | |
| 725 $Arguments: Refer Menu Handlers Definition Block Above | |
| 726 | |
| 727 *******************************************************************************/ | |
| 728 | |
| 729 PROTECTED_MENU_HANDLER( bookNameDeleteAll ) | |
| 730 { | |
| 731 return NULL; | |
| 732 } | |
| 733 | |
| 734 | |
| 735 | |
| 736 | |
| 737 /******************************************************************************* | |
| 738 | |
| 739 $Function: bookNameMessage | |
| 740 | |
| 741 $Description: | |
| 742 | |
| 743 Send message to the number selected | |
| 744 | |
| 745 $Returns: Refer Menu Handlers Definition Block Above | |
| 746 | |
| 747 $Arguments: Refer Menu Handlers Definition Block Above | |
| 748 | |
| 749 *******************************************************************************/ | |
| 750 | |
| 751 PROTECTED_MENU_HANDLER( bookSendMessage ) | |
| 752 { | |
| 753 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 754 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 755 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 756 T_phbk *Phbk = data->phbk; | |
| 757 T_SmsUserData SmsData; | |
| 758 | |
| 759 /* Copy the number and name information to the SMS buffer | |
| 760 */ | |
| 761 /* API - 13-01-03 - 1409 - Minus the Phbk->current.missedCallsOffset to point at the correct number in the missed calls */ | |
| 762 memcpy( SmsData.NumberBuffer, (UBYTE *) Phbk->current.entry[ Phbk->current.selectedName - Phbk->current.missedCallsOffset ].number, | |
| 763 sizeof( SmsData.NumberBuffer ) ); | |
| 764 /*MC SPR 1257, zero whole buffer for unicode*/ | |
| 765 memset(SmsData.TextBuffer, '\0', MAX_MSG_LEN_ARRAY); | |
| 766 | |
| 767 /* Create a dynamic menu window to perform the SMS sending | |
| 768 */ | |
| 769 SmsSend_SEND_start( win, (void *) &SmsData ); | |
| 770 | |
| 771 return MFW_EVENT_CONSUMED; | |
| 772 | |
| 773 } | |
| 774 | |
| 775 | |
| 776 /******************************************************************************* | |
| 777 | |
| 778 $Function: bookGetOwnNumber | |
| 779 | |
| 780 $Description: | |
| 781 | |
| 782 Get own number | |
| 783 | |
| 784 $Returns: Refer Menu Handlers Definition Block Above | |
| 785 | |
| 786 $Arguments: Refer Menu Handlers Definition Block Above | |
| 787 | |
| 788 *******************************************************************************/ | |
| 789 | |
| 790 PROTECTED_MENU_HANDLER( bookGetOwnNumber ) | |
| 791 { | |
| 792 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 793 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 794 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 795 | |
| 796 | |
| 797 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
| 798 data->phbk->current.status.book = PHB_UPN; | |
| 799 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
| 800 | |
| 801 return MFW_EVENT_CONSUMED; | |
| 802 } | |
| 803 | |
| 804 | |
| 805 /******************************************************************************* | |
| 806 | |
| 807 $Function: bookSetOwnNumber | |
| 808 | |
| 809 $Description: | |
| 810 | |
| 811 Set own number | |
| 812 | |
| 813 $Returns: Refer Menu Handlers Definition Block Above | |
| 814 | |
| 815 $Arguments: Refer Menu Handlers Definition Block Above | |
| 816 | |
| 817 *******************************************************************************/ | |
| 818 | |
| 819 PROTECTED_MENU_HANDLER( bookSetOwnNumber ) | |
| 820 { T_MFW_HND win = mfwParent( mfw_header() ); | |
| 821 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 822 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 823 T_phbk *Phbk = data->phbk; | |
| 824 | |
| 825 /* Clear the input editor structures before we go any further | |
| 826 */ | |
| 827 /*MC SPR 1257, replacing PHB_MAX_LEN with MAX_ALPHA_LEN for name strings*/ | |
| 828 memset( Phbk->phbk->edt_buf_name, '\0', MAX_ALPHA_LEN ); | |
| 829 memset( Phbk->phbk->edt_buf_number, '\0', PHB_MAX_LEN ); | |
| 830 | |
| 831 /* Indicate this is an additional entry being created | |
| 832 */ | |
| 833 Phbk->UpdateAction = CREATE_ENTRY; | |
| 834 data->phbk->current.status.book = PHB_UPN; | |
| 835 /* Determine if we have room to add any new entries | |
| 836 */ | |
| 837 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
| 838 if ( Phbk->phbk->current.status.avail_entries ) | |
| 839 { | |
| 840 /* We are okay to input the number, use a worker routine | |
| 841 from the input handler module to actually deal with this | |
| 842 */ | |
| 843 Phbk->input_number_win = bookInputStartNumberEditor( win, Phbk->edt_buf_number ); | |
| 844 } | |
| 845 else | |
| 846 { | |
| 847 /* We have no room available to add the name, so check if | |
| 848 we have filled the namespace or not | |
| 849 */ | |
| 850 tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries ) | |
| 851 ? TxtMyNumberFull : TxtOperationNotAvail; //SPR 31705 x0021308:RamG. | |
| 852 bookShowInformation( win, Tag, NULL, NULL ); | |
| 853 } | |
| 854 | |
| 855 /* Always return event consumed | |
| 856 */ | |
| 857 return MFW_EVENT_CONSUMED; | |
| 858 } | |
| 859 | |
| 860 | |
| 861 /******************************************************************************* | |
| 862 | |
| 863 $Function: bookRepRedNameEnter | |
| 864 | |
| 865 $Description: | |
| 866 | |
| 867 Enter name associated with Reply-Redial number | |
| 868 | |
| 869 $Returns: Refer Menu Handlers Definition Block Above | |
| 870 | |
| 871 $Arguments: Refer Menu Handlers Definition Block Above | |
| 872 | |
| 873 *******************************************************************************/ | |
| 874 | |
| 875 PROTECTED_MENU_HANDLER( bookRepRedNameEnter ) | |
| 876 { | |
| 877 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
| 878 // We use the variable "Menu", similar to bookNameEnter() to avoid a crash. | |
| 879 T_MFW_HND win = (T_MFW_HND)Menu; | |
| 880 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 881 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 882 T_phbk *Phbk = data->phbk; | |
| 883 char* selected_number; | |
| 884 | |
| 885 selected_number = (char*)data->phbk->current.entry[data->phbk->current.selectedName].number; | |
| 886 // Sep 22, 2004 REF: CRR 21392 xvilliva | |
| 887 // We get the exact book that is selected. | |
| 888 data->phbk->current.status.book = bookActiveBook(WRITE); | |
| 889 | |
| 890 Phbk->UpdateAction = CREATE_ENTRY; | |
| 891 bookGetCurrentStatus( &Phbk->phbk->current.status ); | |
| 892 if ( Phbk->phbk->current.status.avail_entries ) | |
| 893 { | |
| 894 /* We are okay to input the number, use a worker routine | |
| 895 from the input handler module to actually deal with this | |
| 896 */ | |
| 897 | |
| 898 bookAddName(win,selected_number); | |
| 899 } | |
| 900 else | |
| 901 { | |
| 902 /* We have no room available to add the name, so check if | |
| 903 we have filled the namespace or not | |
| 904 */ | |
| 905 tIndexTagNames Tag = ( Phbk->phbk->current.status.used_entries ) | |
| 906 ? TxtPhbkFull : TxtOperationNotAvail; | |
| 907 bookShowInformation( win, Tag, NULL, NULL ); | |
| 908 } | |
| 909 free( selected_number); | |
| 910 return 1; | |
| 911 } | |
| 912 | |
| 913 | |
| 914 /******************************************************************************* | |
| 915 | |
| 916 $Function: bookRepRedDelete | |
| 917 | |
| 918 $Description: | |
| 919 | |
| 920 Delete name associated with Reply-Redial Number | |
| 921 | |
| 922 $Returns: Refer Menu Handlers Definition Block Above | |
| 923 | |
| 924 $Arguments: Refer Menu Handlers Definition Block Above | |
| 925 | |
| 926 *******************************************************************************/ | |
| 927 | |
| 928 PROTECTED_MENU_HANDLER( bookRepRedDelete ) | |
| 929 { | |
| 930 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 931 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 932 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 933 T_phbk *Phbk = data->phbk; | |
| 934 | |
| 935 deleteFromFile(Phbk,Phbk->current.status.book); | |
| 936 bookShowInformation( Phbk->win, MmiBookCurrentText(),NULL, NULL ); | |
| 937 bookMenuDestroy(Phbk->menu_call_options_win); | |
| 938 if(Phbk->current.status.used_entries > 0) | |
| 939 SEND_EVENT(Phbk->calls_list_win, SEARCH_SCROLL_UP, 0, 0 ); | |
| 940 SEND_EVENT(Phbk->calls_list_win, CALLS_LIST_INIT, 0, (void*)Phbk->current.status.book ); | |
| 941 return 1; | |
| 942 } | |
| 943 | |
| 944 | |
| 945 /******************************************************************************* | |
| 946 | |
| 947 $Function: bookCallListDetails | |
| 948 | |
| 949 $Description: | |
| 950 | |
| 951 Retrieve details for call list | |
| 952 | |
| 953 $Returns: Refer Menu Handlers Definition Block Above | |
| 954 | |
| 955 $Arguments: Refer Menu Handlers Definition Block Above | |
| 956 | |
| 957 *******************************************************************************/ | |
| 958 | |
| 959 PROTECTED_MENU_HANDLER( bookCallListDetails ) | |
| 960 { | |
| 961 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 962 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 963 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 964 T_phbk *Phbk = data->phbk; | |
| 965 | |
| 966 bookCallDetailsStart( Phbk->win); | |
| 967 return 1; | |
| 968 | |
| 969 } | |
| 970 | |
| 971 | |
| 972 | |
| 973 /******************************************************************************* | |
| 974 | |
| 975 $Function: bookServiceNumbers | |
| 976 | |
| 977 $Description: | |
| 978 | |
| 979 Get service numbers | |
| 980 | |
| 981 $Returns: Refer Menu Handlers Definition Block Above | |
| 982 | |
| 983 $Arguments: Refer Menu Handlers Definition Block Above | |
| 984 | |
| 985 *******************************************************************************/ | |
| 986 | |
| 987 PROTECTED_MENU_HANDLER( bookServiceNumbers ) | |
| 988 { | |
| 989 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 990 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 991 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 992 | |
| 993 data->phbk->current.KindOfSearch = SEARCH_BY_NAME; | |
| 994 data->phbk->current.status.book = PHB_SDN; | |
| 995 data->phbk->search_win = bookSearchStart( data->phbk->win ); | |
| 996 | |
| 997 return MFW_EVENT_CONSUMED; | |
| 998 } | |
| 999 | |
| 1000 | |
| 1001 /******************************************************************************* | |
| 1002 | |
| 1003 $Function: bookMemoryStatus | |
| 1004 | |
| 1005 $Description: | |
| 1006 | |
| 1007 Show the status of the phone book memory. | |
| 1008 | |
| 1009 $Returns: Refer Menu Handlers Definition Block Above | |
| 1010 | |
| 1011 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1012 | |
| 1013 *******************************************************************************/ | |
| 1014 | |
| 1015 PROTECTED_MENU_HANDLER( bookMemoryStatus ) | |
| 1016 { | |
| 1017 /* This performs the memory view functions, and returns MFW_EVENT_CONSUMED | |
| 1018 in all cases. | |
| 1019 */ | |
| 1020 bookMemoryView(); | |
| 1021 return MFW_EVENT_CONSUMED; | |
| 1022 } | |
| 1023 | |
| 1024 | |
| 1025 /******************************************************************************* | |
| 1026 | |
| 1027 $Function: bookFDNActivate | |
| 1028 | |
| 1029 $Description: | |
| 1030 | |
| 1031 The FDN Activate routine is simply a wrapper for the real | |
| 1032 FDN Activate handler which resides in mmiPins.c | |
| 1033 | |
| 1034 $Returns: Refer Menu Handlers Definition Block Above | |
| 1035 | |
| 1036 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1037 | |
| 1038 *******************************************************************************/ | |
| 1039 | |
| 1040 PROTECTED_MENU_HANDLER( bookFDNActivate ) | |
| 1041 { | |
| 1042 return fdnActivate( Menu, Item ); | |
| 1043 } | |
| 1044 | |
| 1045 | |
| 1046 /******************************************************************************* | |
| 1047 | |
| 1048 $Function: bookFDNDeactivate | |
| 1049 | |
| 1050 $Description: | |
| 1051 | |
| 1052 The FDN Deactivate routine is simply a wrapper for the real | |
| 1053 FDN Deactivate handler which resides in mmiPins.c | |
| 1054 | |
| 1055 $Returns: Refer Menu Handlers Definition Block Above | |
| 1056 | |
| 1057 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1058 | |
| 1059 *******************************************************************************/ | |
| 1060 | |
| 1061 PROTECTED_MENU_HANDLER( bookFDNDeactivate ) | |
| 1062 { | |
| 1063 return fdnDeactivate( Menu, Item ); | |
| 1064 } | |
| 1065 | |
| 1066 /******************************************************************************* | |
| 1067 | |
| 1068 $Function: bookEnterLDN | |
| 1069 | |
| 1070 $Description: | |
| 1071 | |
| 1072 Enters de LDN List | |
| 1073 | |
| 1074 $Returns: Refer Menu Handlers Definition Block Above | |
| 1075 | |
| 1076 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1077 | |
| 1078 *******************************************************************************/ | |
| 1079 | |
| 1080 PROTECTED_MENU_HANDLER( bookEnterLDN ) | |
| 1081 { | |
| 1082 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1083 | |
| 1084 bookPhonebookStart(win,PhbkRedialListNormal); | |
| 1085 return MFW_EVENT_CONSUMED; | |
| 1086 } | |
| 1087 /******************************************************************************* | |
| 1088 | |
| 1089 $Function: bookEnterLRN | |
| 1090 | |
| 1091 $Description: | |
| 1092 | |
| 1093 Enters de LRN List | |
| 1094 | |
| 1095 $Returns: Refer Menu Handlers Definition Block Above | |
| 1096 | |
| 1097 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1098 | |
| 1099 *******************************************************************************/ | |
| 1100 | |
| 1101 PROTECTED_MENU_HANDLER( bookEnterLRN ) | |
| 1102 { | |
| 1103 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1104 | |
| 1105 bookPhonebookStart(win,PhbkReplyListNormal); | |
| 1106 return MFW_EVENT_CONSUMED; | |
| 1107 } | |
| 1108 | |
| 1109 /******************************************************************************* | |
| 1110 | |
| 1111 $Function: bookEnterLMN | |
| 1112 | |
| 1113 $Description: | |
| 1114 | |
| 1115 Enters de LMN List | |
| 1116 | |
| 1117 $Returns: Refer Menu Handlers Definition Block Above | |
| 1118 | |
| 1119 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1120 | |
| 1121 *******************************************************************************/ | |
| 1122 | |
| 1123 PROTECTED_MENU_HANDLER( bookEnterLMN ) | |
| 1124 { | |
| 1125 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1126 | |
| 1127 /* Issue Number : MMI-FIX-1216 on 07/04/04 by Nishikant Kulkarni and Ajith K.P | |
| 1128 Bug : missed call message is displayed after deleting all missed calls from the list | |
| 1129 Solution: idle_data.missedcalls flag was not updated if the user ckecks/deletes the missed call list | |
| 1130 We rectified the same.*/ | |
| 1131 | |
| 1132 idle_data.missedCalls = 0; | |
| 1133 | |
| 1134 bookPhonebookStart(win,PhbkMissedCallsListNormal); | |
| 1135 return MFW_EVENT_CONSUMED; | |
| 1136 } | |
| 1137 | |
| 1138 /* SPR#1112 - Internal phonebook menu options*/ | |
| 1139 #ifdef INT_PHONEBOOK | |
| 1140 | |
| 1141 /******************************************************************************* | |
| 1142 | |
| 1143 $Function: bookSelectBook | |
| 1144 | |
| 1145 $Description: Open the select book menu, preselecting the appropriate option | |
| 1146 | |
| 1147 $Returns: Refer Menu Handlers Definition Block Above | |
| 1148 | |
| 1149 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1150 | |
| 1151 *******************************************************************************/ | |
| 1152 | |
| 1153 PROTECTED_MENU_HANDLER( bookSelectBook ) | |
| 1154 { | |
| 1155 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1156 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1157 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1158 T_phbk *Phbk = data->phbk; | |
| 1159 T_MFW_HND menu_win; | |
| 1160 UBYTE selectedBook; | |
| 1161 | |
| 1162 TRACE_FUNCTION("bookSelectBook"); | |
| 1163 | |
| 1164 if (bookGetBookAvailable()) | |
| 1165 { | |
| 1166 selectedBook = (UBYTE)bookGetBookSelected(); | |
| 1167 menu_win = bookMenuStart(Phbk->win, SelectBookAttributes(), 0); | |
| 1168 SEND_EVENT(menu_win, DEFAULT_OPTION, NULL, (void *)&selectedBook); // Add our own callback | |
| 1169 } | |
| 1170 else | |
| 1171 { | |
| 1172 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
| 1173 } | |
| 1174 | |
| 1175 return MFW_EVENT_CONSUMED; | |
| 1176 } | |
| 1177 | |
| 1178 | |
| 1179 /******************************************************************************* | |
| 1180 | |
| 1181 $Function: bookSelectBookSIM | |
| 1182 | |
| 1183 $Description: Select the SIM phone book | |
| 1184 | |
| 1185 $Returns: Refer Menu Handlers Definition Block Above | |
| 1186 | |
| 1187 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1188 | |
| 1189 *******************************************************************************/ | |
| 1190 | |
| 1191 PROTECTED_MENU_HANDLER( bookSelectBookSIM ) | |
| 1192 { | |
| 1193 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1194 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1195 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1196 T_phbk *Phbk = data->phbk; | |
| 1197 | |
| 1198 if (bookGetBookAvailable()) | |
| 1199 { | |
| 1200 bookSetBookSelected(FALSE); | |
| 1201 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookChangePB, (USHORT)bookGetBookSelected(), 100); | |
| 1202 } | |
| 1203 else | |
| 1204 bookShowInfoScreen( Phbk->win, TxtPhonebook, TxtChanged, NULL, NULL, 3000); | |
| 1205 | |
| 1206 return MFW_EVENT_CONSUMED; | |
| 1207 } | |
| 1208 | |
| 1209 | |
| 1210 /******************************************************************************* | |
| 1211 | |
| 1212 $Function: bookSelectBookSIM | |
| 1213 | |
| 1214 $Description: Select the SIM phone book | |
| 1215 | |
| 1216 $Returns: Refer Menu Handlers Definition Block Above | |
| 1217 | |
| 1218 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1219 | |
| 1220 *******************************************************************************/ | |
| 1221 | |
| 1222 PROTECTED_MENU_HANDLER( bookSelectBookPhone ) | |
| 1223 { | |
| 1224 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1225 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1226 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1227 T_phbk *Phbk = data->phbk; | |
| 1228 | |
| 1229 if (bookGetBookAvailable()) | |
| 1230 { | |
| 1231 bookSetBookSelected(TRUE); | |
| 1232 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookChangePB, (USHORT)bookGetBookSelected(), 100); | |
| 1233 } | |
| 1234 else | |
| 1235 { | |
| 1236 bookShowInformation( Phbk->win, TxtNotAvailable,NULL, NULL ); | |
| 1237 } | |
| 1238 | |
| 1239 return MFW_EVENT_CONSUMED; | |
| 1240 } | |
| 1241 | |
| 1242 /******************************************************************************* | |
| 1243 | |
| 1244 $Function: bookCopyEntry | |
| 1245 | |
| 1246 $Description: Copy a single entry from/to internal memory | |
| 1247 | |
| 1248 $Returns: Refer Menu Handlers Definition Block Above | |
| 1249 | |
| 1250 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1251 | |
| 1252 *******************************************************************************/ | |
| 1253 | |
| 1254 PROTECTED_MENU_HANDLER( bookCopyEntry ) | |
| 1255 { | |
| 1256 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1257 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1258 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1259 T_phbk *Phbk = data->phbk; | |
| 1260 | |
| 1261 TRACE_FUNCTION( "bookCopyEntry()" ); | |
| 1262 | |
| 1263 if (bookGetBookAvailable()) | |
| 1264 { | |
| 1265 /* Show Please Wait dialog briefly, then call copy function | |
| 1266 */ | |
| 1267 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookCopySingle, (USHORT)FALSE, 100); | |
| 1268 } | |
| 1269 else | |
| 1270 { | |
| 1271 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
| 1272 } | |
| 1273 | |
| 1274 return MFW_EVENT_CONSUMED; | |
| 1275 } | |
| 1276 | |
| 1277 /******************************************************************************* | |
| 1278 | |
| 1279 $Function: bookCopyAll | |
| 1280 | |
| 1281 $Description: Copy all entries from/to internal memory | |
| 1282 | |
| 1283 $Returns: Refer Menu Handlers Definition Block Above | |
| 1284 | |
| 1285 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1286 | |
| 1287 *******************************************************************************/ | |
| 1288 | |
| 1289 PROTECTED_MENU_HANDLER( bookCopyAll ) | |
| 1290 { | |
| 1291 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1292 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1293 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1294 T_phbk *Phbk = data->phbk; | |
| 1295 | |
| 1296 TRACE_FUNCTION( "bookCopyAll()" ); | |
| 1297 | |
| 1298 if (bookGetBookAvailable()) | |
| 1299 { | |
| 1300 /* Copy | |
| 1301 */ | |
| 1302 bookCopyMultiple(Phbk->win, FALSE, 0); | |
| 1303 } | |
| 1304 else | |
| 1305 { | |
| 1306 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
| 1307 } | |
| 1308 | |
| 1309 return MFW_EVENT_CONSUMED; | |
| 1310 } | |
| 1311 | |
| 1312 /******************************************************************************* | |
| 1313 | |
| 1314 $Function: bookMoveEntry | |
| 1315 | |
| 1316 $Description: Move a single entry from/to internal memory | |
| 1317 | |
| 1318 $Returns: Refer Menu Handlers Definition Block Above | |
| 1319 | |
| 1320 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1321 | |
| 1322 *******************************************************************************/ | |
| 1323 | |
| 1324 PROTECTED_MENU_HANDLER( bookMoveEntry ) | |
| 1325 { | |
| 1326 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1327 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1328 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1329 T_phbk *Phbk = data->phbk; | |
| 1330 | |
| 1331 TRACE_FUNCTION( "bookMoveEntry()" ); | |
| 1332 | |
| 1333 if (bookGetBookAvailable()) | |
| 1334 { | |
| 1335 /* Show Please Wait dialog briefly, then call move function | |
| 1336 */ | |
| 1337 bookShowInfoScreen( Phbk->win, TxtPleaseWait, NULL, (T_VOID_FUNC)bookCopySingle, (USHORT)TRUE, 100); | |
| 1338 } | |
| 1339 else | |
| 1340 { | |
| 1341 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
| 1342 } | |
| 1343 | |
| 1344 return MFW_EVENT_CONSUMED; | |
| 1345 } | |
| 1346 | |
| 1347 /******************************************************************************* | |
| 1348 | |
| 1349 $Function: bookMoveAll | |
| 1350 | |
| 1351 $Description: Move all entries from/to internal memory | |
| 1352 | |
| 1353 $Returns: Refer Menu Handlers Definition Block Above | |
| 1354 | |
| 1355 $Arguments: Refer Menu Handlers Definition Block Above | |
| 1356 | |
| 1357 *******************************************************************************/ | |
| 1358 | |
| 1359 PROTECTED_MENU_HANDLER( bookMoveAll ) | |
| 1360 { | |
| 1361 T_MFW_HND win = mfwParent( mfw_header() ); | |
| 1362 T_MFW_WIN *win_data = ( (T_MFW_HDR *) win )->data; | |
| 1363 tBookStandard *data = (tBookStandard *) win_data->user; | |
| 1364 T_phbk *Phbk = data->phbk; | |
| 1365 | |
| 1366 TRACE_FUNCTION( "bookMoveAll()" ); | |
| 1367 | |
| 1368 if (bookGetBookAvailable()) | |
| 1369 { | |
| 1370 /* Show Please Wait dialog briefly, then call copy function | |
| 1371 */ | |
| 1372 bookCopyMultiple(Phbk->win, TRUE, 0); | |
| 1373 } | |
| 1374 else | |
| 1375 { | |
| 1376 bookShowInformation( Phbk->win, TxtNotAvailable, NULL, NULL); | |
| 1377 } | |
| 1378 | |
| 1379 return MFW_EVENT_CONSUMED; | |
| 1380 } | |
| 1381 | |
| 1382 #endif | |
| 1383 | |
| 1384 PIN2RQD_MENU_HANDLER( CphsAlsLock ) | |
| 1385 { | |
| 1386 return cphs_lock_als( Menu, Item ); | |
| 1387 } | |
| 1388 | |
| 1389 PIN2RQD_MENU_HANDLER( CphsAlsUnlock ) | |
| 1390 { | |
| 1391 return cphs_unlock_als( Menu, Item ); | |
| 1392 } | |
| 1393 /******************************************************************************* | |
| 1394 | |
| 1395 End of File | |
| 1396 | |
| 1397 *******************************************************************************/ | |
| 1398 | |
| 1399 | |
| 1400 |
