diff -r 33a5d2bbf6fc -r 73a1feb507fb mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp --- a/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Thu Aug 19 09:51:39 2010 +0300 +++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -12,19 +12,18 @@ * Contributors: * * Description: Document model class for MUSSettingsPlugin. -* Version : %version: 18 % << Don't touch! Updated by Synergy at check-out. * */ + +#include "mmussipprofilehandler.h" #include "mussettingsmodel.h" -#include "muslogger.h" #include "mussipprofilemodel.h" -#include "mussettings.h" -#include "mmussipprofilehandler.h" +#include "muslogger.h" +#include +#include -#include -#include #include #include #include // GUI Resource @@ -40,10 +39,6 @@ // ======== MEMBER FUNCTIONS ======== -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// CMusSettingsModel* CMusSettingsModel::NewL( MMusSIPProfileHandler& aHandler ) { MUS_LOG( "[MUSSET] -> CMusSettingsModel::NewL()" ) @@ -57,10 +52,6 @@ } -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// CMusSettingsModel::CMusSettingsModel( MMusSIPProfileHandler& aHandler ) : iHandler( aHandler ) { @@ -68,82 +59,224 @@ } -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// void CMusSettingsModel::ConstructL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::ConstructL()" ) - InitializeProfileEnablerL(); - static_cast (&iHandler)->SetCMusSettingsModel(this); + iMSSettingsKeys = new (ELeave) MultimediaSharingSettings; MUS_LOG( "[MUSSET] <- CMusSettingsModel::ConstructL()" ) } -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// CMusSettingsModel::~CMusSettingsModel() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::~CMusSettingsModel()" ) + delete iMSSettingsKeys; + iMSSettingsKeys = NULL; MUS_LOG( "[MUSSET] <- CMusSettingsModel::~CMusSettingsModel()" ) } -// ----------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// Returns operator variant mode (normal or operator specific. This is used for +// runtime variation of Settings UI. +// ---------------------------------------------------------------------------- +// +MusSettingsKeys::TOperatorVariant CMusSettingsModel::VSSettingsOperatorVariantL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsOperatorVariantL()" ) + + MusSettingsKeys::TOperatorVariant operatorVariant = + iMSSettingsKeys->OperatorVariantSettingL(); + + MUS_LOG1( + "[MUSSET] <- CMusSettingsContainer::VSSettingsOperatorVariantL()( %d )", + operatorVariant ) + return operatorVariant; + } + + +// ---------------------------------------------------------------------------- +// Returns VS activation mode. +// ---------------------------------------------------------------------------- +// +MusSettingsKeys::TActivation CMusSettingsModel::VSSettingsActivationL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsActivationL()" ) + MusSettingsKeys::TActivation activationMode = + iMSSettingsKeys->ActivationSettingL(); + MUS_LOG1( + "[MUSSET] <- CMusSettingsContainer::VSSettingsActivationL()( %d )", + activationMode ) + return activationMode; + } + + +// ---------------------------------------------------------------------------- +// Returns SIP profile mode. +// ---------------------------------------------------------------------------- +// +TInt CMusSettingsModel::VSSettingsProfileL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsProfileL()" ) + TInt vsProfileMode = iMSSettingsKeys->SipProfileSettingL(); + MUS_LOG1( + "[MUSSET] <- CMusSettingsContainer::VSSettingsProfileL()( %d )", + vsProfileMode ) + return vsProfileMode; + } + + +// ---------------------------------------------------------------------------- +// Returns video autorecord mode. +// ---------------------------------------------------------------------------- +// +MusSettingsKeys::TAutoRecord CMusSettingsModel::VSSettingsAutoRecordL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsAutoRecordL()" ) + MusSettingsKeys::TAutoRecord vsAutoRecordMode = + iMSSettingsKeys->AutoRecordSettingL(); + MUS_LOG1( + "[MUSSET] <- CMusSettingsContainer::VSSettingsAutoRecordL()( %d )", + vsAutoRecordMode ) + return vsAutoRecordMode; + } + + +// ---------------------------------------------------------------------------- // Returns recorded video saving mode. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // TInt CMusSettingsModel::VSSettingsRecordedVideoSavingL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsRecordedVideoSavingL()" ) - TInt vsVideoLocationMode = MultimediaSharingSettings::VideoLocationSettingL(); + TInt vsVideoLocationMode = iMSSettingsKeys->VideoLocationSettingL(); MUS_LOG1( - "[MUSSET] <- CMusSettingsModel::VSSettingsRecordedVideoSavingL()( %d )", + "[MUSSET] <- CMusSettingsContainer::VSSettingsRecordedVideoSavingL()( %d )", vsVideoLocationMode ) return vsVideoLocationMode; } + // ---------------------------------------------------------------------------- -// Change Activation. +// Returns mode of audible note. +// ---------------------------------------------------------------------------- +// +MusSettingsKeys::TAuditoryNotification CMusSettingsModel::VSSettingsNoteL() + { + MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsNoteL()" ) + MusSettingsKeys::TAuditoryNotification vsNoteMode = + iMSSettingsKeys->AuditoryNotificationSettingL(); + MUS_LOG1( + "[MUSSET] <- CMusSettingsContainer::VSSettingsNoteL()( %d )", + vsNoteMode ) + return vsNoteMode; + } + + +// ---------------------------------------------------------------------------- +// Sets VS activation mode. +// ---------------------------------------------------------------------------- +// +void CMusSettingsModel::SetVSSettingsActivationL( + const MusSettingsKeys::TActivation aActivation) + { + MUS_LOG1( + "[MUSSET] -> CMusSettingsContainer::SetVSSettingsActivationL()( %d )", + aActivation ) + iMSSettingsKeys->SetActivationSettingL( aActivation ); + MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsActivationL()" ) + } + + +// ---------------------------------------------------------------------------- +// Sets SIP Profile mode. +// ---------------------------------------------------------------------------- +// +void CMusSettingsModel::SetVSSettingsProfileL( const TInt aProfile ) + { + MUS_LOG1( + "[MUSSET] -> CMusSettingsContainer::SetVSSettingsProfileL()( %d )", + aProfile ) + iMSSettingsKeys->SetSipProfileSettingL( aProfile ); + MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsProfileL()" ) + } + + +// ---------------------------------------------------------------------------- +// Sets video autorecord mode. // ---------------------------------------------------------------------------- // -void CMusSettingsModel::SetActivationItem( TBool aActive ) +void CMusSettingsModel::SetVSSettingsAutoRecordL( + const MusSettingsKeys::TAutoRecord aAutoRecord ) { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::SetActivationItem()" ) - MUS_LOG1( " Profile disabled? ( %d )", aActive ) - iProfileDisabled = aActive; - MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetActivationItem()" ) + MUS_LOG1( + "[MUSSET] -> CMusSettingsContainer::SetVSSettingsAutoRecordL()( %d )", + aAutoRecord ) + iMSSettingsKeys->SetAutoRecordSettingL( aAutoRecord ); + MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsAutoRecordL()" ) } + // ---------------------------------------------------------------------------- -// Get Activation item. +// Sets video location. +// ---------------------------------------------------------------------------- +// +void CMusSettingsModel::SetVSSettingsRecordedVideoSavingL( + const TInt aVideoLocation ) + { + MUS_LOG1( + "[MUSSET] -> CMusSettingsContainer::SetVSSettingsRecordedVideoSavingL()( %d )", + aVideoLocation ) + iMSSettingsKeys->SetVideoLocationSettingL( aVideoLocation ); + MUS_LOG( + "[MUSSET] <- CMusSettingsModel::SetVSSettingsRecordedVideoSavingL()" ) + } + + +// ---------------------------------------------------------------------------- +// Sets mode of auditory note. In operator specific variants auditory note also +// sets mode of popup notification setting. // ---------------------------------------------------------------------------- // -TBool CMusSettingsModel::ActivationItem() +void CMusSettingsModel::SetVSSettingsNoteL( + const MusSettingsKeys::TAuditoryNotification aValue ) { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::ActivationItem()" ) - MUS_LOG( "[MUSSET] <- CMusSettingsModel::ActivationItem()" ) - return iProfileDisabled; + MUS_LOG1( + "[MUSSET] -> CMusSettingsContainer::SetVSSettingsNoteL()( %d )", aValue ) + iMSSettingsKeys->SetAuditoryNotificationSettingL( aValue ); + + if ( VSSettingsOperatorVariantL() == MusSettingsKeys::EOperatorSpecific ) + { + if ( MusSettingsKeys::EAuditoryNotificationOn == aValue ) + { + iMSSettingsKeys->SetPopupNotificationSettingL( + MusSettingsKeys::EPopupNotificationOn ); + } + else + { + iMSSettingsKeys->SetPopupNotificationSettingL( + MusSettingsKeys::EPopupNotificationOff ); + } + } } + // ----------------------------------------------------------------------------- // Returns the list of profile names // ----------------------------------------------------------------------------- CDesCArray* CMusSettingsModel::ListOfProfileNamesL() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::ListOfProfileNamesL()" ) - RPointerArray& list = iHandler.ProfileArrayL(); + CArrayPtr* list = iHandler.ProfileArrayL(); CDesCArray* array = new ( ELeave ) CDesCArrayFlat( KSIPGranularity ); CleanupStack::PushL( array ); - for ( TInt i = 0; i < list.Count(); i++ ) + for ( TInt i = 0; i < list->Count(); i++ ) { const TDesC8* providerName = 0; User::LeaveIfError( - list[i]->GetParameter( KSIPProviderName, providerName ) ); + list->At(i)->GetParameter( KSIPProviderName, providerName ) ); HBufC8* decodedProvider = EscapeUtils::EscapeDecodeL( *providerName ); @@ -171,7 +304,7 @@ HBufC* CMusSettingsModel::ProfileNameL( TInt aId ) { MUS_LOG1( - "[MUSSET] -> CMusSettingsModel::ProfileNameL()( %d )", + "[MUSSET] -> CMusSettingsContainer::ProfileNameL()( %d )", aId ) const TDesC8* providerName = 0; TInt index = ProfileIndexByIdL( aId ); @@ -179,7 +312,7 @@ if ( index >= 0 ) { - if ( KErrNone == iHandler.ProfileArrayL()[index]-> + if ( KErrNone == iHandler.ProfileArrayL()->At( index )-> GetParameter( KSIPProviderName, providerName ) ) { HBufC8* decodedProvider = @@ -202,9 +335,9 @@ } -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // Returns default SIP profile index. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- TInt CMusSettingsModel::DefaultProfileIndex() { MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileIndex()" ) @@ -212,9 +345,9 @@ } -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // Returns id of default SIP profile. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- TUint32 CMusSettingsModel::DefaultProfileId() { MUS_LOG( "[MUSSET] <- CMusSettingsModel::DefaultProfileId()" ) @@ -222,9 +355,9 @@ } -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // Returns SIP profile index based on the Id of SIP profile. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- TInt CMusSettingsModel::ProfileIndexByIdL( TUint32 aId ) { MUS_LOG( "[MUSSET] <- CMusSettingsModel::ProfileIndexByIdL()" ) @@ -232,41 +365,19 @@ } -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // Returns SIP profile Id based on the index of SIP profile. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- TUint32 CMusSettingsModel::ProfileIdByIndex( TUint aIndex ) { MUS_LOG( "[MUSSET] <- CMusSettingsModel::ProfileIdByIndex()" ) return iHandler.ProfileIdByIndex( aIndex ); } -// ----------------------------------------------------------------------------- -// Initialize SIP profile enabler data. -// ----------------------------------------------------------------------------- -void CMusSettingsModel::InitializeProfileEnablerL() - { - MUS_LOG( "[MUSSET] -> CMusSettingsModel::InitializeProfileEnabler()" ) - if ( MultimediaSharingSettings::OperatorVariantSettingL() == - MusSettingsKeys::EOperatorSpecific ) - { - TBool enabled(EFalse); - - CMusSIPProfileModel& handler = - static_cast( iHandler ); - TRAPD( error, enabled = handler.ProfileEnabledL()); - enabled = error != KErrNone ? EFalse : enabled; - MUS_LOG2("SIP registration service( %d ), error( %d )", enabled, error ) - //profile enabled - activation disabled = false - //profile disabled - activation disabled = true - SetActivationItem( !enabled ); - } - MUS_LOG( "[MUSSET] <- CMusSettingsModel::InitializeProfileEnabler()" ) - } -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // Returns memory selction dialog pointer. -// ----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- CAknMemorySelectionDialogMultiDrive* CMusSettingsModel::MemorySelectionDialogLC() { MUS_LOG( "[MUSSET] -> CMusSettingsModel::MemorySelectionDialogLC()" )