15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 // INCLUDE FILES |
19 // INCLUDE FILES |
20 #include <psui.rsg> |
20 #include <Psui.rsg> |
21 #include <aknlists.h> |
21 #include <aknlists.h> |
22 #include <psuicontainer.h> |
22 #include <PsuiContainer.h> |
23 #include <StringLoader.h> |
23 #include <StringLoader.h> |
24 #include <exterror.h> |
24 #include <exterror.h> |
25 #include <gsmerror.h> |
25 #include <gsmerror.h> |
26 #include <mmlist.h> |
26 #include <mmlist.h> |
27 #include <featmgr.h> |
27 #include <featmgr.h> |
28 #include <NumberGrouping.h> |
28 #include <NumberGrouping.h> |
29 #include <cservicerequest.h> |
29 #include <cservicerequest.h> |
30 #include <e32property.h> |
30 #include <e32property.h> |
31 #include <BTSapDomainPSKeys.h> |
31 #include <BTSapDomainPSKeys.h> |
32 |
32 |
33 #include "psuiinternalconstants.h" |
33 #include "PsuiInternalConstants.h" |
34 #include "psuinotemaster.h" |
34 #include "PsuiNoteMaster.h" |
35 #include "psuireqobserver.h" |
35 #include "PsuiReqObserver.h" |
36 #include "psuiquerydialog.h" |
36 #include "PsuiQueryDialog.h" |
37 |
37 |
38 #include <centralrepository.h> |
38 #include <centralrepository.h> |
39 #include <NumberGroupingCRKeys.h> |
39 #include <NumberGroupingCRKeys.h> |
40 // MACROS |
40 // MACROS |
41 |
41 |
42 #ifdef _DEBUG |
42 #ifdef _DEBUG |
43 |
43 |
44 #define RDEBUG(X) RDebug::Print(X); |
44 #define RDEBUG(X) RDebug::Print(X); |
128 // --------------------------------------------------------------------------- |
128 // --------------------------------------------------------------------------- |
129 void CPsuiNoteMaster::ShowNoteL( TPsuiNoteTypes aType, TInt aResourceID ) |
129 void CPsuiNoteMaster::ShowNoteL( TPsuiNoteTypes aType, TInt aResourceID ) |
130 { |
130 { |
131 if ( aResourceID < 0 ) |
131 if ( aResourceID < 0 ) |
132 { |
132 { |
133 if ( aType == EPsuiWaitingNote ) |
133 if ( aType == EPsuiWaitingNote ) |
134 { |
134 { |
135 iRequesting = ETrue; |
135 iRequesting = ETrue; |
136 iServiceRequest->StartL( KNullDesC ); |
136 iServiceRequest->StartL( KNullDesC ); |
137 } |
137 } |
138 return; |
138 return; |
139 } |
139 } |
140 |
140 |
141 HBufC* string = StringLoader::LoadLC( aResourceID ); |
141 HBufC* string = StringLoader::LoadLC( aResourceID ); |
142 |
142 |
293 { |
293 { |
294 User::Leave( KErrArgument ); |
294 User::Leave( KErrArgument ); |
295 } |
295 } |
296 |
296 |
297 // Get base text and set phone number into it. |
297 // Get base text and set phone number into it. |
298 // Note that two characters are reserved for LRM markers. |
298 // Note that two characters are reserved for LRM markers. |
299 TBuf<KPSUIDetailsText+2> string; |
299 TBuf<KPSUIDetailsText+2> string; |
300 StringLoader::Load( string, R_TO_NUMBER ); |
300 StringLoader::Load( string, R_TO_NUMBER ); |
301 string.Append( KPSUIListDivider ); |
301 string.Append( KPSUIListDivider ); |
302 |
302 |
303 TInt pngErr( KErrNone ); |
303 TInt pngErr( KErrNone ); |
304 TInt pngSupported( 0 ); |
304 TInt pngSupported( 0 ); |
305 CRepository* repository = CRepository::NewL( KCRUidNumberGrouping ); |
305 CRepository* repository = CRepository::NewL( KCRUidNumberGrouping ); |
306 pngErr = repository->Get( KNumberGrouping, pngSupported ); |
306 pngErr = repository->Get( KNumberGrouping, pngSupported ); |
307 delete repository; |
307 delete repository; |
308 |
308 |
309 if ( KErrNone == pngErr && pngSupported != 0 ) |
309 if ( KErrNone == pngErr && pngSupported != 0 ) |
310 { |
310 { |
311 CPNGNumberGrouping* numberGrouping = |
311 CPNGNumberGrouping* numberGrouping = |
312 CPNGNumberGrouping::NewL( KPSUIMaxPSUIItemLength ); |
312 CPNGNumberGrouping::NewL( KPSUIMaxPSUIItemLength ); |
313 CleanupStack::PushL( numberGrouping ); |
313 CleanupStack::PushL( numberGrouping ); |
314 |
314 |
315 //Check that number fits (with or w/o number formatting). |
315 //Check that number fits (with or w/o number formatting). |
316 if ( (aSetting.iNumber.iTelNumber.Length() + 2) <= numberGrouping->MaxDisplayLength() ) |
316 if ( (aSetting.iNumber.iTelNumber.Length() + 2) <= numberGrouping->MaxDisplayLength() ) |
317 { |
317 { |
318 numberGrouping->Set( aSetting.iNumber.iTelNumber ); |
318 numberGrouping->Set( aSetting.iNumber.iTelNumber ); |
319 AppendCFNumber( string, numberGrouping->FormattedNumber() ); |
319 AppendCFNumber( string, numberGrouping->FormattedNumber() ); |
320 } |
320 } |
352 } |
352 } |
353 |
353 |
354 iQuery = CPsuiQueryDialog::NewL( CAknQueryDialog::ENoTone ); |
354 iQuery = CPsuiQueryDialog::NewL( CAknQueryDialog::ENoTone ); |
355 TInt command( iQuery->ExecuteLD( R_CONFIRMATION_QUERY, string ) ); |
355 TInt command( iQuery->ExecuteLD( R_CONFIRMATION_QUERY, string ) ); |
356 if( command == EKeyNo ) |
356 if( command == EKeyNo ) |
357 { |
357 { |
358 // End -key was pressed so don't relaunch previous query |
358 // End -key was pressed so don't relaunch previous query |
359 aCFType = EPsuiNoCF; |
359 aCFType = EPsuiNoCF; |
360 } |
360 } |
361 iQuery = NULL; |
361 iQuery = NULL; |
362 } |
362 } |
363 |
363 |
364 // --------------------------------------------------------------------------- |
364 // --------------------------------------------------------------------------- |
365 // Shows request cancelled note. |
365 // Shows request cancelled note. |
568 } |
568 } |
569 // --------------------------------------------------------------------------- |
569 // --------------------------------------------------------------------------- |
570 // CPsuiNoteMaster::AppendCFNumber |
570 // CPsuiNoteMaster::AppendCFNumber |
571 // --------------------------------------------------------------------------- |
571 // --------------------------------------------------------------------------- |
572 void CPsuiNoteMaster::AppendCFNumber( TDes& aString, const TDesC& aNumber ) |
572 void CPsuiNoteMaster::AppendCFNumber( TDes& aString, const TDesC& aNumber ) |
573 { |
573 { |
574 aString.Append( KLRMarker ); |
574 aString.Append( KLRMarker ); |
575 aString.Append( aNumber ); |
575 aString.Append( aNumber ); |
576 aString.Append( KLRMarker ); |
576 aString.Append( KLRMarker ); |
577 } |
577 } |
578 // --------------------------------------------------------------------------- |
578 // --------------------------------------------------------------------------- |
579 // CPsuiNoteMaster::SetBsGroupLC |
579 // CPsuiNoteMaster::SetBsGroupLC |
580 // --------------------------------------------------------------------------- |
580 // --------------------------------------------------------------------------- |
581 HBufC* CPsuiNoteMaster::SetBsGroupLC( TUint8 aBscCode ) |
581 HBufC* CPsuiNoteMaster::SetBsGroupLC( TUint8 aBscCode ) |
582 { |
582 { |