mmshplugins/mmshsettingsuiplugin/src/mussettingsmodel.cpp
changeset 2 b31261fd4e04
parent 0 f0cf47e981f9
child 13 a184f3d659e6
equal deleted inserted replaced
1:065f1826587f 2:b31261fd4e04
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:  Document model class for MUSSettingsPlugin.
    14 * Description:  Document model class for MUSSettingsPlugin.
    15 *  Version     : %version: 15 % << Don't touch! Updated by Synergy at check-out.
    15 *  Version     : %version: 17 % << Don't touch! Updated by Synergy at check-out.
    16 *
    16 *
    17 */
    17 */
    18 
    18 
    19 
    19 
    20 
    20 #include    "mussettingsmodel.h"
       
    21 #include    "muslogger.h"
       
    22 #include    "mussipprofilemodel.h"
       
    23 #include    "mussettings.h"
    21 #include    "mmussipprofilehandler.h"
    24 #include    "mmussipprofilehandler.h"
    22 #include    "mussettingsmodel.h"
    25 
    23 #include    "mussipprofilemodel.h"
    26 #include    <escapeutils.h>
    24 #include    "muslogger.h"
       
    25 #include    <centralrepository.h>
    27 #include    <centralrepository.h>
    26 #include    <escapeutils.h>
       
    27 
       
    28 #include    <CAknMemorySelectionDialogMultiDrive.h>
    28 #include    <CAknMemorySelectionDialogMultiDrive.h>
    29 #include    <AknCommonDialogsDynMem.h>
    29 #include    <AknCommonDialogsDynMem.h>
    30 #include    <mussettingsuirsc.rsg> // GUI Resource
    30 #include    <mussettingsuirsc.rsg> // GUI Resource
    31 
    31 
    32 
    32 
    73 // -----------------------------------------------------------------------------
    73 // -----------------------------------------------------------------------------
    74 //
    74 //
    75 void CMusSettingsModel::ConstructL()
    75 void CMusSettingsModel::ConstructL()
    76     {
    76     {
    77     MUS_LOG( "[MUSSET] -> CMusSettingsModel::ConstructL()" )
    77     MUS_LOG( "[MUSSET] -> CMusSettingsModel::ConstructL()" )
    78     iMSSettingsKeys = new (ELeave) MultimediaSharingSettings;
       
    79     InitializeProfileEnablerL();
    78     InitializeProfileEnablerL();
       
    79     static_cast<CMusSIPProfileModel*> (&iHandler)->SetCMusSettingsModel(this);
    80     MUS_LOG( "[MUSSET] <- CMusSettingsModel::ConstructL()" )
    80     MUS_LOG( "[MUSSET] <- CMusSettingsModel::ConstructL()" )
    81     }
    81     }
    82 
    82 
    83 
    83 
    84 // -----------------------------------------------------------------------------
    84 // -----------------------------------------------------------------------------
    86 // -----------------------------------------------------------------------------
    86 // -----------------------------------------------------------------------------
    87 //
    87 //
    88 CMusSettingsModel::~CMusSettingsModel()
    88 CMusSettingsModel::~CMusSettingsModel()
    89     {
    89     {
    90     MUS_LOG( "[MUSSET] -> CMusSettingsModel::~CMusSettingsModel()" )
    90     MUS_LOG( "[MUSSET] -> CMusSettingsModel::~CMusSettingsModel()" )
    91     delete iMSSettingsKeys;
       
    92     iMSSettingsKeys = NULL;
       
    93     MUS_LOG( "[MUSSET] <- CMusSettingsModel::~CMusSettingsModel()" )
    91     MUS_LOG( "[MUSSET] <- CMusSettingsModel::~CMusSettingsModel()" )
    94     }
    92     }
    95 
    93 
    96 
       
    97 // -----------------------------------------------------------------------------
       
    98 // Returns operator variant mode (normal or operator specific. This is used for
       
    99 // runtime variation of Settings UI.
       
   100 // -----------------------------------------------------------------------------
       
   101 //
       
   102 MusSettingsKeys::TOperatorVariant CMusSettingsModel::VSSettingsOperatorVariantL()
       
   103     {
       
   104     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsOperatorVariantL()" )
       
   105 
       
   106     MusSettingsKeys::TOperatorVariant operatorVariant =
       
   107     	iMSSettingsKeys->OperatorVariantSettingL();
       
   108 
       
   109     MUS_LOG1(
       
   110         "[MUSSET] <- CMusSettingsContainer::VSSettingsOperatorVariantL()( %d )",
       
   111         operatorVariant )
       
   112     return operatorVariant;
       
   113     }
       
   114 
       
   115 
       
   116 // -----------------------------------------------------------------------------
       
   117 // Returns VS activation mode.
       
   118 // -----------------------------------------------------------------------------
       
   119 //
       
   120 MusSettingsKeys::TActivation CMusSettingsModel::VSSettingsActivationL()
       
   121     {
       
   122     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsActivationL()" )
       
   123     MusSettingsKeys::TActivation activationMode =
       
   124     	iMSSettingsKeys->ActivationSettingL();
       
   125     MUS_LOG1(
       
   126         "[MUSSET] <- CMusSettingsContainer::VSSettingsActivationL()( %d )",
       
   127         activationMode )
       
   128     return activationMode;
       
   129     }
       
   130 
       
   131 
       
   132 // -----------------------------------------------------------------------------
       
   133 // Returns SIP profile mode.
       
   134 // -----------------------------------------------------------------------------
       
   135 //
       
   136 TInt CMusSettingsModel::VSSettingsProfileL()
       
   137     {
       
   138     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsProfileL()" )
       
   139     TInt vsProfileMode = iMSSettingsKeys->SipProfileSettingL();
       
   140     MUS_LOG1(
       
   141         "[MUSSET] <- CMusSettingsContainer::VSSettingsProfileL()( %d )",
       
   142         vsProfileMode )
       
   143     return vsProfileMode;
       
   144     }
       
   145 
       
   146 
       
   147 // -----------------------------------------------------------------------------
       
   148 // Returns video autorecord mode.
       
   149 // -----------------------------------------------------------------------------
       
   150 //
       
   151 MusSettingsKeys::TAutoRecord CMusSettingsModel::VSSettingsAutoRecordL()
       
   152     {
       
   153     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsAutoRecordL()" )
       
   154     MusSettingsKeys::TAutoRecord vsAutoRecordMode =
       
   155         iMSSettingsKeys->AutoRecordSettingL();
       
   156     MUS_LOG1(
       
   157         "[MUSSET] <- CMusSettingsContainer::VSSettingsAutoRecordL()( %d )",
       
   158         vsAutoRecordMode )
       
   159     return  vsAutoRecordMode;
       
   160     }
       
   161 
       
   162 
       
   163 // -----------------------------------------------------------------------------
    94 // -----------------------------------------------------------------------------
   164 // Returns recorded video saving mode.
    95 // Returns recorded video saving mode.
   165 // -----------------------------------------------------------------------------
    96 // -----------------------------------------------------------------------------
   166 //
    97 //
   167 TInt CMusSettingsModel::VSSettingsRecordedVideoSavingL()
    98 TInt CMusSettingsModel::VSSettingsRecordedVideoSavingL()
   168     {
    99     {
   169     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsRecordedVideoSavingL()" )
   100     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsRecordedVideoSavingL()" )
   170     TInt vsVideoLocationMode = iMSSettingsKeys->VideoLocationSettingL();
   101     TInt vsVideoLocationMode = MultimediaSharingSettings::VideoLocationSettingL();
   171     MUS_LOG1(
   102     MUS_LOG1(
   172     "[MUSSET] <- CMusSettingsContainer::VSSettingsRecordedVideoSavingL()( %d )",
   103     "[MUSSET] <- CMusSettingsContainer::VSSettingsRecordedVideoSavingL()( %d )",
   173         vsVideoLocationMode )
   104         vsVideoLocationMode )
   174     return vsVideoLocationMode;
   105     return vsVideoLocationMode;
   175     }
   106     }
   176 
   107 
   177 
       
   178 // -----------------------------------------------------------------------------
       
   179 // Returns mode of audible note.
       
   180 // -----------------------------------------------------------------------------
       
   181 //
       
   182 MusSettingsKeys::TAuditoryNotification CMusSettingsModel::VSSettingsNoteL()
       
   183     {
       
   184     MUS_LOG( "[MUSSET] -> CMusSettingsModel::VSSettingsNoteL()" )
       
   185     MusSettingsKeys::TAuditoryNotification vsNoteMode =
       
   186         iMSSettingsKeys->AuditoryNotificationSettingL();
       
   187     MUS_LOG1(
       
   188     "[MUSSET] <- CMusSettingsContainer::VSSettingsNoteL()( %d )",
       
   189         vsNoteMode )
       
   190     return vsNoteMode;
       
   191     }
       
   192 
       
   193 
       
   194 // -----------------------------------------------------------------------------
       
   195 // Sets VS activation mode.
       
   196 // -----------------------------------------------------------------------------
       
   197 //
       
   198 void CMusSettingsModel::SetVSSettingsActivationL(
       
   199         const MusSettingsKeys::TActivation aActivation)
       
   200     {
       
   201     MUS_LOG1(
       
   202     "[MUSSET] -> CMusSettingsContainer::SetVSSettingsActivationL()( %d )",
       
   203         aActivation )
       
   204     iMSSettingsKeys->SetActivationSettingL( aActivation );
       
   205     MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsActivationL()" )
       
   206     }
       
   207 
       
   208 
       
   209 // -----------------------------------------------------------------------------
       
   210 // Sets SIP Profile mode.
       
   211 // -----------------------------------------------------------------------------
       
   212 //
       
   213 void CMusSettingsModel::SetVSSettingsProfileL( const TInt aProfile )
       
   214     {
       
   215     MUS_LOG1(
       
   216     "[MUSSET] -> CMusSettingsContainer::SetVSSettingsProfileL()( %d )",
       
   217         aProfile )
       
   218     iMSSettingsKeys->SetSipProfileSettingL( aProfile );
       
   219     MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsProfileL()" )
       
   220     }
       
   221 
       
   222 
       
   223 // -----------------------------------------------------------------------------
       
   224 // Sets video autorecord mode.
       
   225 // -----------------------------------------------------------------------------
       
   226 //
       
   227 void CMusSettingsModel::SetVSSettingsAutoRecordL(
       
   228     const MusSettingsKeys::TAutoRecord aAutoRecord )
       
   229     {
       
   230     MUS_LOG1(
       
   231     "[MUSSET] -> CMusSettingsContainer::SetVSSettingsAutoRecordL()( %d )",
       
   232         aAutoRecord )
       
   233     iMSSettingsKeys->SetAutoRecordSettingL( aAutoRecord );
       
   234     MUS_LOG( "[MUSSET] <- CMusSettingsModel::SetVSSettingsAutoRecordL()" )
       
   235     }
       
   236 
       
   237 
       
   238 // -----------------------------------------------------------------------------
       
   239 // Sets video location.
       
   240 // -----------------------------------------------------------------------------
       
   241 //
       
   242 void CMusSettingsModel::SetVSSettingsRecordedVideoSavingL(
       
   243     const TInt  aVideoLocation )
       
   244     {
       
   245     MUS_LOG1(
       
   246     "[MUSSET] -> CMusSettingsContainer::SetVSSettingsRecordedVideoSavingL()( %d )",
       
   247         aVideoLocation )
       
   248     iMSSettingsKeys->SetVideoLocationSettingL( aVideoLocation );
       
   249     MUS_LOG(
       
   250         "[MUSSET] <- CMusSettingsModel::SetVSSettingsRecordedVideoSavingL()" )
       
   251     }
       
   252 
       
   253 
       
   254 // -----------------------------------------------------------------------------
       
   255 // Sets mode of auditory note.
       
   256 // -----------------------------------------------------------------------------
       
   257 //
       
   258 void CMusSettingsModel::SetVSSettingsNoteL(
       
   259     const MusSettingsKeys::TAuditoryNotification aValue )
       
   260     {
       
   261     MUS_LOG1( "[MUSSET] -> CMusSettingsContainer::SetVSSettingsNoteL()( %d )",
       
   262               aValue )
       
   263     iMSSettingsKeys->SetAuditoryNotificationSettingL( aValue );
       
   264     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::SetActivationItem()" )
       
   265     }
       
   266 
       
   267 // ----------------------------------------------------------------------------
   108 // ----------------------------------------------------------------------------
   268 // Change Activation.
   109 // Change Activation.
   269 // ----------------------------------------------------------------------------
   110 // ----------------------------------------------------------------------------
   270 //
   111 //
   271 void CMusSettingsModel::SetActivationItem( TBool aActive )
   112 void CMusSettingsModel::SetActivationItem( TBool aActive )
   272     {
   113     {
   273     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::SetActivationItem()" )
   114     MUS_LOG( "[MUSSET] -> CMusSettingsContainer::SetActivationItem()" )
   274     MUS_LOG1( "Profile disabled? ( %d )",
   115     MUS_LOG1( "            Profile disabled? ( %d )", aActive )
   275             aActive )
       
   276     iProfileDisabled = aActive;
   116     iProfileDisabled = aActive;
   277     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::SetActivationItem()" )
   117     MUS_LOG( "[MUSSET] <- CMusSettingsContainer::SetActivationItem()" )
   278     }
   118     }
   279 
   119 
   280 // ----------------------------------------------------------------------------
   120 // ----------------------------------------------------------------------------
   292 // Returns the list of profile names
   132 // Returns the list of profile names
   293 // -----------------------------------------------------------------------------
   133 // -----------------------------------------------------------------------------
   294 CDesCArray* CMusSettingsModel::ListOfProfileNamesL()
   134 CDesCArray* CMusSettingsModel::ListOfProfileNamesL()
   295     {
   135     {
   296     MUS_LOG( "[MUSSET] -> CMusSettingsModel::ListOfProfileNamesL()" )
   136     MUS_LOG( "[MUSSET] -> CMusSettingsModel::ListOfProfileNamesL()" )
   297     CArrayPtr<CSIPManagedProfile>* list = iHandler.ProfileArrayL();
   137     RPointerArray<CSIPProfile>& list = iHandler.ProfileArrayL();
   298 
   138 
   299     CDesCArray* array = new ( ELeave ) CDesCArrayFlat( KSIPGranularity );
   139     CDesCArray* array = new ( ELeave ) CDesCArrayFlat( KSIPGranularity );
   300     CleanupStack::PushL( array );
   140     CleanupStack::PushL( array );
   301 
   141 
   302     for ( TInt i = 0; i < list->Count(); i++ )
   142     for ( TInt i = 0; i < list.Count(); i++ )
   303         {
   143         {
   304         const TDesC8* providerName = 0;
   144         const TDesC8* providerName = 0;
   305         User::LeaveIfError(
   145         User::LeaveIfError(
   306             list->At(i)->GetParameter( KSIPProviderName, providerName ) );
   146             list[i]->GetParameter( KSIPProviderName, providerName ) );
   307 
   147 
   308         HBufC8* decodedProvider =
   148         HBufC8* decodedProvider =
   309             EscapeUtils::EscapeDecodeL( *providerName );
   149             EscapeUtils::EscapeDecodeL( *providerName );
   310         CleanupStack::PushL( decodedProvider );
   150         CleanupStack::PushL( decodedProvider );
   311 
   151 
   337     TInt index = ProfileIndexByIdL( aId );
   177     TInt index = ProfileIndexByIdL( aId );
   338     HBufC* buf = NULL;
   178     HBufC* buf = NULL;
   339 
   179 
   340     if ( index >= 0 )
   180     if ( index >= 0 )
   341         {
   181         {
   342         if ( KErrNone == iHandler.ProfileArrayL()->At( index )->
   182         if ( KErrNone == iHandler.ProfileArrayL()[index]->
   343                 GetParameter( KSIPProviderName, providerName ) )
   183                 GetParameter( KSIPProviderName, providerName ) )
   344             {
   184             {
   345             HBufC8* decodedProvider =
   185             HBufC8* decodedProvider =
   346                 EscapeUtils::EscapeDecodeL( *providerName );
   186                 EscapeUtils::EscapeDecodeL( *providerName );
   347             CleanupStack::PushL( decodedProvider );
   187             CleanupStack::PushL( decodedProvider );
   405 // Initialize SIP profile enabler data.
   245 // Initialize SIP profile enabler data.
   406 // -----------------------------------------------------------------------------
   246 // -----------------------------------------------------------------------------
   407 void CMusSettingsModel::InitializeProfileEnablerL() 
   247 void CMusSettingsModel::InitializeProfileEnablerL() 
   408     {
   248     {
   409     MUS_LOG( "[MUSSET] -> CMusSettingsModel::InitializeProfileEnabler()" )
   249     MUS_LOG( "[MUSSET] -> CMusSettingsModel::InitializeProfileEnabler()" )
   410     if ( VSSettingsOperatorVariantL() ==
   250     if ( MultimediaSharingSettings::OperatorVariantSettingL() ==
   411                MusSettingsKeys::EOperatorSpecific )
   251                MusSettingsKeys::EOperatorSpecific )
   412        {
   252        {
   413        TBool enabled(EFalse);
   253        TBool enabled(EFalse);
   414        
   254        
   415        CMusSIPProfileModel& handler = 
   255        CMusSIPProfileModel& handler =