mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp
branchRCL_3
changeset 13 a184f3d659e6
parent 2 b31261fd4e04
child 31 33a5d2bbf6fc
equal deleted inserted replaced
11:ff8a573c0e2e 13:a184f3d659e6
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:  Container for MUSSettingsPlugin.
    14 * Description:  Container for MUSSettingsPlugin.
    15 *  Version     : %version: 20 % << Don't touch! Updated by Synergy at check-out.
    15 *  Version     : %version: 21 % << Don't touch! Updated by Synergy at check-out.
    16 *
    16 *
    17 */
    17 */
    18 
    18 
    19 
    19 
    20 
    20 
    21 #include    "mussettingscontainer.h"
    21 #include "mussettingscontainer.h"
    22 #include    "mussettingsplugin.h"
    22 #include "mussettingsplugin.h"
    23 #include    "mussettingsmodel.h"
    23 #include "mussettingsmodel.h"
    24 #include    "gslistbox.h"
    24 #include "gslistbox.h"
    25 #include    "mussettingsplugin.hrh"
    25 #include "mussettingsplugin.hrh"
    26 #include    <mussettingsuirsc.rsg>
    26 #include <mussettingsuirsc.rsg>
    27 #include    <aknlists.h>
    27 #include <aknlists.h>
    28 #include    <akntitle.h>
    28 #include <akntitle.h>
    29 #include 	<aknnotewrappers.h>
    29 #include <aknnotewrappers.h>
    30 #include    <csxhelp/msh.hlp.hrh>
    30 #include <csxhelp/msh.hlp.hrh>
    31 #include    <gsfwviewuids.h>
    31 #include <gsfwviewuids.h>
    32 #include    <StringLoader.h>
    32 #include <StringLoader.h>
    33 #include 	<sipmanagedprofile.h>
    33 #include <sipmanagedprofile.h>
    34 #include 	<ctsydomainpskeys.h>
    34 #include <ctsydomainpskeys.h>
    35 #include	<e32property.h>
    35 #include <e32property.h>
    36 #include    <pathinfo.h>
    36 #include <pathinfo.h>
    37 
    37 
    38 
    38 
    39 #ifdef RD_MULTIPLE_DRIVE
    39 #ifdef RD_MULTIPLE_DRIVE
    40 #include    <CAknMemorySelectionDialogMultiDrive.h>
    40 #include    <CAknMemorySelectionDialogMultiDrive.h>
    41 
    41 
    84 
    84 
    85 CMusSettingsContainer::~CMusSettingsContainer()
    85 CMusSettingsContainer::~CMusSettingsContainer()
    86     {
    86     {
    87     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::~CMusSettingsContainer()" )
    87     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::~CMusSettingsContainer()" )
    88     delete iActivationItems;
    88     delete iActivationItems;
    89   	delete iProfileItems;
    89     delete iProfileItems;
    90   	delete iAutoRecordItems;
    90     delete iAutoRecordItems;
    91    	delete iListboxItemArray;
    91     delete iListboxItemArray;
    92     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" )
    92     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" )
    93     }
    93     }
    94 
    94 
    95 
    95 
    96 // -----------------------------------------------------------------------------
    96 // -----------------------------------------------------------------------------
   104     iListboxItemArray = CGSListBoxItemTextArray::NewL(
   104     iListboxItemArray = CGSListBoxItemTextArray::NewL(
   105         aResLbxId, *iListBox, *iCoeEnv );
   105         aResLbxId, *iListBox, *iCoeEnv );
   106     iListBox->Model()->SetItemTextArray( iListboxItemArray );
   106     iListBox->Model()->SetItemTextArray( iListboxItemArray );
   107     iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
   107     iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
   108 
   108 
   109 	// OCC: removed "Automatic in home network" choice
   109     // OCC: removed "Automatic in home network" choice
   110 	iActivationItems =
   110     iActivationItems =
   111 		iCoeEnv->ReadDesC16ArrayResourceL(
   111             iCoeEnv->ReadDesC16ArrayResourceL(
   112 		R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
   112             R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
   113 
   113 
   114     iAutoRecordItems = iCoeEnv->ReadDesC16ArrayResourceL(
   114     iAutoRecordItems = iCoeEnv->ReadDesC16ArrayResourceL(
   115                                     R_VS_VIDEO_SAVING_SETTING_PAGE_LBX );
   115                                     R_VS_VIDEO_SAVING_SETTING_PAGE_LBX );
   116 
   116 
   117     iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL(
   117     iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL(
   175             	}
   175             	}
   176             else
   176             else
   177             	{
   177             	{
   178             	MakeOperatorActivationItemL();
   178             	MakeOperatorActivationItemL();
   179             	}
   179             	}
   180 	        break;
   180             break;
   181         case KGSSettIdSIPProfile:
   181         case KGSSettIdSIPProfile:
   182             MakeSIPProfileItemL();
   182             MakeSIPProfileItemL();
   183             break;
   183             break;
   184         case KGSSettIdAutoRecord:
   184         case KGSSettIdAutoRecord:
   185             MakeAutoRecordItemL();
   185             MakeAutoRecordItemL();
   186         	break;
   186             break;
   187         case KGSSettIdRecordedVideoSaving:
   187         case KGSSettIdRecordedVideoSaving:
   188         	MakeRecordedVideoSavingItemL();
   188             MakeRecordedVideoSavingItemL();
   189         	break;
   189             break;
   190         case KGSSettIdNote:
   190         case KGSSettIdNote:
   191         	MakeNoteItemL();
   191             MakeNoteItemL();
   192         	break;
   192             break;
   193         default:
   193         default:
   194             break;
   194             break;
   195         }
   195         }
   196 
   196 
   197     iListBox->HandleItemAdditionL();
   197     iListBox->HandleItemAdditionL();
   202 // -----------------------------------------------------------------------------
   202 // -----------------------------------------------------------------------------
   203 // Generic method to add an item to listbox and make it visible.
   203 // Generic method to add an item to listbox and make it visible.
   204 // -----------------------------------------------------------------------------
   204 // -----------------------------------------------------------------------------
   205 //
   205 //
   206 void CMusSettingsContainer::AddItemL( TInt aId, const TPtrC aText )
   206 void CMusSettingsContainer::AddItemL( TInt aId, const TPtrC aText )
   207 	{
   207     {
   208 	MUS_LOG( "[MUSSET] -> CMusSettingsContainer::AddItemL()" )
   208     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::AddItemL()" )
   209     iListboxItemArray->SetDynamicTextL( aId, aText );
   209     iListboxItemArray->SetDynamicTextL( aId, aText );
   210     iListboxItemArray->SetItemVisibilityL( aId,
   210     iListboxItemArray->SetItemVisibilityL( aId,
   211     	CGSListBoxItemTextArray::EVisible );
   211     CGSListBoxItemTextArray::EVisible );
   212 	MUS_LOG( "[MUSSET] <- CMusSettingsContainer::AddItemL()" )
   212     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::AddItemL()" )
   213 	}
   213     }
   214 
   214 
   215 
   215 
   216 // -----------------------------------------------------------------------------
   216 // -----------------------------------------------------------------------------
   217 // Adds activation setting item to listbox.
   217 // Adds activation setting item to listbox.
   218 // -----------------------------------------------------------------------------
   218 // -----------------------------------------------------------------------------
   229         // We make sure that if someone has written to CenRep value bigger
   229         // We make sure that if someone has written to CenRep value bigger
   230         // than 1 (which after OCC changes means 'Off') we treat it as 'Off'.
   230         // than 1 (which after OCC changes means 'Off') we treat it as 'Off'.
   231         activation = MusSettingsKeys::EActiveInHomeNetworks;
   231         activation = MusSettingsKeys::EActiveInHomeNetworks;
   232         }
   232         }
   233     
   233     
   234    	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ activation ] );
   234     AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ activation ] );
   235 
   235 
   236     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeActivationItemL()" )
   236     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeActivationItemL()" )
   237     }
   237     }
   238 
   238 
   239 
   239 
   242 // -----------------------------------------------------------------------------
   242 // -----------------------------------------------------------------------------
   243 //
   243 //
   244 void CMusSettingsContainer::MakeOperatorActivationItemL()
   244 void CMusSettingsContainer::MakeOperatorActivationItemL()
   245     {
   245     {
   246     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeOperatorActivationItemL()" )
   246     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeOperatorActivationItemL()" )
   247     MUS_LOG1( "Activation item( %d )",
   247             
   248             iModel.ActivationItem() )
   248     //sync with real value, if op specifig
   249 	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iModel.ActivationItem() ] );
   249     iModel.InitializeProfileEnablerL();
       
   250     
       
   251     MUS_LOG1( "Activation item=%d (0=VS enabled, 1=VS disabled)", iModel.ActivationItem() )
       
   252     AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iModel.ActivationItem() ] );
   250 
   253 
   251     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeOperatorActivationItemL()" )
   254     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeOperatorActivationItemL()" )
   252     }
   255     }
   253 
   256 
   254 
   257 
   264 
   267 
   265     TInt profile = MultimediaSharingSettings::SipProfileSettingL();
   268     TInt profile = MultimediaSharingSettings::SipProfileSettingL();
   266 
   269 
   267     if ( profile != KDefaultSipProfile && profile != KNoSipProfileSelected )
   270     if ( profile != KDefaultSipProfile && profile != KNoSipProfileSelected )
   268     	{
   271     	{
   269     	// profile id defined, get profile name
   272         // profile id defined, get profile name
   270 		HBufC* name = iModel.ProfileNameL( profile );
   273         HBufC* name = iModel.ProfileNameL( profile );
   271 
   274 
   272 		if ( name )
   275         if ( name )
   273 			{
   276             {
   274 			CleanupStack::PushL( name );
   277             CleanupStack::PushL( name );
   275 			AddItemL( KGSSettIdSIPProfile, *name );
   278             AddItemL( KGSSettIdSIPProfile, *name );
   276 			CleanupStack::PopAndDestroy( name );
   279             CleanupStack::PopAndDestroy( name );
   277     		}
   280             }
   278     	else
   281     	else
   279     		{
   282             {
   280     		// show profile value not selected
   283             // show profile value not selected
   281     		AddItemL( KGSSettIdSIPProfile,
   284             AddItemL( KGSSettIdSIPProfile,
   282     			( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
   285                     ( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
   283 			}
   286                     }
   284 		}
   287             }
   285     else if ( profile == KNoSipProfileSelected )
   288     else if ( profile == KNoSipProfileSelected )
   286     	{
   289     	{
   287     	AddItemL( KGSSettIdSIPProfile,
   290     	AddItemL( KGSSettIdSIPProfile,
   288     		( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
   291     		( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
   289 		}
   292         }
   290     else
   293     else
   291     	{
   294     	{
   292 	    AddItemL(
   295         AddItemL(
   293 	    	KGSSettIdSIPProfile,
   296             KGSSettIdSIPProfile,
   294 	    	( *iProfileItems )[ CMusSettingsModel::KVsSipProfileDefault ] );
   297             ( *iProfileItems )[ CMusSettingsModel::KVsSipProfileDefault ] );
   295 		}
   298             }
   296 
   299 
   297     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeSIPProfileItemL()" )
   300     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeSIPProfileItemL()" )
   298     }
   301     }
   299 
   302 
   300 
   303 
   377     MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", 
   380     MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", 
   378               auditoryNotification )
   381               auditoryNotification )
   379 
   382 
   380     // If unset, use and set default value
   383     // If unset, use and set default value
   381     if ( auditoryNotification < 0 || auditoryNotification > 1 )
   384     if ( auditoryNotification < 0 || auditoryNotification > 1 )
   382 	    {
   385         {
   383         auditoryNotification = MusSettingsKeys::EAuditoryNotificationOff;
   386         auditoryNotification = MusSettingsKeys::EAuditoryNotificationOff;
   384         MultimediaSharingSettings::SetAuditoryNotificationSettingL(
   387         MultimediaSharingSettings::SetAuditoryNotificationSettingL(
   385                                     MusSettingsKeys::EAuditoryNotificationOff );
   388                                     MusSettingsKeys::EAuditoryNotificationOff );
   386 	    }
   389         }
   387 
   390 
   388 	AddItemL( KGSSettIdNote, ( *iActivationItems )[ auditoryNotification ] );
   391     AddItemL( KGSSettIdNote, ( *iActivationItems )[ auditoryNotification ] );
   389 	
   392 	
   390     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
   393     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
   391     }
   394     }
   392 
   395 
   393 
   396 
   422 //
   425 //
   423 void CMusSettingsContainer::ShowNewProfileActiveAfterCallL()
   426 void CMusSettingsContainer::ShowNewProfileActiveAfterCallL()
   424     {
   427     {
   425     MUS_LOG(
   428     MUS_LOG(
   426     	"[MUSSET] -> CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
   429     	"[MUSSET] -> CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
   427 	TPSCTsyCallState callState;
   430     TPSCTsyCallState callState;
   428 	User::LeaveIfError( RProperty::Get( KPSUidCtsyCallInformation,
   431     User::LeaveIfError( RProperty::Get( KPSUidCtsyCallInformation,
   429 			KCTsyCallState,
   432                     KCTsyCallState,
   430 			(TInt&)callState) );
   433                     (TInt&)callState) );
   431 	if ( callState == EPSCTsyCallStateAlerting ||
   434     
   432 		callState ==  EPSCTsyCallStateRinging ||
   435     if ( callState == EPSCTsyCallStateAlerting ||
   433 		callState ==  EPSCTsyCallStateDialling ||
   436          callState ==  EPSCTsyCallStateRinging ||
   434 		callState ==  EPSCTsyCallStateAnswering ||
   437          callState ==  EPSCTsyCallStateDialling ||
   435 		callState ==  EPSCTsyCallStateDisconnecting ||
   438          callState ==  EPSCTsyCallStateAnswering ||
   436 		callState ==  EPSCTsyCallStateConnected ||
   439          callState ==  EPSCTsyCallStateDisconnecting ||
   437 		callState ==  EPSCTsyCallStateHold)
   440          callState ==  EPSCTsyCallStateConnected ||
   438 		{
   441          callState ==  EPSCTsyCallStateHold)
   439 		HBufC* infoTxt = StringLoader::LoadLC( R_QTN_MSH_SET_PROFILE_NOTE );
   442         {
   440 	    CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
   443         HBufC* infoTxt = StringLoader::LoadLC( R_QTN_MSH_SET_PROFILE_NOTE );
   441 	    note->ExecuteLD( infoTxt->Des() );
   444         CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
   442 	    CleanupStack::PopAndDestroy( infoTxt );
   445         note->ExecuteLD( infoTxt->Des() );
   443 	    MUS_LOG(
   446         CleanupStack::PopAndDestroy( infoTxt );
   444 	    	"[MUSSET] <- CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
   447         }
   445 		}
   448     
       
   449     MUS_LOG(
       
   450         "[MUSSET] <- CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
   446     }
   451     }
   447 
   452 
   448 // -----------------------------------------------------------------------------
   453 // -----------------------------------------------------------------------------
   449 // void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
   454 // void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
   450 // Some items are unwanted by operators.Hide those items from listbox item
   455 // Some items are unwanted by operators.Hide those items from listbox item
   453 void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
   458 void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
   454     {
   459     {
   455     MUS_LOG1("[MUSSET] -> CMusSettingsContainer::HideItemsL() %d",aItemIndex )    
   460     MUS_LOG1("[MUSSET] -> CMusSettingsContainer::HideItemsL() %d",aItemIndex )    
   456     iListboxItemArray->SetItemVisibilityL( aItemIndex,
   461     iListboxItemArray->SetItemVisibilityL( aItemIndex,
   457             	CGSListBoxItemTextArray::EInvisible );
   462             	CGSListBoxItemTextArray::EInvisible );
   458 	MUS_LOG("[MUSSET] <- CMusSettingsContainer::HideItemsL()" )	
   463     MUS_LOG("[MUSSET] <- CMusSettingsContainer::HideItemsL()" )	
   459     }
   464     }
       
   465