mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
child 41 755f0370535b
--- a/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Tue Aug 31 15:12:07 2010 +0300
+++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Wed Sep 01 12:31:01 2010 +0100
@@ -12,31 +12,34 @@
 * Contributors:
 *
 * Description:  Container for MUSSettingsPlugin.
+*  Version     : %version: be1sipx1#22 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
 
 
-#include    "mussettingscontainer.h"
-#include    "mussettingsplugin.h"
-#include    "mussettingsmodel.h"
-#include    "gslistbox.h"
-#include    "mussettingsplugin.hrh"
-#include    <mussettingsuirsc.rsg>
-#include    <aknlists.h>
-#include    <akntitle.h>
-#include 	<aknnotewrappers.h>
-#include    <csxhelp/msh.hlp.hrh>
-#include    <gsfwviewuids.h>
-#include    <StringLoader.h>
-#include 	<sipmanagedprofile.h>
-#include 	<ctsydomainpskeys.h>
-#include	<e32property.h>
-#include    <pathinfo.h>
+#include "mussettingscontainer.h"
+#include "mussettingsplugin.h"
+#include "mussettingsmodel.h"
+#include "gslistbox.h"
+#include "mussettingsplugin.hrh"
+#include <mussettingsuirsc.rsg>
+#include <aknlists.h>
+#include <akntitle.h>
+#include <aknnotewrappers.h>
+#include <csxhelp/msh.hlp.hrh>
+#include <gsfwviewuids.h>
+#include <StringLoader.h>
+#include <sipmanagedprofile.h>
+#include <ctsydomainpskeys.h>
+#include <e32property.h>
+#include <pathinfo.h>
 
 
+#ifdef RD_MULTIPLE_DRIVE
 #include    <CAknMemorySelectionDialogMultiDrive.h>
 
+#endif
 
 /** default SIP profile is selected */
 const TInt KDefaultSipProfile = 0;
@@ -62,7 +65,7 @@
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::ConstructL()" )
 
-    iOperatorVariant = iModel.VSSettingsOperatorVariantL();
+    iOperatorVariant = MultimediaSharingSettings::OperatorVariantSettingL();
 
     iListBox = new( ELeave ) CAknSettingStyleListBox;
 
@@ -83,17 +86,17 @@
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::~CMusSettingsContainer()" )
     delete iActivationItems;
-  	delete iProfileItems;
-  	delete iAutoRecordItems;
-   	delete iListboxItemArray;
-   	delete iNoteItems;
+    delete iProfileItems;
+    delete iAutoRecordItems;
+    delete iNoteItems;
+    delete iListboxItemArray;
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" )
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Constructs a listbox from a specified resource id.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::ConstructListBoxL( TInt aResLbxId )
     {
@@ -104,17 +107,10 @@
     iListBox->Model()->SetItemTextArray( iListboxItemArray );
     iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
 
-    if ( iOperatorVariant == MusSettingsKeys::EStandard )
-    	{
-    	iActivationItems = iCoeEnv->ReadDesC16ArrayResourceL( 
-    	                                R_ACTIVATION_SETTING_PAGE_LBX );
-    	}
-    else
-    	{
-    	iActivationItems =
-    		iCoeEnv->ReadDesC16ArrayResourceL(
-    		R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
-    	}
+    // OCC: removed "Automatic in home network" choice
+    iActivationItems =
+            iCoeEnv->ReadDesC16ArrayResourceL(
+            R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
 
     iAutoRecordItems = iCoeEnv->ReadDesC16ArrayResourceL(
                                     R_VS_VIDEO_SAVING_SETTING_PAGE_LBX );
@@ -122,17 +118,9 @@
     iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL(
     	R_SIP_PROFILE_SETTING_PAGE_LBX );
 
-    if ( iOperatorVariant == MusSettingsKeys::EStandard )
-    	{
-        iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL(
-        	R_VS_AUDIO_SETTING_PAGE_LBX );
-        }
-    else
-        {
-        iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_VS_NOTE_SETTING_PAGE_LBX );
-        }
-
+    iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL(
+							R_VS_AUDIO_SETTING_PAGE_LBX );
+    
     CreateListBoxItemsL();
 
     // Operator variant mode needs some item should not be visible to user.
@@ -141,7 +129,8 @@
     	{        
         // Hide VS Activation Settings. If needed in future it can be made
         // visible.
-        HideItemsL( KGSSettIdVSActivation );
+    	// 
+        //HideItemsL( KGSSettIdVSActivation );
         // Hide SIP Profile choosing option.If needed in future it can be made
         // visible.
         HideItemsL( KGSSettIdSIPProfile );
@@ -150,9 +139,9 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Populates listbox items.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::CreateListBoxItemsL()
     {
@@ -173,9 +162,9 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Updates a specified feature (item in listbox).
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::UpdateListBoxL( TInt aFeatureId )
     {
@@ -192,19 +181,19 @@
             	{
             	MakeOperatorActivationItemL();
             	}
-	        break;
+            break;
         case KGSSettIdSIPProfile:
             MakeSIPProfileItemL();
             break;
         case KGSSettIdAutoRecord:
             MakeAutoRecordItemL();
-        	break;
+            break;
         case KGSSettIdRecordedVideoSaving:
-        	MakeRecordedVideoSavingItemL();
-        	break;
+            MakeRecordedVideoSavingItemL();
+            break;
         case KGSSettIdNote:
-        	MakeNoteItemL();
-        	break;
+            MakeNoteItemL();
+            break;
         default:
             break;
         }
@@ -214,109 +203,116 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Generic method to add an item to listbox and make it visible.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::AddItemL( TInt aId, const TPtrC aText )
-	{
-	MUS_LOG( "[MUSSET] -> CMusSettingsContainer::AddItemL()" )
+    {
+    MUS_LOG( "[MUSSET] -> CMusSettingsContainer::AddItemL()" )
     iListboxItemArray->SetDynamicTextL( aId, aText );
     iListboxItemArray->SetItemVisibilityL( aId,
-    	CGSListBoxItemTextArray::EVisible );
-	MUS_LOG( "[MUSSET] <- CMusSettingsContainer::AddItemL()" )
-	}
+    CGSListBoxItemTextArray::EVisible );
+    MUS_LOG( "[MUSSET] <- CMusSettingsContainer::AddItemL()" )
+    }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds activation setting item to listbox.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeActivationItemL()
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeActivationItemL()" )
 
-   	iVSActication = iModel.VSSettingsActivationL();
-   	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iVSActication ] );
+    MusSettingsKeys::TActivation activation = 
+                                MultimediaSharingSettings::ActivationSettingL();
+ 
+    if ( activation != MusSettingsKeys::EAlwaysActive )
+        {
+        // We make sure that if someone has written to CenRep value bigger
+        // than 1 (which after OCC changes means 'Off') we treat it as 'Off'.
+        activation = MusSettingsKeys::EActiveInHomeNetworks;
+        }
+    
+    AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ activation ] );
 
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeActivationItemL()" )
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds operator specific activation setting item to listbox.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeOperatorActivationItemL()
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeOperatorActivationItemL()" )
-
-   	iVSActication = iModel.VSSettingsActivationL();
-   	if ( iVSActication == MusSettingsKeys::ENever ) // ==2
-    	{ // operator specific one is different from usual one
-    	iVSActication = MusSettingsKeys::EActiveInHomeNetworks; //==1
-    	}
-
-	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iVSActication ] );
+            
+    //sync with real value, if op specifig
+    iModel.InitializeProfileEnablerL();
+    
+    MUS_LOG1( "Activation item=%d (0=VS enabled, 1=VS disabled)", iModel.ActivationItem() )
+    AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iModel.ActivationItem() ] );
 
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeOperatorActivationItemL()" )
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds SIP profile setting item to settings listbox. Item will contain
 // indication of [no SIP profile selected], [using default SIP profile] or
 // [name of SIP profile specified to be used]
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeSIPProfileItemL()
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeSIPProfileItemL()" )
 
-    TInt profile = iModel.VSSettingsProfileL();
+    TInt profile = MultimediaSharingSettings::SipProfileSettingL();
 
     if ( profile != KDefaultSipProfile && profile != KNoSipProfileSelected )
     	{
-    	// profile id defined, get profile name
-		HBufC* name = iModel.ProfileNameL( profile );
+        // profile id defined, get profile name
+        HBufC* name = iModel.ProfileNameL( profile );
 
-		if ( name )
-			{
-			CleanupStack::PushL( name );
-			AddItemL( KGSSettIdSIPProfile, *name );
-			CleanupStack::PopAndDestroy( name );
-    		}
+        if ( name )
+            {
+            CleanupStack::PushL( name );
+            AddItemL( KGSSettIdSIPProfile, *name );
+            CleanupStack::PopAndDestroy( name );
+            }
     	else
-    		{
-    		// show profile value not selected
-    		AddItemL( KGSSettIdSIPProfile,
-    			( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
-			}
-		}
+            {
+            // show profile value not selected
+            AddItemL( KGSSettIdSIPProfile,
+                    ( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
+                    }
+            }
     else if ( profile == KNoSipProfileSelected )
     	{
     	AddItemL( KGSSettIdSIPProfile,
     		( *iProfileItems )[ CMusSettingsModel::KVsSipProfileSelectNone ] );
-		}
+        }
     else
     	{
-	    AddItemL(
-	    	KGSSettIdSIPProfile,
-	    	( *iProfileItems )[ CMusSettingsModel::KVsSipProfileDefault ] );
-		}
+        AddItemL(
+            KGSSettIdSIPProfile,
+            ( *iProfileItems )[ CMusSettingsModel::KVsSipProfileDefault ] );
+            }
 
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeSIPProfileItemL()" )
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds autorecord item to listbox.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeAutoRecordItemL()
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeAutoRecordItemL()" )
-    TInt autoRecordMode = iModel.VSSettingsAutoRecordL();
+    TInt autoRecordMode = MultimediaSharingSettings::AutoRecordSettingL();
     
     MUS_LOG1( "[MUSSET]    autoRecordMode: %d", autoRecordMode  )
     MUS_LOG1( "[MUSSET]    iAutoRecordItems.Count: %d", iAutoRecordItems->Count() )
@@ -334,9 +330,9 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds recorded video saving item to listbox.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeRecordedVideoSavingItemL()
     {
@@ -352,12 +348,12 @@
     
     if ( index == KErrNotFound )
         {
-        MUS_LOG( "[MUSSET] -> preferred drive doesn't exist anymore \
-(e.g. remote drive deleted), taking system drive..." )
+        MUS_LOG( "[MUSSET]    Preferred drive doesn't exist anymore, " )
+        MUS_LOG( "[MUSSET]    e.g. remote drive deleted, using system drive" )
 
         driveNumber = RFs::GetSystemDrive();
         index = dlg->FindIndexByDrive( driveNumber );
-        iModel.SetVSSettingsRecordedVideoSavingL( driveNumber );
+        MultimediaSharingSettings::SetVideoLocationSettingL( driveNumber );
         }
 
     TFileName item( KNullDesC );  
@@ -373,38 +369,38 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Adds note item to listbox. (Alerts setting). Present only with operator
 // variant set.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeNoteItemL()
     {
-    MUS_LOG(
-    	"[MUSSET] -> CMusSettingsContainer::MakeNoteItemL()" )
+    MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeNoteItemL()" )
 
-    TInt savingMode = iModel.VSSettingsNoteL();
+    MusSettingsKeys::TAuditoryNotification auditoryNotification = 
+                    MultimediaSharingSettings::AuditoryNotificationSettingL();
 
-    MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", savingMode );
+    MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", 
+              auditoryNotification )
 
     // If unset, use and set default value
-    if ( savingMode < 0 || savingMode > 1 )
-	    {
-	    savingMode = 0;
-	    iModel.SetVSSettingsNoteL(
-	        MusSettingsKeys::EAuditoryNotificationOff );
-	    }
+    if ( auditoryNotification < 0 || auditoryNotification > 1 )
+        {
+        auditoryNotification = MusSettingsKeys::EAuditoryNotificationOff;
+        MultimediaSharingSettings::SetAuditoryNotificationSettingL(
+                                    MusSettingsKeys::EAuditoryNotificationOff );
+        }
 
-	AddItemL( KGSSettIdNote, ( *iNoteItems )[ savingMode ] );
-
-    MUS_LOG(
-    	"[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
+    AddItemL( KGSSettIdNote, ( *iNoteItems )[ auditoryNotification ] );
+	
+    MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Gets help context.
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
     {
@@ -415,9 +411,9 @@
     }
 
 
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // Returns currently selected feature (listbox item).
-// ---------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 TInt CMusSettingsContainer::CurrentFeatureId() const
     {
@@ -426,45 +422,48 @@
     }
 
 
-// ----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // If call is on, informs user with note that new profile is going to be active
 // after current call.
-// ----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::ShowNewProfileActiveAfterCallL()
     {
     MUS_LOG(
     	"[MUSSET] -> CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
-	TPSCTsyCallState callState;
-	User::LeaveIfError( RProperty::Get( KPSUidCtsyCallInformation,
-			KCTsyCallState,
-			(TInt&)callState) );
-	if ( callState == EPSCTsyCallStateAlerting ||
-		callState ==  EPSCTsyCallStateRinging ||
-		callState ==  EPSCTsyCallStateDialling ||
-		callState ==  EPSCTsyCallStateAnswering ||
-		callState ==  EPSCTsyCallStateDisconnecting ||
-		callState ==  EPSCTsyCallStateConnected ||
-		callState ==  EPSCTsyCallStateHold)
-		{
-		HBufC* infoTxt = StringLoader::LoadLC( R_QTN_MSH_SET_PROFILE_NOTE );
-	    CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
-	    note->ExecuteLD( infoTxt->Des() );
-	    CleanupStack::PopAndDestroy( infoTxt );
-	    MUS_LOG(
-	    	"[MUSSET] <- CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
-		}
+    TPSCTsyCallState callState;
+    User::LeaveIfError( RProperty::Get( KPSUidCtsyCallInformation,
+                    KCTsyCallState,
+                    (TInt&)callState) );
+    
+    if ( callState == EPSCTsyCallStateAlerting ||
+         callState ==  EPSCTsyCallStateRinging ||
+         callState ==  EPSCTsyCallStateDialling ||
+         callState ==  EPSCTsyCallStateAnswering ||
+         callState ==  EPSCTsyCallStateDisconnecting ||
+         callState ==  EPSCTsyCallStateConnected ||
+         callState ==  EPSCTsyCallStateHold)
+        {
+        HBufC* infoTxt = StringLoader::LoadLC( R_QTN_MSH_SET_PROFILE_NOTE );
+        CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
+        note->ExecuteLD( infoTxt->Des() );
+        CleanupStack::PopAndDestroy( infoTxt );
+        }
+    
+    MUS_LOG(
+        "[MUSSET] <- CMusSettingsContainer::ShowNewProfileActiveAfterCallL()" )
     }
 
-// ----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
 // Some items are unwanted by operators.Hide those items from listbox item
-// ----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 //
 void CMusSettingsContainer::HideItemsL(TInt aItemIndex)
     {
     MUS_LOG1("[MUSSET] -> CMusSettingsContainer::HideItemsL() %d",aItemIndex )    
     iListboxItemArray->SetItemVisibilityL( aItemIndex,
             	CGSListBoxItemTextArray::EInvisible );
-	MUS_LOG("[MUSSET] <- CMusSettingsContainer::HideItemsL()" )	
+    MUS_LOG("[MUSSET] <- CMusSettingsContainer::HideItemsL()" )	
     }
+