mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
--- a/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Thu Aug 19 09:51:39 2010 +0300
+++ b/mmshplugins/mmshsettingsuiplugin/src/mussettingscontainer.cpp	Tue Aug 31 15:12:07 2010 +0300
@@ -12,34 +12,31 @@
 * 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;
@@ -65,7 +62,7 @@
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::ConstructL()" )
 
-    iOperatorVariant = MultimediaSharingSettings::OperatorVariantSettingL();
+    iOperatorVariant = iModel.VSSettingsOperatorVariantL();
 
     iListBox = new( ELeave ) CAknSettingStyleListBox;
 
@@ -86,17 +83,17 @@
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::~CMusSettingsContainer()" )
     delete iActivationItems;
-    delete iProfileItems;
-    delete iAutoRecordItems;
-    delete iNoteItems;
-    delete iListboxItemArray;
+  	delete iProfileItems;
+  	delete iAutoRecordItems;
+   	delete iListboxItemArray;
+   	delete iNoteItems;
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::~CMusSettingsContainer()" )
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Constructs a listbox from a specified resource id.
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::ConstructListBoxL( TInt aResLbxId )
     {
@@ -107,10 +104,17 @@
     iListBox->Model()->SetItemTextArray( iListboxItemArray );
     iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
 
-    // OCC: removed "Automatic in home network" choice
-    iActivationItems =
-            iCoeEnv->ReadDesC16ArrayResourceL(
-            R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
+    if ( iOperatorVariant == MusSettingsKeys::EStandard )
+    	{
+    	iActivationItems = iCoeEnv->ReadDesC16ArrayResourceL( 
+    	                                R_ACTIVATION_SETTING_PAGE_LBX );
+    	}
+    else
+    	{
+    	iActivationItems =
+    		iCoeEnv->ReadDesC16ArrayResourceL(
+    		R_OPERATOR_ACTIVATION_SETTING_PAGE_LBX );
+    	}
 
     iAutoRecordItems = iCoeEnv->ReadDesC16ArrayResourceL(
                                     R_VS_VIDEO_SAVING_SETTING_PAGE_LBX );
@@ -118,9 +122,17 @@
     iProfileItems = iCoeEnv->ReadDesC16ArrayResourceL(
     	R_SIP_PROFILE_SETTING_PAGE_LBX );
 
-    iNoteItems = iCoeEnv->ReadDesC16ArrayResourceL(
-							R_VS_AUDIO_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 );
+        }
+
     CreateListBoxItemsL();
 
     // Operator variant mode needs some item should not be visible to user.
@@ -129,8 +141,7 @@
     	{        
         // 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 );
@@ -139,9 +150,9 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Populates listbox items.
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::CreateListBoxItemsL()
     {
@@ -162,9 +173,9 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Updates a specified feature (item in listbox).
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::UpdateListBoxL( TInt aFeatureId )
     {
@@ -181,19 +192,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;
         }
@@ -203,116 +214,109 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // 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()" )
 
-    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 ] );
+   	iVSActication = iModel.VSSettingsActivationL();
+   	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iVSActication ] );
 
     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeActivationItemL()" )
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Adds operator specific activation setting item to listbox.
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeOperatorActivationItemL()
     {
     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::MakeOperatorActivationItemL()" )
-            
-    //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() ] );
+
+   	iVSActication = iModel.VSSettingsActivationL();
+   	if ( iVSActication == MusSettingsKeys::ENever ) // ==2
+    	{ // operator specific one is different from usual one
+    	iVSActication = MusSettingsKeys::EActiveInHomeNetworks; //==1
+    	}
+
+	AddItemL( KGSSettIdVSActivation, ( *iActivationItems )[ iVSActication ] );
 
     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 = MultimediaSharingSettings::SipProfileSettingL();
+    TInt profile = iModel.VSSettingsProfileL();
 
     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 = MultimediaSharingSettings::AutoRecordSettingL();
+    TInt autoRecordMode = iModel.VSSettingsAutoRecordL();
     
     MUS_LOG1( "[MUSSET]    autoRecordMode: %d", autoRecordMode  )
     MUS_LOG1( "[MUSSET]    iAutoRecordItems.Count: %d", iAutoRecordItems->Count() )
@@ -330,9 +334,9 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Adds recorded video saving item to listbox.
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::MakeRecordedVideoSavingItemL()
     {
@@ -348,12 +352,12 @@
     
     if ( index == KErrNotFound )
         {
-        MUS_LOG( "[MUSSET]    Preferred drive doesn't exist anymore, " )
-        MUS_LOG( "[MUSSET]    e.g. remote drive deleted, using system drive" )
+        MUS_LOG( "[MUSSET] -> preferred drive doesn't exist anymore \
+(e.g. remote drive deleted), taking system drive..." )
 
         driveNumber = RFs::GetSystemDrive();
         index = dlg->FindIndexByDrive( driveNumber );
-        MultimediaSharingSettings::SetVideoLocationSettingL( driveNumber );
+        iModel.SetVSSettingsRecordedVideoSavingL( driveNumber );
         }
 
     TFileName item( KNullDesC );  
@@ -369,38 +373,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()" )
 
-    MusSettingsKeys::TAuditoryNotification auditoryNotification = 
-                    MultimediaSharingSettings::AuditoryNotificationSettingL();
+    TInt savingMode = iModel.VSSettingsNoteL();
 
-    MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", 
-              auditoryNotification )
+    MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::Mode:%d()", savingMode );
 
     // If unset, use and set default value
-    if ( auditoryNotification < 0 || auditoryNotification > 1 )
-        {
-        auditoryNotification = MusSettingsKeys::EAuditoryNotificationOff;
-        MultimediaSharingSettings::SetAuditoryNotificationSettingL(
-                                    MusSettingsKeys::EAuditoryNotificationOff );
-        }
+    if ( savingMode < 0 || savingMode > 1 )
+	    {
+	    savingMode = 0;
+	    iModel.SetVSSettingsNoteL(
+	        MusSettingsKeys::EAuditoryNotificationOff );
+	    }
 
-    AddItemL( KGSSettIdNote, ( *iNoteItems )[ auditoryNotification ] );
-	
-    MUS_LOG( "[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
+	AddItemL( KGSSettIdNote, ( *iNoteItems )[ savingMode ] );
+
+    MUS_LOG(
+    	"[MUSSET] <- CMusSettingsContainer::MakeNoteItemL()" )
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Gets help context.
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 void CMusSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
     {
@@ -411,9 +415,9 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 // Returns currently selected feature (listbox item).
-// -----------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
 //
 TInt CMusSettingsContainer::CurrentFeatureId() const
     {
@@ -422,48 +426,45 @@
     }
 
 
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // 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()" )	
     }
-