|
1 /* |
|
2 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Implementation of CPhoneNoteController class. |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 // INCLUDE FILES |
|
20 #include "cphonenotecontroller.h" |
|
21 |
|
22 #include <eikenv.h> |
|
23 #include <eikappui.h> |
|
24 #include <eikprogi.h> |
|
25 #include <StringLoader.h> |
|
26 #include <aknnotedialog.h> // for CAknNoteDialog |
|
27 #include <AknGlobalNote.h> // for CAknGlobalNote |
|
28 |
|
29 #include "phoneui.pan" |
|
30 #include "tphonecommandparam.h" |
|
31 #include "tphonecmdparamnote.h" |
|
32 #include "tphonecmdparamboolean.h" |
|
33 #include "tphonecmdparamprogressnote.h" |
|
34 #include "tphonecmdparamglobalnote.h" |
|
35 #include "tphonecmdparaminteger.h" |
|
36 #include "phoneconstants.h" |
|
37 #include "cphonemainresourceresolver.h" |
|
38 #include "phonerssbase.h" |
|
39 #include "phonelogger.h" |
|
40 #include "cphonetimer.h" |
|
41 #include "cphonenote.h" |
|
42 #include "cphonedtmfsendingnote.h" |
|
43 #include "cphoneuidisablednote.h" |
|
44 |
|
45 // CONSTANTS |
|
46 const TInt KPhoneIntervalDivider = 100; |
|
47 // ================= MEMBER FUNCTIONS ======================= |
|
48 // C++ default constructor can NOT contain any code, that |
|
49 // might leave. |
|
50 // |
|
51 CPhoneNoteController::CPhoneNoteController( CEikonEnv& aEikEnv ) : iGlobalNoteId( KErrNotFound ), |
|
52 iEikEnv( aEikEnv ), |
|
53 iNoteText( NULL ) |
|
54 { |
|
55 } |
|
56 |
|
57 // --------------------------------------------------------- |
|
58 // CPhoneNoteController::NewL() |
|
59 // Two-phased constructor |
|
60 // (other items were commented in a header). |
|
61 // --------------------------------------------------------- |
|
62 CPhoneNoteController* CPhoneNoteController::NewL( CEikonEnv& aEikEnv ) |
|
63 { |
|
64 CPhoneNoteController* self = |
|
65 new( ELeave ) CPhoneNoteController( aEikEnv ); |
|
66 |
|
67 return self; |
|
68 } |
|
69 |
|
70 // --------------------------------------------------------- |
|
71 // Destructor |
|
72 // --------------------------------------------------------- |
|
73 // |
|
74 CPhoneNoteController::~CPhoneNoteController() |
|
75 { |
|
76 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::~CPhoneNoteController"); |
|
77 DestroyNote(); |
|
78 DestroyProgressNote(); |
|
79 } |
|
80 |
|
81 // --------------------------------------------------------- |
|
82 // CPhoneNoteController::CreateNoteL |
|
83 // --------------------------------------------------------- |
|
84 // |
|
85 void CPhoneNoteController::CreateNoteL( |
|
86 TPhoneCommandParam* aCommandParam ) |
|
87 { |
|
88 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateNoteL"); |
|
89 TInt resourceId = 0; |
|
90 CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone; |
|
91 CAknNoteDialog::TTimeout timeout = CAknNoteDialog::ENoTimeout; |
|
92 |
|
93 TPhoneCmdParamNote* noteParam = static_cast<TPhoneCmdParamNote*>( |
|
94 aCommandParam ); |
|
95 |
|
96 if( iNote && noteParam->Type() == EPhoneNoteDtmfSending ) |
|
97 { |
|
98 // Dtmf sending ongoing. |
|
99 UpdateNoteTextL( aCommandParam ); |
|
100 return; |
|
101 } |
|
102 |
|
103 // Delete the existing note |
|
104 DestroyNote(); |
|
105 |
|
106 // Setup parameters according to the type of note |
|
107 switch ( noteParam->Type() ) |
|
108 { |
|
109 case EPhoneNoteError: |
|
110 resourceId = CPhoneMainResourceResolver::Instance()-> |
|
111 ResolveResourceID( EPhoneInformationErrorNote ); |
|
112 timeout = CAknNoteDialog::ELongTimeout; |
|
113 tone = CAknNoteDialog::EErrorTone; |
|
114 break; |
|
115 |
|
116 case EPhoneNoteWarning: |
|
117 resourceId = CPhoneMainResourceResolver::Instance()-> |
|
118 ResolveResourceID( EPhoneInformationWarningNote ); |
|
119 timeout = CAknNoteDialog::ELongTimeout; |
|
120 tone = CAknNoteDialog::EWarningTone; |
|
121 break; |
|
122 |
|
123 case EPhoneNoteConfirmation: |
|
124 resourceId = CPhoneMainResourceResolver::Instance()-> |
|
125 ResolveResourceID( EPhoneInformationConfirmationNote ); |
|
126 timeout = CAknNoteDialog::EShortTimeout; |
|
127 tone = CAknNoteDialog::EConfirmationTone; |
|
128 break; |
|
129 |
|
130 case EPhoneNoteInformation: |
|
131 resourceId = CPhoneMainResourceResolver::Instance()-> |
|
132 ResolveResourceID( EPhoneInformationNote ); |
|
133 timeout = CAknNoteDialog::ELongTimeout; |
|
134 tone = CAknNoteDialog::ENoTone; |
|
135 break; |
|
136 |
|
137 case EPhoneNoteSecurity: |
|
138 case EPhoneNoteCustom: // Fall through |
|
139 case EPhoneNotePermanent: |
|
140 case EPhoneNoteDtmfSending: |
|
141 // Use the specified values |
|
142 resourceId = noteParam->ResourceId(); |
|
143 timeout = noteParam->Timeout(); |
|
144 tone = noteParam->Tone(); |
|
145 break; |
|
146 |
|
147 case EPhoneNoteUIDisabled: |
|
148 // Use the specified values |
|
149 resourceId = noteParam->ResourceId(); |
|
150 timeout = CAknNoteDialog::ENoTimeout; |
|
151 tone = CAknNoteDialog::ENoTone; |
|
152 break; |
|
153 |
|
154 default: |
|
155 Panic( EPhoneViewCaseNotHandled ); |
|
156 break; |
|
157 } |
|
158 |
|
159 // Create correct note |
|
160 if( noteParam->Type() == EPhoneNoteDtmfSending ) |
|
161 { |
|
162 iNote = new ( ELeave ) CPhoneDtmfSendingNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() ); |
|
163 } |
|
164 else if( noteParam->Type() == EPhoneNoteUIDisabled ) |
|
165 { |
|
166 iNote = new ( ELeave ) CPhoneUIDisabledNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() ); |
|
167 } |
|
168 else |
|
169 { |
|
170 iNote = new ( ELeave ) CPhoneNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() ); |
|
171 } |
|
172 |
|
173 // Override text if specified |
|
174 if ( noteParam->Text().Length() ) |
|
175 { |
|
176 if( !iNoteText ) |
|
177 { |
|
178 iNoteText = noteParam->Text().AllocL(); |
|
179 } |
|
180 iNote->SetTextL( *iNoteText ); |
|
181 } |
|
182 else if ( noteParam->TextResourceId() ) |
|
183 { |
|
184 // Get the text associated with the resource Id |
|
185 TBuf<KPhoneMaxCharsInNote> noteText; |
|
186 StringLoader::Load( |
|
187 noteText, |
|
188 noteParam->TextResourceId(), |
|
189 &iEikEnv ); |
|
190 |
|
191 iNote->SetTextL( noteText ); |
|
192 } |
|
193 |
|
194 // Override tone if specified |
|
195 if ( tone != CAknNoteDialog::ENoTone ) |
|
196 { |
|
197 iNote->SetTone( tone ); |
|
198 } |
|
199 |
|
200 // Override timeout if specified |
|
201 if ( timeout != CAknNoteDialog::ENoTimeout ) |
|
202 { |
|
203 iNote->SetTimeout( timeout ); |
|
204 } |
|
205 |
|
206 iNote->SetNoteType( noteParam->Type() ); |
|
207 |
|
208 // Display the note |
|
209 iNote->ExecuteLD( resourceId ); |
|
210 } |
|
211 |
|
212 // --------------------------------------------------------- |
|
213 // CPhoneNoteController::DestroyNote |
|
214 // --------------------------------------------------------- |
|
215 // |
|
216 void CPhoneNoteController::DestroyNote() |
|
217 { |
|
218 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyNote"); |
|
219 |
|
220 // Delete note text if exists |
|
221 if( iNoteText ) |
|
222 { |
|
223 delete iNoteText; |
|
224 iNoteText = NULL; |
|
225 } |
|
226 |
|
227 // Delete the note if it exists |
|
228 if ( iNote ) |
|
229 { |
|
230 delete iNote; |
|
231 iNote = NULL; |
|
232 } |
|
233 } |
|
234 |
|
235 // --------------------------------------------------------- |
|
236 // CPhoneNoteController::DestroyDTMFNote |
|
237 // --------------------------------------------------------- |
|
238 // |
|
239 void CPhoneNoteController::DestroyDTMFNote() |
|
240 { |
|
241 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyDTMFNote"); |
|
242 |
|
243 // Delete DTFM note if exists |
|
244 if ( iNote && ( iNote->NoteType() == EPhoneNoteDtmfSending ) ) |
|
245 { |
|
246 // Delete note text if exists |
|
247 if( iNoteText ) |
|
248 { |
|
249 delete iNoteText; |
|
250 iNoteText = NULL; |
|
251 } |
|
252 delete iNote; |
|
253 iNote = NULL; |
|
254 } |
|
255 } |
|
256 |
|
257 |
|
258 // --------------------------------------------------------- |
|
259 // CPhoneNoteController::DestroyGlobalNoteL |
|
260 // --------------------------------------------------------- |
|
261 // |
|
262 void CPhoneNoteController::DestroyGlobalNoteL() |
|
263 { |
|
264 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyGlobalNoteL"); |
|
265 if( iGlobalNoteId != KErrNotFound ) |
|
266 { |
|
267 CAknGlobalNote* glbNote = CAknGlobalNote::NewLC(); |
|
268 glbNote->CancelNoteL( iGlobalNoteId ); |
|
269 CleanupStack::PopAndDestroy( glbNote ); |
|
270 } |
|
271 } |
|
272 |
|
273 // --------------------------------------------------------- |
|
274 // CPhoneNoteController::CreateGlobalNoteL |
|
275 // --------------------------------------------------------- |
|
276 // |
|
277 void CPhoneNoteController::CreateGlobalNoteL( |
|
278 TPhoneCommandParam* aCommandParam ) |
|
279 { |
|
280 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateGlobalNoteL"); |
|
281 TPhoneCmdParamGlobalNote* globalNoteParam = |
|
282 static_cast<TPhoneCmdParamGlobalNote*>( aCommandParam ); |
|
283 TBuf<KPhoneMaxCharsInNote> noteText; |
|
284 |
|
285 // Check if the resource Id is specified |
|
286 if ( globalNoteParam->TextResourceId() ) |
|
287 { |
|
288 if ( globalNoteParam->Text().Length() ) |
|
289 { |
|
290 HBufC* loadedText = StringLoader::LoadL( |
|
291 globalNoteParam->TextResourceId(), |
|
292 globalNoteParam->Text(), |
|
293 CCoeEnv::Static() ); |
|
294 noteText.Copy( *loadedText ); |
|
295 delete loadedText; |
|
296 } |
|
297 else |
|
298 { |
|
299 StringLoader::Load( |
|
300 noteText, |
|
301 globalNoteParam->TextResourceId(), |
|
302 &iEikEnv ); |
|
303 } |
|
304 } |
|
305 else if ( globalNoteParam->Text() != KNullDesC ) |
|
306 { |
|
307 noteText.Copy( globalNoteParam->Text() ); |
|
308 } |
|
309 |
|
310 if ( noteText.Length() > 0 ) |
|
311 { |
|
312 CAknGlobalNote* glbNote = CAknGlobalNote::NewLC(); |
|
313 |
|
314 // Set the tone |
|
315 glbNote->SetTone( globalNoteParam->Tone() ); |
|
316 if ( globalNoteParam->Softkeys()) |
|
317 { |
|
318 glbNote->SetSoftkeys( globalNoteParam->Softkeys() ); |
|
319 } |
|
320 |
|
321 // Show the global note |
|
322 |
|
323 if ( globalNoteParam->WaitForReady() ) |
|
324 { |
|
325 TRequestStatus NoteReady; |
|
326 iGlobalNoteId = glbNote->ShowNoteL( NoteReady, globalNoteParam->Type(), noteText ); |
|
327 User::WaitForRequest( NoteReady ); |
|
328 } |
|
329 else |
|
330 { |
|
331 iGlobalNoteId = glbNote->ShowNoteL( globalNoteParam->Type(), noteText ); |
|
332 } |
|
333 CleanupStack::PopAndDestroy( glbNote ); |
|
334 } |
|
335 } |
|
336 |
|
337 // --------------------------------------------------------- |
|
338 // CPhoneNoteController::CreateProgressNoteL |
|
339 // --------------------------------------------------------- |
|
340 // |
|
341 void CPhoneNoteController::CreateProgressNoteL( |
|
342 TPhoneCommandParam* aCommandParam ) |
|
343 { |
|
344 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateProgressNoteL"); |
|
345 TPhoneCmdParamProgressNote* noteParam = static_cast< |
|
346 TPhoneCmdParamProgressNote*>(aCommandParam ); |
|
347 |
|
348 TInt resourceId = noteParam->ResourceId(); |
|
349 iStartTime.UniversalTime(); |
|
350 |
|
351 TTimeIntervalMicroSeconds32 waitTime = |
|
352 noteParam->WaitTime(); |
|
353 |
|
354 if( !iProgressUpdateTimer ) |
|
355 { |
|
356 iProgressUpdateTimer = CPhoneTimer::NewL(); |
|
357 } |
|
358 |
|
359 iWaitTime = waitTime.Int(); |
|
360 |
|
361 TInt final = waitTime.Int(); |
|
362 iInterval = final / KPhoneIntervalDivider; |
|
363 iProgressBarCount = 0; |
|
364 |
|
365 iProgressUpdateTimer->After( iInterval, this ); |
|
366 |
|
367 CPhoneProgressNote* dlg = |
|
368 new ( ELeave ) CPhoneProgressNote( |
|
369 ( reinterpret_cast< CEikDialog** >( &iProgressNote )), |
|
370 static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() ) ); |
|
371 |
|
372 iProgressNote = dlg; |
|
373 dlg->PrepareLC( resourceId ); |
|
374 |
|
375 CEikProgressInfo* info = dlg->GetProgressInfoL(); |
|
376 |
|
377 if ( info ) |
|
378 { |
|
379 info->SetFinalValue( KPhoneIntervalDivider ); |
|
380 } |
|
381 |
|
382 dlg->RunLD(); |
|
383 } |
|
384 |
|
385 // --------------------------------------------------------- |
|
386 // CPhoneNoteController::DestroyProgressBar |
|
387 // --------------------------------------------------------- |
|
388 // |
|
389 void CPhoneNoteController::DestroyProgressNote() |
|
390 { |
|
391 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyProgressNote"); |
|
392 |
|
393 // Delete the progress note if it exists |
|
394 if ( iProgressNote ) |
|
395 { |
|
396 delete iProgressNote; |
|
397 iProgressNote = NULL; |
|
398 } |
|
399 if ( iProgressUpdateTimer ) |
|
400 { |
|
401 if( iProgressUpdateTimer->IsActive() ) |
|
402 { |
|
403 iProgressUpdateTimer->CancelTimer(); |
|
404 } |
|
405 |
|
406 delete iProgressUpdateTimer; |
|
407 iProgressUpdateTimer = NULL; |
|
408 } |
|
409 iProgressBarCount = 0; |
|
410 } |
|
411 |
|
412 // --------------------------------------------------------- |
|
413 // CPhoneNoteController::HandleTimeOutL |
|
414 // --------------------------------------------------------- |
|
415 // |
|
416 void CPhoneNoteController::HandleTimeOutL() |
|
417 { |
|
418 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::HandleTimeOutL"); |
|
419 |
|
420 if ( iProgressNote ) |
|
421 { |
|
422 TTime current; |
|
423 current.UniversalTime(); |
|
424 |
|
425 CEikProgressInfo* info = iProgressNote->GetProgressInfoL(); |
|
426 |
|
427 if ( info ) |
|
428 { |
|
429 TTime current; |
|
430 current.UniversalTime(); |
|
431 TInt64 timeDelta = |
|
432 current.MicroSecondsFrom( iStartTime ).Int64(); |
|
433 |
|
434 iProgressBarCount = ( timeDelta / iInterval )+1 ; |
|
435 if ( iProgressBarCount > KPhoneIntervalDivider ) |
|
436 { |
|
437 iProgressBarCount = KPhoneIntervalDivider; |
|
438 } |
|
439 info->SetAndDraw( iProgressBarCount ); |
|
440 } |
|
441 |
|
442 if ( !iProgressUpdateTimer->IsActive() ) |
|
443 { |
|
444 iProgressUpdateTimer->After( iInterval, this ); |
|
445 } |
|
446 } |
|
447 else |
|
448 { |
|
449 if( iProgressUpdateTimer->IsActive() ) |
|
450 { |
|
451 iProgressUpdateTimer->CancelTimer(); |
|
452 } |
|
453 |
|
454 delete iProgressUpdateTimer; |
|
455 iProgressUpdateTimer = NULL; |
|
456 iProgressBarCount = 0; |
|
457 } |
|
458 } |
|
459 |
|
460 // --------------------------------------------------------- |
|
461 // CPhoneNoteController::IsNoteVisible |
|
462 // --------------------------------------------------------- |
|
463 // |
|
464 void CPhoneNoteController::IsNoteVisible( TPhoneCommandParam* aCommandParam ) |
|
465 { |
|
466 __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::IsNoteVisible"); |
|
467 |
|
468 TPhoneCmdParamBoolean* booleanParam = |
|
469 static_cast<TPhoneCmdParamBoolean*>( aCommandParam ); |
|
470 |
|
471 if( iNote ) |
|
472 { |
|
473 if( iNote->IsVisible() ) |
|
474 { |
|
475 booleanParam->SetBoolean( ETrue ); |
|
476 } |
|
477 } |
|
478 else |
|
479 { |
|
480 booleanParam->SetBoolean( EFalse ); |
|
481 } |
|
482 } |
|
483 |
|
484 // --------------------------------------------------------- |
|
485 // CPhoneNoteController::IsProgressNoteVisible |
|
486 // --------------------------------------------------------- |
|
487 // |
|
488 void CPhoneNoteController::IsProgressNoteVisible( TPhoneCommandParam* aCommandParam ) |
|
489 { |
|
490 __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsProgressNoteVisible"); |
|
491 |
|
492 TPhoneCmdParamBoolean* booleanParam = |
|
493 static_cast<TPhoneCmdParamBoolean*>( aCommandParam ); |
|
494 |
|
495 if( iProgressNote ) |
|
496 { |
|
497 if( iProgressNote->IsVisible() ) |
|
498 { |
|
499 booleanParam->SetBoolean( ETrue ); |
|
500 } |
|
501 } |
|
502 else |
|
503 { |
|
504 booleanParam->SetBoolean( EFalse ); |
|
505 } |
|
506 } |
|
507 |
|
508 // --------------------------------------------------------- |
|
509 // CPhoneNoteController::IsNoteActive |
|
510 // --------------------------------------------------------- |
|
511 // |
|
512 void CPhoneNoteController::IsNoteActive( TPhoneCommandParam* aCommandParam ) |
|
513 { |
|
514 __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsNote"); |
|
515 |
|
516 TPhoneCmdParamBoolean* booleanParam = |
|
517 static_cast<TPhoneCmdParamBoolean*>( aCommandParam ); |
|
518 |
|
519 if( iProgressNote || iNote ) |
|
520 { |
|
521 booleanParam->SetBoolean( ETrue ); |
|
522 } |
|
523 else |
|
524 { |
|
525 booleanParam->SetBoolean( EFalse ); |
|
526 } |
|
527 } |
|
528 |
|
529 // --------------------------------------------------------- |
|
530 // CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent |
|
531 // --------------------------------------------------------- |
|
532 // |
|
533 void CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent( TPhoneCommandParam* aCommandParam ) |
|
534 { |
|
535 __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent"); |
|
536 |
|
537 TPhoneCmdParamBoolean* booleanParam = |
|
538 static_cast<TPhoneCmdParamBoolean*>( aCommandParam ); |
|
539 // check first that iNote is created. |
|
540 if( ( iNote ) && |
|
541 ( iNote->NoteType() == EPhoneNoteSecurity ) ) |
|
542 { |
|
543 booleanParam->SetBoolean( ETrue ); |
|
544 } |
|
545 else |
|
546 { |
|
547 booleanParam->SetBoolean( EFalse ); |
|
548 } |
|
549 } |
|
550 |
|
551 // --------------------------------------------------------- |
|
552 // CPhoneNoteController::UpdateNoteTextL |
|
553 // --------------------------------------------------------- |
|
554 // |
|
555 void CPhoneNoteController::UpdateNoteTextL( TPhoneCommandParam* aCommandParam ) |
|
556 { |
|
557 TPhoneCmdParamNote* noteParam = static_cast<TPhoneCmdParamNote*>( |
|
558 aCommandParam ); |
|
559 |
|
560 // Delete note text if exists |
|
561 if( iNoteText ) |
|
562 { |
|
563 delete iNoteText; |
|
564 iNoteText = NULL; |
|
565 } |
|
566 |
|
567 if ( iNote ) |
|
568 { |
|
569 // Override text if specified |
|
570 if ( noteParam->Text().Length() ) |
|
571 { |
|
572 if( !iNoteText ) |
|
573 { |
|
574 iNoteText = noteParam->Text().Alloc(); |
|
575 } |
|
576 iNote->SetTextL( *iNoteText ); |
|
577 } |
|
578 else if ( noteParam->TextResourceId() ) |
|
579 { |
|
580 // Get the text associated with the resource Id |
|
581 TBuf<KPhoneMaxCharsInNote> noteText; |
|
582 StringLoader::Load( |
|
583 noteText, |
|
584 noteParam->TextResourceId(), |
|
585 &iEikEnv ); |
|
586 |
|
587 iNote->SetTextL( noteText ); |
|
588 } |
|
589 } |
|
590 } |
|
591 |
|
592 // --------------------------------------------------------- |
|
593 // CPhoneNoteController::UpdateNoteSoftkeysL |
|
594 // --------------------------------------------------------- |
|
595 // |
|
596 void CPhoneNoteController::UpdateNoteSoftkeysL( TPhoneCommandParam* aCommandParam ) |
|
597 { |
|
598 |
|
599 TPhoneCmdParamInteger* integerParam = |
|
600 static_cast<TPhoneCmdParamInteger*>( aCommandParam ); |
|
601 |
|
602 if ( iNote ) |
|
603 { |
|
604 iNote->UpdateSoftkeysL( integerParam->Integer() ); |
|
605 } |
|
606 } |
|
607 |
|
608 // End of File |