mmshplugins/mmshsettingsuiplugin/src/mussettingsplugin.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmshplugins/mmshsettingsuiplugin/src/mussettingsplugin.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,789 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MUSSettingsPlugin implementation.
-*  Version     : %version: 34 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-
-#include    "mussettingsplugin.h"
-#include    "mussettingscontainer.h"
-#include    "mussettingsmodel.h"
-#include    "mussettingsplugin.hrh"
-#include    "mussipprofilemodel.h"
-#include    "muslogger.h"
-#include    "musresourcefinderutil.h"
-#include    "mussesseioninformationapi.h"
-#include    <gscommon.hrh>
-#include    <mussettingsplugin.mbg> // Icons
-#include    <mussettingsuirsc.rsg> // GUI Resource
-#include    <gsprivatepluginproviderids.h>
-#include    <aknnotewrappers.h>
-#include    <aknradiobuttonsettingpage.h>
-#include    <aknpopupsettingpage.h>
-#include    <akntextsettingpage.h>
-#include    <aknViewAppUi.h>
-#include    <AknGlobalNote.h>
-#include    <featmgr.h>
-#include    <StringLoader.h>
-#include    <hlplch.h> // HlpLauncher
-#include    <pathinfo.h>
-
-#include    <e32property.h>
-
-#include    <CAknMemorySelectionDialogMultiDrive.h>
-#include    <AknCommonDialogsDynMem.h>
-
-#include    <CAknMemorySelectionDialog.h>
-
-// #include    <CAknMemorySelectionDialog.h>
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusSettingsPlugin::CMusSettingsPlugin()
-    : iResources( *iCoeEnv )
-    {
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::CMusSettingsPlugin()" )
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-CMusSettingsPlugin::~CMusSettingsPlugin()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::~CMusSettingsPlugin()" )
-    FeatureManager::UnInitializeLib();	
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-        
-    CloseResourceFile();
-
-    delete iModel;
-    iModel = NULL;
-	delete iHandler;
-	iHandler = NULL;
-    delete iDiskNotifyHandler;
-    delete iCaption;
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::~CMusSettingsPlugin()" )
-    }
-
-// -----------------------------------------------------------------------------
-// 
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ConstructL()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::ConstructL()" )
-    FeatureManager::InitializeLibL();
-  
-    iResourceFileOpen = false;
-    OpenResourceFileL();
-
-    MUS_LOG( "[MUSSET] Constructing the Base " )
-    BaseConstructL( R_GS_VS_VIEW );
-    iHandler = CMusSIPProfileModel::NewL();
-    MUS_LOG( "[MUSSET]    CMusSettingsPlugin::ConstructL() 2" )
-    iModel = CMusSettingsModel::NewL( *iHandler );
-    iDiskNotifyHandler = CDiskNotifyHandler::NewL( *this, 
-                                            iEikonEnv->FsSession() );
-    User::LeaveIfError( iDiskNotifyHandler->NotifyDisk() ); // Subscribe disk notifications
-
-    iCaption = StringLoader::LoadL( R_GS_VS_PLUGIN_CAPTION );
-    CloseResourceFile();
-
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::ConstructL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// 
-//
-// -----------------------------------------------------------------------------
-//
-CMusSettingsPlugin* CMusSettingsPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::NewL()" )
-    CMusSettingsPlugin* self = new( ELeave ) CMusSettingsPlugin();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::NewL()" )
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// From class CAknView.
-// Returns UID of *this* settings plugin.
-// -----------------------------------------------------------------------------
-//
-TUid CMusSettingsPlugin::Id() const
-    {
-    MUS_LOG1( "[MUSSET] <- CMusSettingsPlugin::Id()( %d )",
-              KGSVSSettingsPluginUID.iUid )
-    return KGSVSSettingsPluginUID;
-    }
-
-// -----------------------------------------------------------------------------
-// Hides non-virtual member from base class CGSBaseView.
-// Handles a change in client rectangle size.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::HandleClientRectChange()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::HandleClientRectChange()" )
-    if ( iContainer && iContainer->iListBox )
-        {
-        iContainer->SetRect( ClientRect() );
-        }
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::HandleClientRectChange()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CAknView.
-// Called by framework when *this* control is to be activated/focused.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::DoActivateL(
-    const TVwsViewId& aPrevViewId,
-    TUid aCustomMessageId,
-    const TDesC8& aCustomMessage )
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::DoActivateL()" )
-    OpenResourceFileL();
-    CGSBaseView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::DoActivateL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CAknView.
-// Called by framework when *this* control is to be deactivated.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::DoDeactivate()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::DoDeactivate()" )
-    CGSBaseView::DoDeactivate();
-    CloseResourceFile();
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::DoDeactivate()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CAknView.
-// Handles a user selected menu command.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::HandleCommandL( TInt aCommand )
-    {
-    MUS_LOG1( "[MUSSET] -> CMusSettingsPlugin::HandleCommandL()( %d )",
-              aCommand )
-    switch ( aCommand )
-        {
-        case EGSMSKCmdAppChange:
-//        case EGSCmdAppChange:
-            {
-       		HandleListBoxSelectionL();
-            break;
-            }
-
-        case EAknSoftkeyBack:
-            {
-            AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid );
-            break;
-            }
-
-        case EAknCmdHelp:
-            {
-            if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                HlpLauncher::LaunchHelpApplicationL(
-                    iEikonEnv->WsSession(), AppUi()->AppHelpContextL());
-                }
-            break;
-            }
-
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::HandleCommandL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSPluginInterface.
-// Gets caption text of *this* plugin.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::GetCaptionL()" )
-    if ( iCaption && iCaption->Length() <= aCaption.MaxLength() )
-		{
-    	aCaption.Copy( *iCaption );
-		}
-    
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::GetCaptionL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSPluginInterface.
-// Returns provider category of *this* plugin.
-// -----------------------------------------------------------------------------
-//
-TInt CMusSettingsPlugin::PluginProviderCategory() const
-    {
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::PluginProviderCategory()" )
-    return KGSPluginProviderInternal;
-    }
-
-// -----------------------------------------------------------------------------
-// From class MEikMenuObserver.
-// Called by framework before creating menus
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::DynInitMenuPaneL( TInt aResourceId,
-                                              CEikMenuPane* aMenuPane )
-    {
-    // Delete Help item if feature is not supported
-    if( aResourceId == R_VS_MENU_ITEM_EXIT ) 
-        {
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            aMenuPane->DeleteMenuItem( EAknCmdHelp );
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// From MDiskNotifyHandlerCallback
-// Called by framework When disk status changed
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::HandleNotifyDisk( TInt /*aError*/, 
-                                           const TDiskEvent& /*aEvent*/ )
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::HandleNotifyDisk()" )
-    
-    // Since the plugin is created immediately after opening GS but container
-    // will be created only after opening the VS view, this function may be
-    // called before the creation of container. In such a case we simply ignore
-    // the notification.
-    if ( Container() ) 
-        {
-        TRAP_IGNORE( 
-                Container()->UpdateListBoxL( KGSSettIdRecordedVideoSaving ) )
-        }
-        
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::HandleNotifyDisk()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSBaseView.
-// Called by GS framework to create a GS container for *this* plugin.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::NewContainerL()
-    {
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::NewContainerL()" )
-    iContainer = new( ELeave ) CMusSettingsContainer( *iModel );
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSBaseView.
-// Handles users "middle click" aka MSK on selected feature.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::HandleListBoxSelectionL()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::HandleListBoxSelectionL()" )
-    CMusSettingsContainer& container =
-        *static_cast<CMusSettingsContainer*>( iContainer );
-    const TInt currentItem = container.CurrentFeatureId();
-    MUS_LOG1( "[MUSSET]    Item selected: ", currentItem )
-
-    switch ( currentItem )
-        {
-        case KGSSettIdVSActivation:
-            {
-            SwitchOnOffValueL( KGSSettIdVSActivation );
-    		break;
-    	    }
-        case KGSSettIdSIPProfile:
-            {
-            ShowVSSettingsProfileSettingDialogL();
-            break;
-            }
-        case KGSSettIdAutoRecord:
-            {
-            SwitchOnOffValueL( KGSSettIdAutoRecord );
-        	break;
-            }
-        case KGSSettIdRecordedVideoSaving:
-            {
-        	ShowVSSettingsRecordedVideoSavingSettingDialogL();
-        	break;
-            }
-        case KGSSettIdNote:
-            {
-        	SwitchOnOffValueL( KGSSettIdNote );
-        	break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::HandleListBoxSelectionL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSBaseView.
-// Returns container class of *this* plugin. iContainer is always garanteed to
-// be of type CMusSettingsContainer*.
-// -----------------------------------------------------------------------------
-//
-CMusSettingsContainer* CMusSettingsPlugin::Container()
-    {
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::Container()" )
-    return static_cast<CMusSettingsContainer*>( iContainer );
-    }
-
-// -----------------------------------------------------------------------------
-// Shows SIP profile setting dialog (i.e. "use default profile" or "select
-// profile from list"). If select profile from list is selected, a list of
-// SIP profiles is provided for user to choose wanted SIP profile.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowVSSettingsProfileSettingDialogL()
-    {
-    MUS_LOG(
-    "[MUSSET] -> CMusSettingsPlugin::ShowVSSettingsProfileSettingDialogL()" )
-    TInt cenRepValue = MultimediaSharingSettings::SipProfileSettingL();
-    TInt profileMode = CMusSettingsModel::KVsSipProfileDefault;
-    if ( cenRepValue != CMusSettingsModel::KVsSipProfileDefault )
-    	{
-    	profileMode = CMusSettingsModel::KVsSipProfileSelect;
-    	}
-    TInt oldProfileMode( profileMode );
-
-    CDesCArrayFlat* items = iCoeEnv->ReadDesC16ArrayResourceL(
-        R_SIP_PROFILE_SETTING_PAGE_LBX);
-    CleanupStack::PushL( items );
-    items->Delete( CMusSettingsModel::KVsSipProfileSelectNone );
-
-    CAknRadioButtonSettingPage* dlg = new ( ELeave ) 
-        CAknRadioButtonSettingPage( R_VS_PROFILE_SETTING_PAGE,
-                                    profileMode,
-                                    items);
-
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-        {
-        if ( profileMode == CMusSettingsModel::KVsSipProfileDefault )
-        	{
-        	if ( oldProfileMode != profileMode )
-        		{
-        		MultimediaSharingSettings::SetSipProfileSettingL( 
-                                    CMusSettingsModel::KVsSipProfileDefault );
-        		Container()->ShowNewProfileActiveAfterCallL();
-        		Container()->UpdateListBoxL( KGSSettIdSIPProfile );
-        		}
-        	}
-        else
-        	{
-            ShowVSSettingsSelectSipProfileDialogL();
-			}
-        }
-    CleanupStack::PopAndDestroy( items );
-    MUS_LOG(
-    "[MUSSET] <- CMusSettingsPlugin::ShowVSSettingsProfileSettingDialogL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// Provides user a list of SIP profiles to select from. If no SIP profiles
-// exist an error note is displayed.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowVSSettingsSelectSipProfileDialogL()
-    {
-	// Get the array of the profile names, ownership changes
-    CDesCArray* array = iModel->ListOfProfileNamesL();
-	CleanupStack::PushL( array );
-
-	if ( array->Count() < 1 )
-		{
-		ShowNoProfilesNotificationL();
-		}
-	else
-		{
-    	TInt selectedIndex = iModel->ProfileIndexByIdL(
-                            MultimediaSharingSettings::SipProfileSettingL() );
-        TInt currentIndex ( selectedIndex );
-
-		if ( selectedIndex == KErrNotFound )
-			{
-			// first profile in the list
-			selectedIndex = CMusSettingsModel::KVsSipProfileDefault;
-			}
-
-		// Create and display the pop-up list
-		CAknRadioButtonSettingPage* defaultPopUp =
-			new ( ELeave ) CAknRadioButtonSettingPage(
-    			R_VS_SIP_PROFILE_LIST_VIEW_SELECT_SETTING_PAGE,
-    			selectedIndex,
-    			array );
-		if ( defaultPopUp->ExecuteLD(
-			CAknSettingPage::EUpdateWhenChanged ) )
-			{
-			if ( selectedIndex != currentIndex )
-        		{
-	        	// User has changed the selected profile, set new
-    	    	// setting to persistent storage
-    	    	TUint newValue = iModel->ProfileIdByIndex( selectedIndex );
-	    	    MultimediaSharingSettings::SetSipProfileSettingL( newValue );
-	    	    Container()->ShowNewProfileActiveAfterCallL();
-				Container()->UpdateListBoxL( KGSSettIdSIPProfile );
-    			}
-			}
-		}
-
-	CleanupStack::PopAndDestroy( array );  // array
-    }
-
-// -----------------------------------------------------------------------------
-// Provides a dialog for user to choose saving location for recorderded video.
-// (locations are naturally phone memory or memory card).
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowVSSettingsRecordedVideoSavingSettingDialogL()
-    {
-    MUS_LOG(
-    "[MUSSET] -> CMusSettingsPlugin::ShowVSSettingsRecordedVideoSavingSettingDialogL()" )
-    TDriveUnit phoneMemUnit( 
-                    TParsePtrC( PathInfo::PhoneMemoryRootPath() ).Drive() );
-    TDriveUnit mmcUnit( TParsePtrC( PathInfo::MemoryCardRootPath() ).Drive() );
-    TInt currentValue =	iModel->VSSettingsRecordedVideoSavingL();
-    
-    CAknMemorySelectionDialogMultiDrive* dlg = 
-                                    iModel->MemorySelectionDialogLC();   
-
-    TBool result( EFalse );
-    TDriveNumber driveNumber((TDriveNumber)currentValue);    
-    result = dlg->ExecuteL( driveNumber, NULL, NULL );
-
-    if ( result != CAknCommonDialogsBase::TReturnKey(
-                                        CAknCommonDialogsBase::ERightSoftkey) )
-        {
-        if ( /*( TInt )*/ driveNumber != currentValue )
-            {
-            MultimediaSharingSettings::SetVideoLocationSettingL( ( TInt ) driveNumber );
-            }
-        Container()->UpdateListBoxL( KGSSettIdRecordedVideoSaving );
-        }
-
-    CleanupStack::PopAndDestroy(dlg); 
-    MUS_LOG(
-    "[MUSSET] <- CMusSettingsPlugin::ShowVSSettingsRecordedVideoSavingSettingDialogL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// In standard variant provides user a "Capability auditory note" setting
-// dialog, and in operator variant provides user an "Alerts" setting dialog.
-// Note that in both variants the different dialogs toggle the same setting.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowVSSettingsNoteSettingDialogL()
-    {
-    MUS_LOG(
-    "[MUSSET] -> CMusSettingsPlugin::ShowVSSettingsNoteSettingDialogL()" )
-    MusSettingsKeys::TAuditoryNotification currentValue =
-                    MultimediaSharingSettings::AuditoryNotificationSettingL();
-    TInt intCurrentValue = static_cast<TInt>( currentValue );
-
-    CAknRadioButtonSettingPage* dlg;
-    CDesCArrayFlat* items;
-
-    if ( MultimediaSharingSettings::OperatorVariantSettingL() == 
-         MusSettingsKeys::EStandard )
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_VS_AUDIO_SETTING_PAGE_LBX );
-        CleanupStack::PushL( items );
-        dlg = new ( ELeave ) CAknRadioButtonSettingPage(
-            R_VS_AUDIO_SETTING_PAGE,
-            intCurrentValue,
-            items );
-        }
-    else
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_VS_NOTE_SETTING_PAGE_LBX );
-        CleanupStack::PushL( items );
-        dlg = new ( ELeave ) CAknRadioButtonSettingPage(
-            R_VS_NOTE_SETTING_PAGE,
-            intCurrentValue,
-            items );
-        }
-
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-        {
-        currentValue =
-                static_cast<MusSettingsKeys::TAuditoryNotification>( intCurrentValue );
-        MultimediaSharingSettings::SetAuditoryNotificationSettingL(
-                                                                currentValue );
-        Container()->UpdateListBoxL( KGSSettIdNote );
-        }
-
-    CleanupStack::PopAndDestroy( items );
-    MUS_LOG(
-    "[MUSSET] <- CMusSettingsPlugin::ShowVSSettingsNoteSettingDialogL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// Shows a notifications that no SIP profiles exists.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowNoProfilesNotificationL()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::ShowNoProfilesNotificationL()" )
-    HBufC* infoTxt = StringLoader::LoadLC( R_QTN_MSH_SET_PROFILE_EMPTY );
-    CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
-    note->ExecuteLD( infoTxt->Des() );
-    CleanupStack::PopAndDestroy( infoTxt );
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::ShowNoProfilesNotificationL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// Switches between two possible values from one to another (i.e. toggles a
-// setting on/off). Toggled setting is passed in aValue parameter.
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::SwitchOnOffValueL( TInt aValue )
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::SwitchOnOffValueL()" )
-            
-    switch( aValue )
-	    {
-	    case KGSSettIdVSActivation:
-	        {
-	        MusSettingsKeys::TOperatorVariant operatorVarValue =
-                        MultimediaSharingSettings::OperatorVariantSettingL();
-	            
-	        if ( operatorVarValue == MusSettingsKeys::EOperatorSpecific )
-                {
-	        
-                TInt aCallCount = 0;
-                RProperty::Get( NMusSessionInformationApi::KCategoryUid,
-                              NMusSessionInformationApi::KMusCallCount,
-                              aCallCount );
-                MUS_LOG1( "CallCount ( %d )", aCallCount)
-                if ( aCallCount == 0 )
-                    {
-                    TBool enabled = EFalse;
-                    TRAPD( error, enabled = iHandler->ProfileEnabledL( ));
-                    if ( error != KErrNone )
-                        {
-                        // Problems with re-reading profiles; use existing array
-                        MUS_LOG1("Error returned( %d )", error )
-                        }
-                    else
-                        {
-                        if( enabled )
-                            {
-                            TRAPD( error, iHandler->EnableProfileL() );
-                            if ( error != KErrNone )
-                                {
-                                // Problems with re-reading profiles; use existing array
-                                iModel->SetActivationItem( ETrue );
-                                }
-                            iModel->SetActivationItem( EFalse );
-                            }
-                        else
-                            {
-                            TRAP_IGNORE( iHandler->DisableProfileL() );
-                            iModel->SetActivationItem( ETrue );
-                            }
-                        }
-                    }
-                }
-            else
-                {
-                if ( MusSettingsKeys::EAlwaysActive ==
-                     MultimediaSharingSettings::ActivationSettingL() )
-                    {
-                    MUS_LOG( "[MUSSET]    Activation setting set off" )
-                    //MusSettingsKeys::ENever = 2 can not be used anymore
-                    //EActiveInHomeNetworks = 1 is used instead -> off
-                    MultimediaSharingSettings::SetActivationSettingL(
-                                    MusSettingsKeys::EActiveInHomeNetworks );
-                    }
-                else
-                    {
-                    MUS_LOG( "[MUSSET]    Activation setting set on" )
-                    MultimediaSharingSettings::SetActivationSettingL(
-                                        MusSettingsKeys::EAlwaysActive );
-                    }
-                }
-            break;
-            }
-	    case KGSSettIdAutoRecord:
-	        {
-	        if ( MusSettingsKeys::EAutoRecordOff ==
-                            MultimediaSharingSettings::AutoRecordSettingL() )
-		    	{
-                MultimediaSharingSettings::SetAutoRecordSettingL( 
-                                            MusSettingsKeys::EAutoRecordOn );
-		    	}
-			else
-				{
-                MultimediaSharingSettings::SetAutoRecordSettingL(
-                                            MusSettingsKeys::EAutoRecordOff );
-				}
-	        break;
-	        }
-		case KGSSettIdNote:
-			{
-		    if ( MusSettingsKeys::EAuditoryNotificationOn == 
-		            MultimediaSharingSettings::AuditoryNotificationSettingL() )
-		    	{
-		    	MultimediaSharingSettings::SetAuditoryNotificationSettingL(
-		    		MusSettingsKeys::EAuditoryNotificationOff );
-		    	}
-			else
-				{
-                MultimediaSharingSettings::SetAuditoryNotificationSettingL(
-					MusSettingsKeys::EAuditoryNotificationOn );
-				}
-			break;
-			}
-			
-	    default:
-	    	{
-	    	MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::SwitchOnOffValueL() - error unknown setting" )
-	    	User::Leave( KErrArgument );
-	    	}
-	    }
-	        
-	Container()->UpdateListBoxL( aValue );
-	        
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::SwitchOnOffValueL()" )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::ShowGlobalInformationDialogL( TInt aResourceId )
-    {
-    CAknGlobalNote* dlg = CAknGlobalNote::NewLC();
-    HBufC* dlgPrompt = StringLoader::LoadLC( aResourceId );
-    TRequestStatus status;
-    dlg->ShowNoteL( status, EAknGlobalInformationNote, *dlgPrompt  );
-    User::WaitForRequest( status );
-    CleanupStack::PopAndDestroy( dlgPrompt );
-    CleanupStack::PopAndDestroy( dlg );
-    }
-
-// -----------------------------------------------------------------------------
-// From class CGSPluginInterface.
-// Creates a new icon of desired type. Overrided to provide custom icons.
-// Ownership of the created icon is transferred to the caller.
-// -----------------------------------------------------------------------------
-//
-CGulIcon* CMusSettingsPlugin::CreateIconL( const TUid aIconType )
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::CreateIconL()" )
-
-    OpenResourceFileL();
-
-	CGulIcon* icon;
-
-    if( aIconType == KGSIconTypeLbxItem )
-        {
-        // Create a custom icon
-	    TParse* fp = new( ELeave ) TParse();
-	    CleanupStack::PushL( fp );
-	    HBufC* fileName = MusResourceFinderUtil::AppResourcePathL(
-	    		                        KGSVSSettingsPluginIconDirAndName );
-	    CleanupStack::PushL(fileName);
-	    fp->Set( *fileName , &KDC_BITMAP_DIR, NULL );
-	    CleanupStack::PopAndDestroy( fileName );
-
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnPropSetVideoSharing,
-        fp->FullName(),
-        EMbmMussettingspluginQgn_prop_set_video_sharing,
-        EMbmMussettingspluginQgn_prop_set_video_sharing_mask );
-
-        CleanupStack::PopAndDestroy( fp );
-        }
-    else
-        {
-        // Use default icon from base class CGSPluginInterface.
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::CreateIconL()" )
-
-    return icon;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::OpenResourceFileL()
-	{
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::OpenResourceFileL()" )
-        
-    if (!iResourceFileOpen) 
-        {
-        HBufC* fileName = MusResourceFinderUtil::ResourcePathL(
-        KVSSettingsResourceFileName );    
-        TFileName fName(*fileName);
-        delete fileName;
-        MUS_LOG_TDESC( "[MUSSET] Resource FileName ",fName )
-        iResources.OpenL(fName);  
-        iResourceFileOpen = true;
-        } 
-    
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::OpenResourceFileL()" )
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSettingsPlugin::CloseResourceFile()
-    {
-    MUS_LOG( "[MUSSET] -> CMusSettingsPlugin::CloseResourceFile()" )
-    iResources.Close();
-    iResourceFileOpen = false;
-    MUS_LOG( "[MUSSET] <- CMusSettingsPlugin::CloseResourceFile()" )
-    }
-