comparison src/ui/bmi/mmiLists.c @ 153:65f0ce5bd32f

mmiLists.c: bogotab fixes
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 16 Nov 2020 19:49:08 +0000
parents c0052fe355d3
children
comparison
equal deleted inserted replaced
152:8129ee8ee6c2 153:65f0ce5bd32f
1 /******************************************************************************* 1 /*******************************************************************************
2 2
3 CONDAT (UK) 3 CONDAT (UK)
4 4
5 ******************************************************************************** 5 ********************************************************************************
6 6
7 This software product is the property of Condat (UK) Ltd and may not be 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. 8 disclosed to any third party without the express permission of the owner.
9 9
10 ******************************************************************************** 10 ********************************************************************************
11 11
12 $Project name: Basic MMI 12 $Project name: Basic MMI
13 $Project code: BMI (6349) 13 $Project code: BMI (6349)
14 $Module: MMI 14 $Module: MMI
15 $File: MmiLists.c 15 $File: MmiLists.c
16 $Revision: 1.0 16 $Revision: 1.0
17 17
18 $Author: Condat(UK) 18 $Author: Condat(UK)
19 $Date: 22/02/01 19 $Date: 22/02/01
20 20
21 ******************************************************************************** 21 ********************************************************************************
22 22
23 Description: 23 Description:
24
25 24
26 25
27 ******************************************************************************** 26 ********************************************************************************
28 27
29 $History: MmiLists.c 28 $History: MmiLists.c
34 33
35 Mar 30, 2007 REF: OMAPS00122691 x0039928 34 Mar 30, 2007 REF: OMAPS00122691 x0039928
36 Description: COMBO: No melody heard on parsing over different volums in tones menu 35 Description: COMBO: No melody heard on parsing over different volums in tones menu
37 Solution: E_MELODY_START event is sent to play the melody. 36 Solution: E_MELODY_START event is sent to play the melody.
38 37
39 xrashmic 8 Sep 2006, OMAPS00091618 38 xrashmic 8 Sep 2006, OMAPS00091618
40 Removed redundant code introduced during integration 39 Removed redundant code introduced during integration
41 40
42 June 19, 2006 REF: DRT OMAPS00076378 x0012849 : Jagannatha 41 June 19, 2006 REF: DRT OMAPS00076378 x0012849 : Jagannatha
43 Description: MIDI files should play while browsing 42 Description: MIDI files should play while browsing
44 Solution: Event will be generated upon press of Menu up and down key. 43 Solution: Event will be generated upon press of Menu up and down key.
45 44
46 June 05, 2006 REF:OMAPS00060424 x0045876 45 June 05, 2006 REF:OMAPS00060424 x0045876
47 Description: Header Toggling 46 Description: Header Toggling
48 Solution: Implemented the toggling of header when displaying the length text in SELECT ITEM and SET UP MENU 47 Solution: Implemented the toggling of header when displaying the length text in SELECT ITEM and SET UP MENU
49 48
50 May 18, 2006 REF: DRT OMAPS00076438 xdeepadh 49 May 18, 2006 REF: DRT OMAPS00076438 xdeepadh
51 Description: Scrolling not implemented in Imageviewer 50 Description: Scrolling not implemented in Imageviewer
52 Solution: The support for scrolling has been provided. 51 Solution: The support for scrolling has been provided.
53 52
54 May 03, 2006 REF: DRT OMAPS00076439 xdeepadh 53 May 03, 2006 REF: DRT OMAPS00076439 xdeepadh
55 Description: Image viewer back not working 54 Description: Image viewer back not working
56 Solution: The Preview List will be repopulated, when the list window is 55 Solution: The Preview List will be repopulated, when the list window is
57 resumed. 56 resumed.
58 57
59 May 03, 2006 REF: DRT OMAPS00076376 xdeepadh 58 May 03, 2006 REF: DRT OMAPS00076376 xdeepadh
60 Description: File Viewer-N5.12 issues (very unstable) 59 Description: File Viewer-N5.12 issues (very unstable)
61 Solution: The keys are blocked until the view or preview is completed. 60 Solution: The keys are blocked until the view or preview is completed.
62 61
63 Dec 22, 2005 REF: ENH xdeepadh 62 Dec 22, 2005 REF: ENH xdeepadh
64 Description: Image Viewer Application 63 Description: Image Viewer Application
65 Solution: Implemeted the Image Viewer to view the jpeg images 64 Solution: Implemeted the Image Viewer to view the jpeg images
66 65
67 xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357 66 xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357
68 Using the MenuSelect Key for requesting the help info in STK menu. Storing the info that 67 Using the MenuSelect Key for requesting the help info in STK menu. Storing the info that
69 MenuSelectKey was pressed in a list view. 68 MenuSelectKey was pressed in a list view.
70 69
71 May 24, 2005 REF: CRR 29358 x0021334 70 May 24, 2005 REF: CRR 29358 x0021334
72 Description: CT_PTCRB 27.22.4.9.8 fails: wrong terminal response 71 Description: CT_PTCRB 27.22.4.9.8 fails: wrong terminal response
73 Fix: The implementation is now based on timer. After the specified timeout period 72 Fix: The implementation is now based on timer. After the specified timeout period
74 the control comes back to SAT main menu, if there is no selection done by the user. 73 the control comes back to SAT main menu, if there is no selection done by the user.
75 74
76 25/10/00 Original Condat(UK) BMI version. 75 25/10/00 Original Condat(UK) BMI version.
77 76
78 $End 77 $End
79 78
80 *******************************************************************************/ 79 *******************************************************************************/
81 80
119 118
120 #include "prim.h" 119 #include "prim.h"
121 #ifndef PCM_2_FFS 120 #ifndef PCM_2_FFS
122 #include "pcm.h" 121 #include "pcm.h"
123 #endif 122 #endif
124
125
126 123
127 124
128 #include "mfw_sys.h" 125 #include "mfw_sys.h"
129 126
130 #include "mfw_mfw.h" 127 #include "mfw_mfw.h"
157 #include "MmiDummy.h" 154 #include "MmiDummy.h"
158 #include "MmiDialogs.h" 155 #include "MmiDialogs.h"
159 #include "MmiLists.h" 156 #include "MmiLists.h"
160 157
161 158
162
163 #include "MmiMenu.h" 159 #include "MmiMenu.h"
164 #include "mmiCall.h" 160 #include "mmiCall.h"
165 #include "Mmiicons.h" 161 #include "Mmiicons.h"
166 #include "MmiIdle.h" 162 #include "MmiIdle.h"
167 163
176 #include "cus_aci.h" 172 #include "cus_aci.h"
177 #include "mfw_ffs.h" 173 #include "mfw_ffs.h"
178 #include "MmiTimers.h" 174 #include "MmiTimers.h"
179 175
180 176
181
182 #include "mmiColours.h" 177 #include "mmiColours.h"
183 178
184 179
185 #ifndef MFW_EVENT_PASSED 180 #ifndef MFW_EVENT_PASSED
186 #define MFW_EVENT_PASSED 0 181 #define MFW_EVENT_PASSED 0
201 E_BACK, 196 E_BACK,
202 E_RETURN, 197 E_RETURN,
203 E_ABORT, 198 E_ABORT,
204 E_EXIT 199 E_EXIT
205 } e_lists_events; 200 } e_lists_events;
206
207 201
208 202
209 /*----------------------------------------------------------------------------- 203 /*-----------------------------------------------------------------------------
210 * 204 *
211 * List menu handling functions: 205 * List menu handling functions:
229 223
230 /******************************************************************************* 224 /*******************************************************************************
231 225
232 $Function: listIconsDisplayListMenu 226 $Function: listIconsDisplayListMenu
233 227
234 $Description: Creates a list menu from data stored in NVRAM. 228 $Description: Creates a list menu from data stored in NVRAM.
235 229
236 $Returns: none. 230 $Returns: none.
237 231
238 $Arguments: 232 $Arguments:
239 233
240 *******************************************************************************/ 234 *******************************************************************************/
241 MfwHnd winIconsLists; 235 MfwHnd winIconsLists;
247 T_MFW Status = LISTS_OK; 241 T_MFW Status = LISTS_OK;
248 242
249 TRACE_FUNCTION ("listIconsDisplayListMenu() Start"); 243 TRACE_FUNCTION ("listIconsDisplayListMenu() Start");
250 244
251 winLists = winCreate(Parent, 0, E_WIN_VISIBLE |E_WIN_RESUME|E_WIN_SUSPEND, (MfwCb)listsIconsWinEvent); 245 winLists = winCreate(Parent, 0, E_WIN_VISIBLE |E_WIN_RESUME|E_WIN_SUSPEND, (MfwCb)listsIconsWinEvent);
252 winIconsLists=winLists; 246 winIconsLists=winLists;
253 if (winLists == NULL) 247 if (winLists == NULL)
254 { 248 {
255 Status = LISTS_FAIL; /* Inform caller of failure. */ 249 Status = LISTS_FAIL; /* Inform caller of failure. */
256 TRACE_EVENT ("win creation fails"); 250 TRACE_EVENT ("win creation fails");
257 } 251 }
258 else 252 else
259 { 253 {
260 ListIconsWinInfo * ListData = (ListIconsWinInfo *)ALLOC_MEMORY (sizeof (ListIconsWinInfo)); 254 ListIconsWinInfo * ListData = (ListIconsWinInfo *)ALLOC_MEMORY (sizeof (ListIconsWinInfo));
261 255
262 if (!ListData) 256 if (!ListData)
263 { 257 {
264 /* cq12719. if insufficient memory for listdata then delete window and Free allocated memory.16-03-04.MZ */ 258 /* cq12719. if insufficient memory for listdata then delete window and Free allocated memory.16-03-04.MZ */
265 if(NULL != winLists) 259 if(NULL != winLists)
266 winDelete(winLists); 260 winDelete(winLists);
267 261
268 TRACE_EVENT ("(ListIconsWinInfo *)ALLOC_MEMORY fails"); 262 TRACE_EVENT ("(ListIconsWinInfo *)ALLOC_MEMORY fails");
269 return LISTS_FAIL; 263 return LISTS_FAIL;
270 } 264 }
271 265
272 ListData->mmi_control.dialog = (T_DIALOG_FUNC)lists_exec_cb; 266 ListData->mmi_control.dialog = (T_DIALOG_FUNC)lists_exec_cb;
273 ListData->mmi_control.data = ListData; 267 ListData->mmi_control.data = ListData;
274 win = ((MfwHdr *)winLists)->data; 268 win = ((MfwHdr *)winLists)->data;
275 win->user = (void *) ListData; 269 win->user = (void *) ListData;
276 270
277 ListData->Parent = Parent; 271 ListData->Parent = Parent;
278 ListData->Callback = cbFunc; 272 ListData->Callback = cbFunc;
279 ListData->winLists = winLists; 273 ListData->winLists = winLists;
280 ListData->kbdLists = kbdCreate(winLists,Data->KeyEvents|KEY_MAKE,(MfwCb)listsIconsKeyEvent); 274 ListData->kbdLists = kbdCreate(winLists,Data->KeyEvents|KEY_MAKE,(MfwCb)listsIconsKeyEvent);
281 ListData->kbdLists_long = kbdCreate(winLists,Data->KeyEvents|KEY_LONG,(MfwCb)listsIconsKeyEvent); 275 ListData->kbdLists_long = kbdCreate(winLists,Data->KeyEvents|KEY_LONG,(MfwCb)listsIconsKeyEvent);
282 276
283 if ((ListData->kbdLists == NULL) || (ListData->kbdLists_long == NULL)) 277 if ((ListData->kbdLists == NULL) || (ListData->kbdLists_long == NULL))
284 { 278 {
285 Status = LISTS_FAIL; 279 Status = LISTS_FAIL;
286 TRACE_EVENT ("ListData->kbdLists fails"); 280 TRACE_EVENT ("ListData->kbdLists fails");
287 } 281 }
288 else 282 else
289 { 283 {
290 /* Create initial list menu for display. */ 284 /* Create initial list menu for display. */
291 285
292 /* 286 /*
293 * set menu list from outside 287 * set menu list from outside
294 */ 288 */
295 ListData->MenuListsAttr = *Data->Attr; /* copy contents */ 289 ListData->MenuListsAttr = *Data->Attr; /* copy contents */
296 290
297 /* SPR#2492 - DS - Do not overwrite mode settings unless mode is zero */ 291 /* SPR#2492 - DS - Do not overwrite mode settings unless mode is zero */
298 if (ListData->MenuListsAttr.mode == 0x0000) /* Mode not yet setup */ 292 if (ListData->MenuListsAttr.mode == 0x0000) /* Mode not yet setup */
299 ListData->MenuListsAttr.mode = MNU_LEFT | MNU_LIST | MNU_CUR_LINE; 293 ListData->MenuListsAttr.mode = MNU_LEFT | MNU_LIST | MNU_CUR_LINE;
300 else 294 else
301 ListData->MenuListsAttr.mode |= Data->Attr->mode; 295 ListData->MenuListsAttr.mode |= Data->Attr->mode;
302 296
303 ListData->MenuListsAttr.font = Data->Font; 297 ListData->MenuListsAttr.font = Data->Font;
304 ListData->MenuListsAttr.items = Data->List; 298 ListData->MenuListsAttr.items = Data->List;
305 ListData->MenuListsAttr.nItems = Data->ListLength; 299 ListData->MenuListsAttr.nItems = Data->ListLength;
306 300
307 /* START: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */ 301 /* START: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */
308 ListData->MenuListsAttr.header_toggle = Data->Attr->header_toggle; 302 ListData->MenuListsAttr.header_toggle = Data->Attr->header_toggle;
309 if (ListData->MenuListsAttr.header_toggle) 303 if (ListData->MenuListsAttr.header_toggle)
310 g_win = winLists; 304 g_win = winLists;
311 /* END: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */ 305 /* END: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */
312 306
313 307
314 /* 308 /*
315 * Intialize List Menu Data 309 * Intialize List Menu Data
316 */ 310 */
317 ListData->MenuData = Data; /* copy contents */ 311 ListData->MenuData = Data; /* copy contents */
318 ListData->MenuData->listCol = COLOUR_LIST_XX; //Set-up colour 312 ListData->MenuData->listCol = COLOUR_LIST_XX; //Set-up colour
319 ListData->MenuData->Attr = &ListData->MenuListsAttr; /* copy data*/ 313 ListData->MenuData->Attr = &ListData->MenuListsAttr; /* copy data*/
320 ListData->MenuLists = mnuCreate(winLists, &ListData->MenuListsAttr, 314 ListData->MenuLists = mnuCreate(winLists, &ListData->MenuListsAttr,
321 E_MNU_SELECT | E_MNU_ESCAPE| E_MNU_POSTDRAW, 315 E_MNU_SELECT | E_MNU_ESCAPE| E_MNU_POSTDRAW,
322 (MfwCb)listsIconsListCbMenu); 316 (MfwCb)listsIconsListCbMenu);
323 ListData->MenuData->win = winLists; 317 ListData->MenuData->win = winLists;
324 Data->win = winLists; 318 Data->win = winLists;
325 mnuScrollMode(ListData->MenuLists,0); 319 mnuScrollMode(ListData->MenuLists,0);
326 if (Data->Strings) 320 if (Data->Strings)
327 mnuLang (ListData->MenuLists,0); 321 mnuLang (ListData->MenuLists,0);
328 else 322 else
329 mnuLang (ListData->MenuLists,mainMmiLng); 323 mnuLang (ListData->MenuLists,mainMmiLng);
330 324
331 /* SPR#1983 - SH - Set up whether menu is in unicode or not */ 325 /* SPR#1983 - SH - Set up whether menu is in unicode or not */
332 if (inUnicode != 0) 326 if (inUnicode != 0)
333 { 327 {
334 mnuDCSType(ListData->MenuLists, inUnicode); /* Unicode display */ 328 mnuDCSType(ListData->MenuLists, inUnicode); /* Unicode display */
335 } 329 }
336 mnuChooseVisibleItem(ListData->MenuLists, Data->ListPosition-1); 330 mnuChooseVisibleItem(ListData->MenuLists, Data->ListPosition-1);
337 mnuUnhide(ListData->MenuLists); 331 mnuUnhide(ListData->MenuLists);
338 displaySoftKeys(ListData->MenuData->LeftSoftKey,ListData->MenuData->RightSoftKey); 332 displaySoftKeys(ListData->MenuData->LeftSoftKey,ListData->MenuData->RightSoftKey);
339 winShow(winLists); 333 winShow(winLists);
340 334
341 } 335 }
342 } 336 }
343 return Status; 337 return Status;
344 } 338 }
345 339
346 static int listsIconsKeyEvent (MfwEvt e, MfwKbd *k) 340 static int listsIconsKeyEvent (MfwEvt e, MfwKbd *k)
347 /* list keyboard event handler */ 341 /* list keyboard event handler */
349 T_MFW_HND win = mfwParent(mfw_header()); 343 T_MFW_HND win = mfwParent(mfw_header());
350 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data; 344 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
351 ListIconsWinInfo * data = (ListIconsWinInfo *)win_data->user; 345 ListIconsWinInfo * data = (ListIconsWinInfo *)win_data->user;
352 MfwMnu *MenuHandle; 346 MfwMnu *MenuHandle;
353 347
354 /* This trace function was added inside the fflag by vinoj to remove compilation error: 2/6/06*/ 348 /* This trace function was added inside the fflag by vinoj to remove compilation error: 2/6/06*/
355 TRACE_FUNCTION("listsIconsKeyEvent() start"); 349 TRACE_FUNCTION("listsIconsKeyEvent() start");
356 { 350 {
357 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357 351 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357
358 //Initialize selectKey to FALSE here. It will be set to TRUE only when a key event for KCD_MNUSELECT occurs. 352 //Initialize selectKey to FALSE here. It will be set to TRUE only when a key event for KCD_MNUSELECT occurs.
359 data->MenuData->selectKey = FALSE; 353 data->MenuData->selectKey = FALSE;
360 if (!(e & KEY_MAKE)) 354 if (!(e & KEY_MAKE))
361 { 355 {
362 return MFW_EVENT_CONSUMED; 356 return MFW_EVENT_CONSUMED;
363 } 357 }
364 if(data->MenuData->block_keys == TRUE) 358 if(data->MenuData->block_keys == TRUE)
365 { 359 {
366 return MFW_EVENT_CONSUMED; 360 return MFW_EVENT_CONSUMED;
367 } 361 }
368 if (e & KEY_LONG) 362 if (e & KEY_LONG)
369 { 363 {
370 switch (k->code) 364 switch (k->code)
371 { 365 {
372 case KCD_HUP: /* back to previous menu */ 366 case KCD_HUP: /* back to previous menu */
373 mnuEscape(data->MenuLists); 367 mnuEscape(data->MenuLists);
374 break; 368 break;
375 case KCD_RIGHT: /* Power Down */ 369 case KCD_RIGHT: /* Power Down */
376 return MFW_EVENT_PASSED; /* handled by idle */ 370 return MFW_EVENT_PASSED; /* handled by idle */
377 default: /* no response to all other keys */ 371 default: /* no response to all other keys */
378 return MFW_EVENT_CONSUMED; 372 return MFW_EVENT_CONSUMED;
379 } 373 }
380 } 374 }
381 else 375 else
382 { 376 {
383 switch (k->code) 377 switch (k->code)
384 { 378 {
385 case KCD_MNUUP: /* highlight previous entry */ 379 case KCD_MNUUP: /* highlight previous entry */
386 mnuUp(data->MenuLists); 380 mnuUp(data->MenuLists);
387 { 381 {
388 MenuHandle = mfwControl(data->MenuLists); 382 MenuHandle = mfwControl(data->MenuLists);
389 data->MenuData->Reason = LISTS_REASON_SCROLL; 383 data->MenuData->Reason = LISTS_REASON_SCROLL;
390 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 384 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
391 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; 385 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level];
392 // Send event to indicate that the user has scrolled list items 386 // Send event to indicate that the user has scrolled list items
393 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL); 387 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL);
394 } 388 }
395 389
396 break; 390 break;
397 case KCD_MNUDOWN: /* highlight next entry */ 391 case KCD_MNUDOWN: /* highlight next entry */
398 mnuDown(data->MenuLists); 392 mnuDown(data->MenuLists);
399 { 393 {
400 MenuHandle = mfwControl(data->MenuLists); 394 MenuHandle = mfwControl(data->MenuLists);
401 data->MenuData->Reason = LISTS_REASON_SCROLL; 395 data->MenuData->Reason = LISTS_REASON_SCROLL;
402 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 396 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
403 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; 397 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level];
404 // Send event to indicate that the user has scrolled list items 398 // Send event to indicate that the user has scrolled list items
405 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL); 399 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL);
406 } 400 }
407 break; 401 break;
408 case KCD_MNUSELECT: 402 case KCD_MNUSELECT:
409 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357 403 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357
410 //Menu Select Key was pressed, storing this for future use. 404 //Menu Select Key was pressed, storing this for future use.
411 data->MenuData->selectKey = TRUE; 405 data->MenuData->selectKey = TRUE;
412 //Break is delibrately not used here. The control should pass through the KCD_LEFT case. 406 //Break is delibrately not used here. The control should pass through the KCD_LEFT case.
413 case KCD_LEFT: /* activate this entry */ 407 case KCD_LEFT: /* activate this entry */
414 MenuHandle = mfwControl(data->MenuLists); 408 MenuHandle = mfwControl(data->MenuLists);
415 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 409 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
416 mnuSelect(data->MenuLists); 410 mnuSelect(data->MenuLists);
417 break; 411 break;
418 case KCD_CALL: /* press send key */ 412 case KCD_CALL: /* press send key */
419 data->ExitReason = LISTS_REASON_SEND; 413 data->ExitReason = LISTS_REASON_SEND;
420 data->MenuData->Reason = LISTS_REASON_SEND; 414 data->MenuData->Reason = LISTS_REASON_SEND;
421 MenuHandle = mfwControl(data->MenuLists); 415 MenuHandle = mfwControl(data->MenuLists);
422 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 416 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
423 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 417 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
424 418
425 /* SPR998 - SH - check if callback exists before calling it! */ 419 /* SPR998 - SH - check if callback exists before calling it! */
426 if (data->Callback) 420 if (data->Callback)
427 data->Callback(data->Parent, data->MenuData); 421 data->Callback(data->Parent, data->MenuData);
428 422
429 if (data->MenuData->autoDestroy) 423 if (data->MenuData->autoDestroy)
430 { 424 {
431 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 425 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
432 if (data->MenuListsAttr.header_toggle) 426 if (data->MenuListsAttr.header_toggle)
433 { 427 {
434 if (g_title_timer) 428 if (g_title_timer)
435 { 429 {
436 tim_delete(g_title_timer); 430 tim_delete(g_title_timer);
437 g_title_timer = NULL; 431 g_title_timer = NULL;
438 } 432 }
439 } 433 }
440 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 434 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
441 winDelete (win); 435 winDelete (win);
442 FREE_MEMORY ((void*)data, sizeof (ListIconsWinInfo)); 436 FREE_MEMORY ((void*)data, sizeof (ListIconsWinInfo));
443 } 437 }
444 break; 438 break;
445 case KCD_HUP: /* back to previous menu */ 439 case KCD_HUP: /* back to previous menu */
446 data->ExitReason = LISTS_REASON_HANGUP; 440 data->ExitReason = LISTS_REASON_HANGUP;
447 data->MenuData->Reason = LISTS_REASON_HANGUP; 441 data->MenuData->Reason = LISTS_REASON_HANGUP;
448 /*NM, p023 */ 442 /*NM, p023 */
449 443
450 MenuHandle = mfwControl(data->MenuLists); 444 MenuHandle = mfwControl(data->MenuLists);
451 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 445 data->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
452 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 446 data->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
453 /*NM, p023 end */ 447 /*NM, p023 end */
454 data->Callback(data->Parent, data->MenuData); 448 data->Callback(data->Parent, data->MenuData);
455 //July 10, 2007 REF: DRT OMAPS00135679 x0073106 449 //July 10, 2007 REF: DRT OMAPS00135679 x0073106
456 /*if (data->MenuData->autoDestroy) 450 /*if (data->MenuData->autoDestroy)
457 {*/ 451 {*/
458 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 452 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
459 if (data->MenuListsAttr.header_toggle) 453 if (data->MenuListsAttr.header_toggle)
460 { 454 {
461 if (g_title_timer) 455 if (g_title_timer)
462 { 456 {
463 tim_delete(g_title_timer); 457 tim_delete(g_title_timer);
464 g_title_timer = NULL; 458 g_title_timer = NULL;
465 } 459 }
466 } 460 }
467 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 461 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
468 /* winDelete (win); 462 /* winDelete (win);
469 FREE_MEMORY ((void*)data, sizeof (ListIconsWinInfo)); 463 FREE_MEMORY ((void*)data, sizeof (ListIconsWinInfo));
470 }*/ 464 }*/
471 break; 465 break;
472 case KCD_RIGHT: /* back to previous menu */ 466 case KCD_RIGHT: /* back to previous menu */
473 mnuEscape(data->MenuLists); 467 mnuEscape(data->MenuLists);
474 break; 468 break;
475 default: /* no response to all other keys */ 469 default: /* no response to all other keys */
476 return MFW_EVENT_CONSUMED; 470 return MFW_EVENT_CONSUMED;
477 } 471 }
478 } 472 }
479 } 473 }
480 return MFW_EVENT_CONSUMED; 474 return MFW_EVENT_CONSUMED;
481 } 475 }
482 476
483 /******************************************************************************* 477 /*******************************************************************************
484 478
485 $Function: listsWinEvent 479 $Function: listsWinEvent
486 480
487 $Description: window event handler 481 $Description: window event handler
488 482
489 $Returns: none. 483 $Returns: none.
490 484
491 $Arguments: 485 $Arguments:
492 486
493 *******************************************************************************/ 487 *******************************************************************************/
494 static int listsIconsWinEvent(MfwEvt e, MfwWin *w) 488 static int listsIconsWinEvent(MfwEvt e, MfwWin *w)
496 ListIconsWinInfo * ListData = (ListIconsWinInfo *)w->user; 490 ListIconsWinInfo * ListData = (ListIconsWinInfo *)w->user;
497 491
498 TRACE_FUNCTION("listsIconsWinEvent() start"); 492 TRACE_FUNCTION("listsIconsWinEvent() start");
499 TRACE_EVENT_P1("ListData->Parent %x",ListData->Parent); 493 TRACE_EVENT_P1("ListData->Parent %x",ListData->Parent);
500 switch (e) 494 switch (e)
501 { 495 {
502 case E_WIN_VISIBLE: 496 case E_WIN_VISIBLE:
503 SEND_EVENT(ListData->Parent,LISTS_REASON_VISIBLE,0,(void*)ListData); 497 SEND_EVENT(ListData->Parent,LISTS_REASON_VISIBLE,0,(void*)ListData);
504 break; 498 break;
505 case MfwWinResume: 499 case MfwWinResume:
506 SEND_EVENT(ListData->Parent,LISTS_REASON_RESUME,0,(void*)ListData); 500 SEND_EVENT(ListData->Parent,LISTS_REASON_RESUME,0,(void*)ListData);
507 break; 501 break;
508 case MfwWinSuspend: 502 case MfwWinSuspend:
509 SEND_EVENT(ListData->Parent,LISTS_REASON_SUSPEND,0,(void*)ListData); 503 SEND_EVENT(ListData->Parent,LISTS_REASON_SUSPEND,0,(void*)ListData);
510 break; 504 break;
511 } 505 }
512 return MFW_EVENT_CONSUMED; 506 return MFW_EVENT_CONSUMED;
513 } 507 }
514 /*a0393213 lint warning removal - This function is not used currently. So it's put under the flag. If it is required just remove the flag.*/ 508 /*a0393213 lint warning removal - This function is not used currently. So it's put under the flag. If it is required just remove the flag.*/
515 #ifdef MMI_LINT_WARNING_REMOVAL 509 #ifdef MMI_LINT_WARNING_REMOVAL
516 static void listsIcons_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) 510 static void listsIcons_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
521 SHORT l_id; 515 SHORT l_id;
522 516
523 TRACE_FUNCTION ("listsIcons_exec_cb() start"); 517 TRACE_FUNCTION ("listsIcons_exec_cb() start");
524 518
525 switch (event) 519 switch (event)
526 { 520 {
527 case E_INIT: 521 case E_INIT:
528 case E_BACK: 522 case E_BACK:
529 case E_RETURN: 523 case E_RETURN:
530 case E_ABORT: 524 case E_ABORT:
531 case E_EXIT: 525 case E_EXIT:
532 /* defaultreaction */ 526 /* defaultreaction */
533 l_parent = ListData->Parent; 527 l_parent = ListData->Parent;
534 l_id = ListData->id; 528 l_id = ListData->id;
535 529
536 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 530 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
537 if (ListData->MenuListsAttr.header_toggle) 531 if (ListData->MenuListsAttr.header_toggle)
538 { 532 {
539 if (g_title_timer) 533 if (g_title_timer)
540 { 534 {
541 tim_delete(g_title_timer); 535 tim_delete(g_title_timer);
542 g_title_timer = NULL; 536 g_title_timer = NULL;
543 } 537 }
544 } 538 }
545 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 539 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
546 winDelete (win); 540 winDelete (win);
547 FREE_MEMORY ((void*) ListData, sizeof (ListIconsWinInfo)); 541 FREE_MEMORY ((void*) ListData, sizeof (ListIconsWinInfo));
548 SEND_EVENT (l_parent, event, l_id, NULL); /* forward event to parent */ 542 SEND_EVENT (l_parent, event, l_id, NULL); /* forward event to parent */
549 break; 543 break;
550 default: 544 default:
551 return; 545 return;
552 } 546 }
553 } 547 }
554 #endif 548 #endif
555 549
556 550
557 /******************************************************************************* 551 /*******************************************************************************
558 552
559 $Function: listsListCbMenu 553 $Function: listsListCbMenu
560 554
561 $Description: List menu handler. (mfw callback function) 555 $Description: List menu handler. (mfw callback function)
562 556
563 $Returns: none. 557 $Returns: none.
564 558
565 $Arguments: 559 $Arguments:
566 560
567 *******************************************************************************/ 561 *******************************************************************************/
568 int listsIconsListCbMenu(MfwEvt EventCode, MfwMnu *MenuHandle) 562 int listsIconsListCbMenu(MfwEvt EventCode, MfwMnu *MenuHandle)
572 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data; 566 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
573 ListIconsWinInfo* ListData = (ListIconsWinInfo *)win_data->user; 567 ListIconsWinInfo* ListData = (ListIconsWinInfo *)win_data->user;
574 568
575 TRACE_FUNCTION("listsIconsListCbMenu() "); 569 TRACE_FUNCTION("listsIconsListCbMenu() ");
576 switch (EventCode) 570 switch (EventCode)
577 { 571 {
578 case E_MNU_SELECT: 572 case E_MNU_SELECT:
579 ListData->ExitReason = E_MNU_SELECT; 573 ListData->ExitReason = E_MNU_SELECT;
580 ListData->MenuData->Reason = LISTS_REASON_SELECT;// MZ 14/2/01 E_MNU_SELECT; 574 ListData->MenuData->Reason = LISTS_REASON_SELECT;// MZ 14/2/01 E_MNU_SELECT;
581 ListData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 575 ListData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
582 ListData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 576 ListData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
583 /* SPR998 - SH - check if callback exists before calling it! */ 577 /* SPR998 - SH - check if callback exists before calling it! */
584 if (ListData->Callback) 578 if (ListData->Callback)
585 ListData->Callback(ListData->Parent, ListData->MenuData); 579 ListData->Callback(ListData->Parent, ListData->MenuData);
586 break; 580 break;
587 case E_MNU_ESCAPE: 581 case E_MNU_ESCAPE:
588 ListData->ExitReason = LISTS_REASON_BACK; 582 ListData->ExitReason = LISTS_REASON_BACK;
589 ListData->MenuData->Reason = LISTS_REASON_BACK; 583 ListData->MenuData->Reason = LISTS_REASON_BACK;
590 /*NM, p023*/ 584 /*NM, p023*/
591 ListData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 585 ListData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
592 ListData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 586 ListData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
593 /*NM, p023*/ 587 /*NM, p023*/
594 588
595 /* SPR998 - SH - check if callback exists before calling it! */ 589 /* SPR998 - SH - check if callback exists before calling it! */
596 if (ListData->Callback) 590 if (ListData->Callback)
597 ListData->Callback(ListData->Parent, ListData->MenuData); 591 ListData->Callback(ListData->Parent, ListData->MenuData);
598 592
599 break; 593 break;
600 case E_MNU_POSTDRAW: 594 case E_MNU_POSTDRAW:
601 { 595 {
602 T_MFW_WIN * winIconsLists_data = ((T_MFW_HDR *)winIconsLists)->data; 596 T_MFW_WIN * winIconsLists_data = ((T_MFW_HDR *)winIconsLists)->data;
603 ListIconsWinInfo* winIconsListsData = (ListIconsWinInfo *)winIconsLists_data->user; 597 ListIconsWinInfo* winIconsListsData = (ListIconsWinInfo *)winIconsLists_data->user;
604 winIconsListsData->ExitReason = LISTS_REASON_DRAWCOMPLETE; 598 winIconsListsData->ExitReason = LISTS_REASON_DRAWCOMPLETE;
605 winIconsListsData->MenuData->Reason = LISTS_REASON_DRAWCOMPLETE; 599 winIconsListsData->MenuData->Reason = LISTS_REASON_DRAWCOMPLETE;
606 winIconsListsData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 600 winIconsListsData->MenuData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
607 winIconsListsData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 601 winIconsListsData->MenuData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
608 winIconsListsData->MenuData->lineHeight= MenuHandle->lineHeight; 602 winIconsListsData->MenuData->lineHeight= MenuHandle->lineHeight;
609 if (winIconsListsData->Callback) 603 if (winIconsListsData->Callback)
610 winIconsListsData->Callback(winIconsListsData->Parent, winIconsListsData->MenuData); 604 winIconsListsData->Callback(winIconsListsData->Parent, winIconsListsData->MenuData);
611 } 605 }
612 break; 606 break;
613 default: 607 default:
614 Status = LISTS_FAIL; 608 Status = LISTS_FAIL;
615 break; 609 break;
616 } 610 }
617
618 611
619 return Status; 612 return Status;
620 } 613 }
621 614
622 void listsIconsDestroy(T_MFW_HND win) 615 void listsIconsDestroy(T_MFW_HND win)
623 { 616 {
624 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; 617 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data;
625 ListIconsWinInfo * ListData = (ListIconsWinInfo *)win_data->user; 618 ListIconsWinInfo * ListData = (ListIconsWinInfo *)win_data->user;
626 TRACE_EVENT_P1("listsIconsDestroy %x",win); 619 TRACE_EVENT_P1("listsIconsDestroy %x",win);
627 620
628 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 621 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
629 if (ListData->MenuListsAttr.header_toggle) 622 if (ListData->MenuListsAttr.header_toggle)
630 { 623 {
631 if(g_title_timer) 624 if(g_title_timer)
632 { 625 {
633 tim_delete(g_title_timer); 626 tim_delete(g_title_timer);
634 g_title_timer = NULL; 627 g_title_timer = NULL;
635 } 628 }
636 } 629 }
637 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 630 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
638 631
639 winDelete (win); 632 winDelete (win);
640 FREE_MEMORY ((void*) ListData, sizeof (ListIconsWinInfo)); 633 FREE_MEMORY ((void*) ListData, sizeof (ListIconsWinInfo));
641
642 } 634 }
643 635
644 /******************************************************************************* 636 /*******************************************************************************
645 637
646 $Function: listDisplayListMenu 638 $Function: listDisplayListMenu
647 639
648 $Description: Creates a list menu from data stored in NVRAM. 640 $Description: Creates a list menu from data stored in NVRAM.
649 641
650 $Returns: none. 642 $Returns: none.
651 643
652 $Arguments: 644 $Arguments:
653 645
654 *******************************************************************************/ 646 *******************************************************************************/
655 T_MFW listDisplayListMenu (MfwHnd Parent, ListMenuData *Data, ListCbFunc cbFunc,int inUnicode) 647 T_MFW listDisplayListMenu (MfwHnd Parent, ListMenuData *Data, ListCbFunc cbFunc,int inUnicode)
662 TRACE_FUNCTION ("listDisplayListMenu() Start"); 654 TRACE_FUNCTION ("listDisplayListMenu() Start");
663 655
664 winLists = winCreate(Parent, 0, E_WIN_VISIBLE |E_WIN_RESUME|E_WIN_SUSPEND, (MfwCb)listsWinEvent); 656 winLists = winCreate(Parent, 0, E_WIN_VISIBLE |E_WIN_RESUME|E_WIN_SUSPEND, (MfwCb)listsWinEvent);
665 657
666 if (winLists == NULL) 658 if (winLists == NULL)
667 { 659 {
668 Status = LISTS_FAIL; /* Inform caller of failure. */ 660 Status = LISTS_FAIL; /* Inform caller of failure. */
669 TRACE_EVENT ("win creation fails"); 661 TRACE_EVENT ("win creation fails");
670 } 662 }
671 else 663 else
672 { 664 {
673 ListWinInfo * ListData = (ListWinInfo *)ALLOC_MEMORY (sizeof (ListWinInfo)); 665 ListWinInfo * ListData = (ListWinInfo *)ALLOC_MEMORY (sizeof (ListWinInfo));
674 666
675 if (!ListData) 667 if (!ListData)
676 { 668 {
677 /* cq12719. if insufficient memory for listdata then delete window and Free allocated memory.16-03-04.MZ */ 669 /* cq12719. if insufficient memory for listdata then delete window and Free allocated memory.16-03-04.MZ */
678 if(NULL != winLists) 670 if(NULL != winLists)
679 winDelete(winLists); 671 winDelete(winLists);
680 672
681 TRACE_EVENT ("(ListWinInfo *)ALLOC_MEMORY fails"); 673 TRACE_EVENT ("(ListWinInfo *)ALLOC_MEMORY fails");
682 return LISTS_FAIL; 674 return LISTS_FAIL;
683 } 675 }
684 676
685 ListData->mmi_control.dialog = (T_DIALOG_FUNC)lists_exec_cb; 677 ListData->mmi_control.dialog = (T_DIALOG_FUNC)lists_exec_cb;
686 ListData->mmi_control.data = ListData; 678 ListData->mmi_control.data = ListData;
687 win = ((MfwHdr *)winLists)->data; 679 win = ((MfwHdr *)winLists)->data;
688 win->user = (void *) ListData; 680 win->user = (void *) ListData;
689 681
690 ListData->Parent = Parent; 682 ListData->Parent = Parent;
691 ListData->Callback = cbFunc; 683 ListData->Callback = cbFunc;
692 ListData->winLists = winLists; 684 ListData->winLists = winLists;
693 ListData->kbdLists = kbdCreate(winLists,Data->KeyEvents|KEY_MAKE, (MfwCb)listsKeyEvent); 685 ListData->kbdLists = kbdCreate(winLists,Data->KeyEvents|KEY_MAKE, (MfwCb)listsKeyEvent);
694 ListData->kbdLists_long = kbdCreate(winLists,Data->KeyEvents|KEY_LONG,(MfwCb)listsKeyEvent); 686 ListData->kbdLists_long = kbdCreate(winLists,Data->KeyEvents|KEY_LONG,(MfwCb)listsKeyEvent);
695 687
696 if ((ListData->kbdLists == NULL) || (ListData->kbdLists_long == NULL)) 688 if ((ListData->kbdLists == NULL) || (ListData->kbdLists_long == NULL))
697 { 689 {
698 Status = LISTS_FAIL; 690 Status = LISTS_FAIL;
699 TRACE_EVENT ("ListData->kbdLists fails"); 691 TRACE_EVENT ("ListData->kbdLists fails");
700 } 692 }
701 else 693 else
702 { 694 {
703 /* Create initial list menu for display. */ 695 /* Create initial list menu for display. */
704 696
705 /* 697 /*
706 * set menu list from outside 698 * set menu list from outside
707 */ 699 */
708 ListData->MenuListsAttr = *Data->Attr; /* copy contents */ 700 ListData->MenuListsAttr = *Data->Attr; /* copy contents */
709 701
710 /* SPR#2492 - DS - Do not overwrite mode settings unless mode is zero */ 702 /* SPR#2492 - DS - Do not overwrite mode settings unless mode is zero */
711 if (ListData->MenuListsAttr.mode == 0x0000) /* Mode not yet setup */ 703 if (ListData->MenuListsAttr.mode == 0x0000) /* Mode not yet setup */
712 ListData->MenuListsAttr.mode = MNU_LEFT | MNU_LIST | MNU_CUR_LINE; 704 ListData->MenuListsAttr.mode = MNU_LEFT | MNU_LIST | MNU_CUR_LINE;
713 else 705 else
714 ListData->MenuListsAttr.mode |= Data->Attr->mode; 706 ListData->MenuListsAttr.mode |= Data->Attr->mode;
715 707
716 ListData->MenuListsAttr.font = Data->Font; 708 ListData->MenuListsAttr.font = Data->Font;
717 ListData->MenuListsAttr.items = Data->List; 709 ListData->MenuListsAttr.items = Data->List;
718 ListData->MenuListsAttr.nItems = Data->ListLength; 710 ListData->MenuListsAttr.nItems = Data->ListLength;
719 711
720 /* START: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */ 712 /* START: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */
721 ListData->MenuListsAttr.header_toggle = Data->Attr->header_toggle; 713 ListData->MenuListsAttr.header_toggle = Data->Attr->header_toggle;
722 if (ListData->MenuListsAttr.header_toggle) 714 if (ListData->MenuListsAttr.header_toggle)
723 g_win = winLists; 715 g_win = winLists;
724 /* END: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */ 716 /* END: x0045876, 05-June-2006 (OMAPS00060424 - Header Toggle) */
725 717
726 718
727 /* 719 /*
728 * Intialize List Menu Data 720 * Intialize List Menu Data
729 */ 721 */
730 ListData->MenuData = *Data; /* copy contents */ 722 ListData->MenuData = *Data; /* copy contents */
731 ListData->MenuData.listCol = COLOUR_LIST_XX; //Set-up colour 723 ListData->MenuData.listCol = COLOUR_LIST_XX; //Set-up colour
732 ListData->MenuData.Attr = &ListData->MenuListsAttr; /* copy data*/ 724 ListData->MenuData.Attr = &ListData->MenuListsAttr; /* copy data*/
733 ListData->MenuLists = mnuCreate(winLists, &ListData->MenuListsAttr, 725 ListData->MenuLists = mnuCreate(winLists, &ListData->MenuListsAttr,
734 E_MNU_SELECT | E_MNU_ESCAPE, 726 E_MNU_SELECT | E_MNU_ESCAPE,
735 (MfwCb)listsListCbMenu); 727 (MfwCb)listsListCbMenu);
736 ListData->MenuData.win = winLists; 728 ListData->MenuData.win = winLists;
737 Data->win = winLists; 729 Data->win = winLists;
738 mnuScrollMode(ListData->MenuLists,1); 730 mnuScrollMode(ListData->MenuLists,1);
739 if (Data->Strings) 731 if (Data->Strings)
740 mnuLang (ListData->MenuLists,0); 732 mnuLang (ListData->MenuLists,0);
741 else 733 else
742 mnuLang (ListData->MenuLists,mainMmiLng); 734 mnuLang (ListData->MenuLists,mainMmiLng);
743 735
744 /* SPR#1983 - SH - Set up whether menu is in unicode or not */ 736 /* SPR#1983 - SH - Set up whether menu is in unicode or not */
745 if (inUnicode != 0) 737 if (inUnicode != 0)
746 { 738 {
747 mnuDCSType(ListData->MenuLists, inUnicode); /* Unicode display */ 739 mnuDCSType(ListData->MenuLists, inUnicode); /* Unicode display */
748 } 740 }
749 mnuChooseVisibleItem(ListData->MenuLists, Data->ListPosition-1); 741 mnuChooseVisibleItem(ListData->MenuLists, Data->ListPosition-1);
750 mnuUnhide(ListData->MenuLists); 742 mnuUnhide(ListData->MenuLists);
751 TRACE_EVENT ("mmiList winShow()"); 743 TRACE_EVENT ("mmiList winShow()");
752 winShow(winLists); 744 winShow(winLists);
753 } 745 }
754 } 746 }
755 747
756 return Status; 748 return Status;
757 } 749 }
758 750
759 751
760 /******************************************************************************* 752 /*******************************************************************************
761 753
762 $Function: listsKeyEvent 754 $Function: listsKeyEvent
763 755
764 $Description: Keyboard event handler 756 $Description: Keyboard event handler
765 757
766 $Returns: none. 758 $Returns: none.
767 759
768 $Arguments: 760 $Arguments:
769 761
770 *******************************************************************************/ 762 *******************************************************************************/
771 static int listsKeyEvent (MfwEvt e, MfwKbd *k) 763 static int listsKeyEvent (MfwEvt e, MfwKbd *k)
774 T_MFW_HND win = mfwParent(mfw_header()); 766 T_MFW_HND win = mfwParent(mfw_header());
775 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data; 767 T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
776 ListWinInfo * data = (ListWinInfo *)win_data->user; 768 ListWinInfo * data = (ListWinInfo *)win_data->user;
777 MfwMnu *MenuHandle; 769 MfwMnu *MenuHandle;
778 770
779 /* This trace function was added inside the fflag by vinoj to remove compilation error: 2/6/06*/ 771 /* This trace function was added inside the fflag by vinoj to remove compilation error: 2/6/06*/
780 772
781 { 773 {
782 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357 774 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357
783 //Initialize selectKey to FALSE here. It will be set to TRUE only when a key event for KCD_MNUSELECT occurs. 775 //Initialize selectKey to FALSE here. It will be set to TRUE only when a key event for KCD_MNUSELECT occurs.
784 data->MenuData.selectKey = FALSE; 776 data->MenuData.selectKey = FALSE;
785 if (!(e & KEY_MAKE)) 777 if (!(e & KEY_MAKE))
786 { 778 {
787 return MFW_EVENT_CONSUMED; 779 return MFW_EVENT_CONSUMED;
788 } 780 }
789 781
790 782
791 if (e & KEY_LONG) 783 if (e & KEY_LONG)
792 { 784 {
793 switch (k->code) 785 switch (k->code)
794 { 786 {
795 case KCD_HUP: /* back to previous menu */ 787 case KCD_HUP: /* back to previous menu */
796 mnuEscape(data->MenuLists); 788 mnuEscape(data->MenuLists);
797 break; 789 break;
798 case KCD_RIGHT: /* Power Down */ 790 case KCD_RIGHT: /* Power Down */
799 return MFW_EVENT_PASSED; /* handled by idle */ 791 return MFW_EVENT_PASSED; /* handled by idle */
800 default: /* no response to all other keys */ 792 default: /* no response to all other keys */
801 return MFW_EVENT_CONSUMED; 793 return MFW_EVENT_CONSUMED;
802 } 794 }
803 } 795 }
804 else 796 else
805 { 797 {
806 switch (k->code) 798 switch (k->code)
807 { 799 {
808 case KCD_MNUUP: /* highlight previous entry */ 800 case KCD_MNUUP: /* highlight previous entry */
809 mnuUp(data->MenuLists); 801 mnuUp(data->MenuLists);
810 //GW Not needed? winShow(win); 802 //GW Not needed? winShow(win);
811 // Only required in melody list selection. 803 // Only required in melody list selection.
812 /* Mar 30, 2007 REF: OMAPS00122691 x0039928 */ 804 /* Mar 30, 2007 REF: OMAPS00122691 x0039928 */
813 /* This event will be used to play the selected file. */ 805 /* This event will be used to play the selected file. */
814 806
815 if(getMelodyListStatus()== TRUE) 807 if(getMelodyListStatus()== TRUE)
816 { 808 {
817 MenuHandle = mfwControl(data->MenuLists); 809 MenuHandle = mfwControl(data->MenuLists);
818 810
819 data->MenuData.Reason = LISTS_REASON_SCROLL; 811 data->MenuData.Reason = LISTS_REASON_SCROLL;
820 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 812 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
821 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; 813 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level];
822 SEND_EVENT(data->Parent,E_START_MELODY,0,(void*)data); 814 SEND_EVENT(data->Parent,E_START_MELODY,0,(void*)data);
823 } 815 }
824 816
825 if(getScrollStatus() == TRUE) 817 if(getScrollStatus() == TRUE)
826 { 818 {
827 // Send event to indicate that the user has scrolled list items 819 // Send event to indicate that the user has scrolled list items
828 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL); 820 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL);
829 } 821 }
830 break; 822 break;
831 case KCD_MNUDOWN: /* highlight next entry */ 823 case KCD_MNUDOWN: /* highlight next entry */
832 mnuDown(data->MenuLists); 824 mnuDown(data->MenuLists);
833 //GW Not needed? winShow(win); 825 //GW Not needed? winShow(win);
834 /* Mar 30, 2007 REF: OMAPS00122691 x0039928 */ 826 /* Mar 30, 2007 REF: OMAPS00122691 x0039928 */
835 /* This event will be used to play the selected file. */ 827 /* This event will be used to play the selected file. */
836 828
837 if(getMelodyListStatus()== TRUE) 829 if(getMelodyListStatus()== TRUE)
838 { 830 {
839 MenuHandle = mfwControl(data->MenuLists); 831 MenuHandle = mfwControl(data->MenuLists);
840 832
841 data->MenuData.Reason = LISTS_REASON_SCROLL; 833 data->MenuData.Reason = LISTS_REASON_SCROLL;
842 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 834 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
843 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; 835 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level];
844 SEND_EVENT(data->Parent,E_START_MELODY,0,(void*)data); 836 SEND_EVENT(data->Parent,E_START_MELODY,0,(void*)data);
845 } 837 }
846 838
847 if(getScrollStatus() == TRUE) 839 if(getScrollStatus() == TRUE)
848 { 840 {
849 // Send event to indicate that the user has scrolled list items 841 // Send event to indicate that the user has scrolled list items
850 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL); 842 SEND_EVENT(data->Parent, LISTS_REASON_SCROLL, 0, NULL);
851 } 843 }
852 break; 844 break;
853 case KCD_MNUSELECT: 845 case KCD_MNUSELECT:
854 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357 846 //xrashmic 5 Oct, 2005 MMI-SPR-29356, MMI-SPR-29357
855 //Menu Select Key was pressed, storing this for future use. 847 //Menu Select Key was pressed, storing this for future use.
856 data->MenuData.selectKey = TRUE; 848 data->MenuData.selectKey = TRUE;
857 //Break is delibrately not used here. The control should pass through the KCD_LEFT case. 849 //Break is delibrately not used here. The control should pass through the KCD_LEFT case.
858 case KCD_LEFT: /* activate this entry */ 850 case KCD_LEFT: /* activate this entry */
859 mnuSelect(data->MenuLists); 851 mnuSelect(data->MenuLists);
860 MenuHandle = mfwControl(data->MenuLists); 852 MenuHandle = mfwControl(data->MenuLists);
861 if ((MenuHandle != NULL) && // Marcus: Issue 1810: 12/03/2003 853 if ((MenuHandle != NULL) && // Marcus: Issue 1810: 12/03/2003
862 (MenuHandle->curAttr != NULL) && 854 (MenuHandle->curAttr != NULL) &&
863 winIsFocussed(win)) 855 winIsFocussed(win))
864 { 856 {
865 softKeys_displayId( TxtSoftSelect, TxtSoftBack, 0, MenuHandle->curAttr->mnuColour); 857 softKeys_displayId( TxtSoftSelect, TxtSoftBack, 0, MenuHandle->curAttr->mnuColour);
866 } 858 }
867 break; 859 break;
868 case KCD_CALL: /* press send key */ 860 case KCD_CALL: /* press send key */
869 data->ExitReason = LISTS_REASON_SEND; 861 data->ExitReason = LISTS_REASON_SEND;
870 data->MenuData.Reason = LISTS_REASON_SEND; 862 data->MenuData.Reason = LISTS_REASON_SEND;
871 MenuHandle = mfwControl(data->MenuLists); 863 MenuHandle = mfwControl(data->MenuLists);
872 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 864 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
873 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 865 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
874 866
875 /* SPR998 - SH - check if callback exists before calling it! */ 867 /* SPR998 - SH - check if callback exists before calling it! */
876 if (data->Callback) 868 if (data->Callback)
877 data->Callback(data->Parent, &data->MenuData); 869 data->Callback(data->Parent, &data->MenuData);
878 870
879 if (data->MenuData.autoDestroy) 871 if (data->MenuData.autoDestroy)
880 { 872 {
881 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 873 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
882 if (data->MenuListsAttr.header_toggle) 874 if (data->MenuListsAttr.header_toggle)
883 { 875 {
884 if (g_title_timer) 876 if (g_title_timer)
885 { 877 {
886 tim_delete(g_title_timer); 878 tim_delete(g_title_timer);
887 g_title_timer = NULL; 879 g_title_timer = NULL;
888 } 880 }
889 } 881 }
890 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 882 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
891 winDelete (win); 883 winDelete (win);
892 FREE_MEMORY ((void*)data, sizeof (ListWinInfo)); 884 FREE_MEMORY ((void*)data, sizeof (ListWinInfo));
893 } 885 }
894 break; 886 break;
895 case KCD_HUP: /* back to previous menu */ 887 case KCD_HUP: /* back to previous menu */
896 data->ExitReason = LISTS_REASON_HANGUP; 888 data->ExitReason = LISTS_REASON_HANGUP;
897 data->MenuData.Reason = LISTS_REASON_HANGUP; 889 data->MenuData.Reason = LISTS_REASON_HANGUP;
898 /*NM, p023 */ 890 /*NM, p023 */
899 MenuHandle = mfwControl(data->MenuLists); 891 MenuHandle = mfwControl(data->MenuLists);
900 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 892 data->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
901 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 893 data->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
902 /*NM, p023 end */ 894 /*NM, p023 end */
903 data->Callback(data->Parent, &data->MenuData); 895 data->Callback(data->Parent, &data->MenuData);
904 if (data->MenuData.autoDestroy) 896 if (data->MenuData.autoDestroy)
905 { 897 {
906 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 898 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
907 if (data->MenuListsAttr.header_toggle) 899 if (data->MenuListsAttr.header_toggle)
908 { 900 {
909 if (g_title_timer) 901 if (g_title_timer)
910 { 902 {
911 tim_delete(g_title_timer); 903 tim_delete(g_title_timer);
912 g_title_timer = NULL; 904 g_title_timer = NULL;
913 } 905 }
914 } 906 }
915 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 907 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
916 winDelete (win); 908 winDelete (win);
917 FREE_MEMORY ((void*)data, sizeof (ListWinInfo)); 909 FREE_MEMORY ((void*)data, sizeof (ListWinInfo));
918 } 910 }
919 break; 911 break;
920 case KCD_RIGHT: /* back to previous menu */ 912 case KCD_RIGHT: /* back to previous menu */
921 mnuEscape(data->MenuLists); 913 mnuEscape(data->MenuLists);
922 break; 914 break;
923 default: /* no response to all other keys */ 915 default: /* no response to all other keys */
924 return MFW_EVENT_CONSUMED; 916 return MFW_EVENT_CONSUMED;
925 } 917 }
926 } 918 }
927 } 919 }
928 TRACE_FUNCTION("listsKeyEvent()-end"); 920 TRACE_FUNCTION("listsKeyEvent()-end");
929 return MFW_EVENT_CONSUMED; 921 return MFW_EVENT_CONSUMED;
930 } 922 }
931 923
932 /******************************************************************************* 924 /*******************************************************************************
933 925
934 $Function: listsWinEvent 926 $Function: listsWinEvent
935 927
936 $Description: window event handler 928 $Description: window event handler
937 929
938 $Returns: none. 930 $Returns: none.
939 931
940 $Arguments: 932 $Arguments:
941 933
942 *******************************************************************************/ 934 *******************************************************************************/
943 static int listsWinEvent(MfwEvt e, MfwWin *w) 935 static int listsWinEvent(MfwEvt e, MfwWin *w)
945 ListWinInfo * ListData = (ListWinInfo *)w->user; 937 ListWinInfo * ListData = (ListWinInfo *)w->user;
946 938
947 TRACE_FUNCTION("listsWinEvent()"); 939 TRACE_FUNCTION("listsWinEvent()");
948 940
949 switch (e) 941 switch (e)
950 { 942 {
951 case E_WIN_VISIBLE: 943 case E_WIN_VISIBLE:
952 SEND_EVENT(ListData->Parent,LISTS_REASON_VISIBLE,0,(void*)ListData); 944 SEND_EVENT(ListData->Parent,LISTS_REASON_VISIBLE,0,(void*)ListData);
953 break; 945 break;
954 case MfwWinResume: 946 case MfwWinResume:
955 SEND_EVENT(ListData->Parent,LISTS_REASON_RESUME,0,(void*)ListData); 947 SEND_EVENT(ListData->Parent,LISTS_REASON_RESUME,0,(void*)ListData);
956 break; 948 break;
957 case MfwWinSuspend: 949 case MfwWinSuspend:
958 SEND_EVENT(ListData->Parent,LISTS_REASON_SUSPEND,0,(void*)ListData); 950 SEND_EVENT(ListData->Parent,LISTS_REASON_SUSPEND,0,(void*)ListData);
959 break; 951 break;
960 } 952 }
961 return MFW_EVENT_CONSUMED; 953 return MFW_EVENT_CONSUMED;
962 } 954 }
963 955
964 static void lists_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter) 956 static void lists_exec_cb (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
965 { 957 {
969 SHORT l_id; 961 SHORT l_id;
970 962
971 TRACE_FUNCTION ("lists_exec_cb()"); 963 TRACE_FUNCTION ("lists_exec_cb()");
972 964
973 switch (event) 965 switch (event)
974 { 966 {
975 case E_INIT: 967 case E_INIT:
976 case E_BACK: 968 case E_BACK:
977 case E_RETURN: 969 case E_RETURN:
978 case E_ABORT: 970 case E_ABORT:
979 case E_EXIT: 971 case E_EXIT:
980 /* defaultreaction */ 972 /* defaultreaction */
981 l_parent = ListData->Parent; 973 l_parent = ListData->Parent;
982 l_id = ListData->id; 974 l_id = ListData->id;
983 975
984 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 976 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
985 if (ListData->MenuListsAttr.header_toggle) 977 if (ListData->MenuListsAttr.header_toggle)
986 { 978 {
987 if (g_title_timer) 979 if (g_title_timer)
988 { 980 {
989 tim_delete(g_title_timer); 981 tim_delete(g_title_timer);
990 g_title_timer = NULL; 982 g_title_timer = NULL;
991 } 983 }
992 } 984 }
993 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 985 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
994 winDelete (win); 986 winDelete (win);
995 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo)); 987 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo));
996 SEND_EVENT (l_parent, event, l_id, NULL); /* forward event to parent */ 988 SEND_EVENT (l_parent, event, l_id, NULL); /* forward event to parent */
997 break; 989 break;
998 default: 990 default:
999 return; 991 return;
1000 } 992 }
1001 } 993 }
1002
1003 994
1004 995
1005 /******************************************************************************* 996 /*******************************************************************************
1006 997
1007 $Function: listsListCbMenu 998 $Function: listsListCbMenu
1008 999
1009 $Description: List menu handler. (mfw callback function) 1000 $Description: List menu handler. (mfw callback function)
1010 1001
1011 $Returns: none. 1002 $Returns: none.
1012 1003
1013 $Arguments: 1004 $Arguments:
1014 1005
1015 *******************************************************************************/ 1006 *******************************************************************************/
1016 int listsListCbMenu(MfwEvt EventCode, MfwMnu *MenuHandle) 1007 int listsListCbMenu(MfwEvt EventCode, MfwMnu *MenuHandle)
1021 ListWinInfo* ListData = (ListWinInfo *)win_data->user; 1012 ListWinInfo* ListData = (ListWinInfo *)win_data->user;
1022 1013
1023 TRACE_FUNCTION("listsCbMenu()"); 1014 TRACE_FUNCTION("listsCbMenu()");
1024 1015
1025 switch (EventCode) 1016 switch (EventCode)
1026 { 1017 {
1027 case E_MNU_SELECT: 1018 case E_MNU_SELECT:
1028 ListData->ExitReason = E_MNU_SELECT; 1019 ListData->ExitReason = E_MNU_SELECT;
1029 ListData->MenuData.Reason = LISTS_REASON_SELECT;// MZ 14/2/01 E_MNU_SELECT; 1020 ListData->MenuData.Reason = LISTS_REASON_SELECT;// MZ 14/2/01 E_MNU_SELECT;
1030 ListData->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 1021 ListData->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
1031 ListData->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 1022 ListData->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
1032 /* SPR998 - SH - check if callback exists before calling it! */ 1023 /* SPR998 - SH - check if callback exists before calling it! */
1033 if (ListData->Callback) 1024 if (ListData->Callback)
1034 ListData->Callback(ListData->Parent, &ListData->MenuData); 1025 ListData->Callback(ListData->Parent, &ListData->MenuData);
1035 break; 1026 break;
1036 1027
1037 case E_MNU_ESCAPE: 1028 case E_MNU_ESCAPE:
1038 ListData->ExitReason = LISTS_REASON_BACK; 1029 ListData->ExitReason = LISTS_REASON_BACK;
1039 ListData->MenuData.Reason = LISTS_REASON_BACK; 1030 ListData->MenuData.Reason = LISTS_REASON_BACK;
1040 /*NM, p023*/ 1031 /*NM, p023*/
1041 ListData->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level]; 1032 ListData->MenuData.CursorPosition = MenuHandle->lCursor[MenuHandle->level];
1042 ListData->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */ 1033 ListData->MenuData.ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
1043 /*NM, p023*/ 1034 /*NM, p023*/
1044 1035
1045 /* SPR998 - SH - check if callback exists before calling it! */ 1036 /* SPR998 - SH - check if callback exists before calling it! */
1046 if (ListData->Callback) 1037 if (ListData->Callback)
1047 ListData->Callback(ListData->Parent, &ListData->MenuData); 1038 ListData->Callback(ListData->Parent, &ListData->MenuData);
1048 break; 1039 break;
1049 1040
1050 default: 1041 default:
1051 Status = LISTS_FAIL; 1042 Status = LISTS_FAIL;
1052 TRACE_EVENT("Activation 77 error"); 1043 TRACE_EVENT("Activation 77 error");
1053 break; 1044 break;
1054 } 1045 }
1055 1046
1056 /* 1047 /*
1057 * Free all allocated memory and handler 1048 * Free all allocated memory and handler
1058 */ 1049 */
1059 if (ListData->MenuData.autoDestroy) 1050 if (ListData->MenuData.autoDestroy)
1060 { 1051 {
1061 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 1052 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
1062 if (ListData->MenuListsAttr.header_toggle) 1053 if (ListData->MenuListsAttr.header_toggle)
1063 { 1054 {
1064 if (g_title_timer) 1055 if (g_title_timer)
1065 { 1056 {
1066 tim_delete(g_title_timer); 1057 tim_delete(g_title_timer);
1067 g_title_timer = NULL; 1058 g_title_timer = NULL;
1068 } 1059 }
1069 } 1060 }
1070 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 1061 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
1071 winDelete (win); 1062 winDelete (win);
1072 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo)); 1063 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo));
1073 } 1064 }
1074 return Status; 1065 return Status;
1075 } 1066 }
1076 1067
1077 void listsDestroy(T_MFW_HND win) 1068 void listsDestroy(T_MFW_HND win)
1078 { 1069 {
1079 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data; 1070 T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data;
1080 ListWinInfo * ListData = (ListWinInfo *)win_data->user; 1071 ListWinInfo * ListData = (ListWinInfo *)win_data->user;
1081 1072
1082 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 1073 /* START: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
1083 if (ListData->MenuListsAttr.header_toggle) 1074 if (ListData->MenuListsAttr.header_toggle)
1084 { 1075 {
1085 if(g_title_timer) 1076 if(g_title_timer)
1086 { 1077 {
1087 tim_delete(g_title_timer); 1078 tim_delete(g_title_timer);
1088 g_title_timer = NULL; 1079 g_title_timer = NULL;
1089 } 1080 }
1090 } 1081 }
1091 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */ 1082 /* END: 05-June-2006, x0045876 (OMAPS00060424 - Header Toggle) */
1092 1083
1093 winDelete (win); 1084 winDelete (win);
1094 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo)); 1085 FREE_MEMORY ((void*) ListData, sizeof (ListWinInfo));
1095 1086 }
1096 }
1097