skins/AknSkins/srvsrc/AknsSrvSettings.cpp
branchRCL_3
changeset 106 e4e3998ddda2
parent 54 08459e712984
child 107 9f95a5546443
equal deleted inserted replaced
100:9dbe1b043bea 106:e4e3998ddda2
    33 #include <AknSkinsInternalCRKeys.h>             // KPslnActiveSkinUid, ...
    33 #include <AknSkinsInternalCRKeys.h>             // KPslnActiveSkinUid, ...
    34 #include <DRMHelperServerInternalCRKeys.h>      // KDRMHelperServerNotification
    34 #include <DRMHelperServerInternalCRKeys.h>      // KDRMHelperServerNotification
    35 #include <pslninternalcrkeys.h>                 // KThemesWallpaperSlideSetType
    35 #include <pslninternalcrkeys.h>                 // KThemesWallpaperSlideSetType
    36 
    36 
    37 //PubSub keys.
    37 //PubSub keys.
    38 #include <ScreensaverInternalPSKeys.h>
       
    39 #include <UsbWatcherInternalPSKeys.h>           // KPSUidUsbWatcher
    38 #include <UsbWatcherInternalPSKeys.h>           // KPSUidUsbWatcher
    40 #include <usbpersonalityids.h>                  // KUsbPersonalityIdMS
    39 #include <usbpersonalityids.h>                  // KUsbPersonalityIdMS
    41 
    40 
    42 // Default theme has been configured to be different from S60 Default skin.
    41 // Default theme has been configured to be different from S60 Default skin.
    43 _LIT( KAknSkinSrvNoDefaultThemeConfigured, "0" );
    42 _LIT( KAknSkinSrvNoDefaultThemeConfigured, "0" );
   445 
   444 
   446 // -----------------------------------------------------------------------------
   445 // -----------------------------------------------------------------------------
   447 // Callback - USB status change.
   446 // Callback - USB status change.
   448 // -----------------------------------------------------------------------------
   447 // -----------------------------------------------------------------------------
   449 //
   448 //
   450 TInt CAknsSrvSettings::USBCallBackL(TAny* aPtr)
   449 TInt CAknsSrvSettings::USBCallBack(TAny* aPtr)
   451     {
   450     {
   452     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   451     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   453     if (self)
   452     if (self)
   454         {
   453         {
   455         self->HandlePropertyChangeL(EAknsSrvSPUSBAttached);
   454         self->HandlePropertyChange(EAknsSrvSPUSBAttached);
   456         }
   455         }
   457     return KErrNone;
   456     return KErrNone;
   458     }
   457     }
   459 
   458 
   460 // -----------------------------------------------------------------------------
   459 // -----------------------------------------------------------------------------
   461 // Callback - when screensaver state changes.
   460 // Callback - when screensaver state changes.
   462 // -----------------------------------------------------------------------------
   461 // -----------------------------------------------------------------------------
   463 //
   462 //
   464 TInt CAknsSrvSettings::SSCallBackL(TAny* aPtr)
   463 TInt CAknsSrvSettings::SSCallBack(TAny* aPtr)
   465     {
   464     {
   466     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   465     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   467     if (self)
   466     if (self)
   468         {
   467         {
   469         self->HandlePropertyChangeL( EAknsSrvSPScreensaverActivation );
   468         self->HandlePropertyChange( EAknsSrvSPScreensaverActivation );
   470         }
   469         }
   471     return KErrNone;
   470     return KErrNone;
   472     }
   471     }
   473 
   472 
   474 // -----------------------------------------------------------------------------
   473 // -----------------------------------------------------------------------------
   475 // Callback - layout changed.
   474 // Callback - layout changed.
   476 // -----------------------------------------------------------------------------
   475 // -----------------------------------------------------------------------------
   477 //
   476 //
   478 TInt CAknsSrvSettings::LayoutCallBackL(TAny* aPtr)
   477 TInt CAknsSrvSettings::LayoutCallBack(TAny* aPtr)
   479     {
   478     {
   480     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   479     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   481     if (self)
   480     if (self)
   482         {
   481         {
   483         self->HandlePropertyChangeL( EAknsSrvSPLayoutId );
   482         self->HandlePropertyChange( EAknsSrvSPLayoutId );
   484         }
   483         }
   485     return KErrNone;
   484     return KErrNone;
   486     }
   485     }
   487 
   486 
   488 // -----------------------------------------------------------------------------
   487 // -----------------------------------------------------------------------------
   489 // Callback - skins repository.
   488 // Callback - skins repository.
   490 // -----------------------------------------------------------------------------
   489 // -----------------------------------------------------------------------------
   491 //
   490 //
   492 TInt CAknsSrvSettings::SkinsRepositoryCallBackL(TAny* aPtr)
   491 TInt CAknsSrvSettings::SkinsRepositoryCallBack(TAny* aPtr)
   493     {
   492     {
   494     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   493     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   495     if (self)
   494     if (self)
   496         {
   495         {
   497         switch( self->iSkinsRepositoryWatcher->ChangedKey() )
   496         switch( self->iSkinsRepositoryWatcher->ChangedKey() )
   498             {
   497             {
   499             case KPslnActiveSkinUid:
   498             case KPslnActiveSkinUid:
   500                 break;
   499                 break;
   501             case KPslnWallpaperType:
   500             case KPslnWallpaperType:
   502                 self->HandlePropertyChangeL( EAknsSrvSPWallpaperType );
   501                 self->HandlePropertyChange( EAknsSrvSPWallpaperType );
   503                 break;
   502                 break;
   504             };
   503             };
   505         }
   504         }
   506     return KErrNone;
   505     return KErrNone;
   507     }
   506     }
   508 
   507 
   509 // -----------------------------------------------------------------------------
   508 // -----------------------------------------------------------------------------
   510 // Callback - Themes repository.
   509 // Callback - Themes repository.
   511 // -----------------------------------------------------------------------------
   510 // -----------------------------------------------------------------------------
   512 //
   511 //
   513 TInt CAknsSrvSettings::ThemesRepositoryCallBackL(TAny* aPtr)
   512 TInt CAknsSrvSettings::ThemesRepositoryCallBack(TAny* aPtr)
   514     {
   513     {
   515     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   514     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   516     if (self)
   515     if (self)
   517         {
   516         {
   518         switch( self->iThemesRepositoryWatcher->ChangedKey() )
   517         switch( self->iThemesRepositoryWatcher->ChangedKey() )
   519             {
   518             {
   520             case KThemesWallpaperSlideSetInterval:
   519             case KThemesWallpaperSlideSetInterval:
   521                 self->HandlePropertyChangeL( EAknsSrvSPSlidesetWPTimeout );
   520                 self->HandlePropertyChange( EAknsSrvSPSlidesetWPTimeout );
   522                 break;
   521                 break;
   523             case KThemesWallpaperSlideSetType:
   522             case KThemesWallpaperSlideSetType:
   524                 self->HandlePropertyChangeL( EAknsSrvSPSlidesetWPType );
   523                 self->HandlePropertyChange( EAknsSrvSPSlidesetWPType );
   525                 break;
   524                 break;
   526             case KThemesTransitionEffects:
   525             case KThemesTransitionEffects:
   527                 self->HandlePropertyChangeL( EAknsSrvSPTransitionFx );
   526                 self->HandlePropertyChange( EAknsSrvSPTransitionFx );
   528                 break;
   527                 break;
   529             case KThemesAnimBackgroundSupport:
   528             case KThemesAnimBackgroundSupport:
   530                 self->HandlePropertyChangeL( EAknsSrvSPAnimBackground );
   529                 self->HandlePropertyChange( EAknsSrvSPAnimBackground );
   531                 break;
   530                 break;
   532             default:
   531             default:
   533                 break;
   532                 break;
   534             };
   533             };
   535         }
   534         }
   538 
   537 
   539 // -----------------------------------------------------------------------------
   538 // -----------------------------------------------------------------------------
   540 // Callback - DRM repository.
   539 // Callback - DRM repository.
   541 // -----------------------------------------------------------------------------
   540 // -----------------------------------------------------------------------------
   542 //
   541 //
   543 TInt CAknsSrvSettings::DRMRepositoryCallBackL(TAny* aPtr)
   542 TInt CAknsSrvSettings::DRMRepositoryCallBack(TAny* aPtr)
   544     {
   543     {
   545     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   544     CAknsSrvSettings* self = static_cast<CAknsSrvSettings*>(aPtr);
   546     if (self)
   545     if (self)
   547         {
   546         {
   548         if( self->iDRMRepositoryWatcher->ChangedKey() ==
   547         if( self->iDRMRepositoryWatcher->ChangedKey() ==
   549             KDRMHelperServerNotification )
   548             KDRMHelperServerNotification )
   550             {
   549             {
   551             self->HandlePropertyChangeL( EAknsSrvSPDRMHelperNotification );
   550             self->HandlePropertyChange( EAknsSrvSPDRMHelperNotification );
   552             }
   551             }
   553         }
   552         }
   554     return KErrNone;
   553     return KErrNone;
   555     }
   554     }
   556 
   555 
   570     else if( aBackupOperationAttributes.iOperation == EEnd ||
   569     else if( aBackupOperationAttributes.iOperation == EEnd ||
   571         aBackupOperationAttributes.iOperation == EAbort )
   570         aBackupOperationAttributes.iOperation == EAbort )
   572         {
   571         {
   573         AKNS_TRACE_INFO("CAknsSrvSettings::HandleBackupOperationEventL Operation END/ABORT");
   572         AKNS_TRACE_INFO("CAknsSrvSettings::HandleBackupOperationEventL Operation END/ABORT");
   574         iBackupOperationInProgress = EFalse;
   573         iBackupOperationInProgress = EFalse;
   575         iObserver->NotifyBackupOperationEndL();
   574         iObserver->NotifyBackupOperationEnd();
   576         }
   575         }
   577     }
   576     }
   578 
   577 
   579 // -----------------------------------------------------------------------------
   578 // -----------------------------------------------------------------------------
   580 // CAknsSrvSettings::NotifyDriveStatusChange
   579 // CAknsSrvSettings::NotifyDriveStatusChange
   594     {
   593     {
   595     iAvkonRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   594     iAvkonRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   596         KCRUidAvkon,
   595         KCRUidAvkon,
   597         KAknLayoutId,
   596         KAknLayoutId,
   598         CCenRepNotifyHandler::EIntKey,
   597         CCenRepNotifyHandler::EIntKey,
   599         TCallBack(LayoutCallBackL, this),
   598         TCallBack(LayoutCallBack, this),
   600         iAvkonRepository );
   599         iAvkonRepository );
   601 
   600 
   602     iSkinsRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   601     iSkinsRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   603         KCRUidPersonalisation,
   602         KCRUidPersonalisation,
   604         TCallBack(SkinsRepositoryCallBackL, this),
   603         TCallBack(SkinsRepositoryCallBack, this),
   605         iSkinsRepository );
   604         iSkinsRepository );
   606 
   605 
   607     iDRMRepository = CRepository::NewL(KCRUidDRMHelperServer);
   606     iDRMRepository = CRepository::NewL(KCRUidDRMHelperServer);
   608     iDRMRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   607     iDRMRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   609         KCRUidDRMHelperServer,
   608         KCRUidDRMHelperServer,
   610         KDRMHelperServerNotification,
   609         KDRMHelperServerNotification,
   611         CCenRepNotifyHandler::EStringKey,
   610         CCenRepNotifyHandler::EStringKey,
   612         TCallBack(DRMRepositoryCallBackL, this),
   611         TCallBack(DRMRepositoryCallBack, this),
   613         iDRMRepository );
   612         iDRMRepository );
   614 
   613 
   615     iThemesRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   614     iThemesRepositoryWatcher = CAknsRepositoryWatcher::NewL(
   616         KCRUidThemes,
   615         KCRUidThemes,
   617         TCallBack(ThemesRepositoryCallBackL, this),
   616         TCallBack(ThemesRepositoryCallBack, this),
   618         iThemesRepository);
   617         iThemesRepository);
   619 
   618 
   620     User::LeaveIfError(
       
   621         iScreensaverActivationProperty.Attach( KPSUidScreenSaver, KScreenSaverOn ) );
       
   622     iScreensaverActivationSubscriber = new (ELeave) CAknsPropertySubscriber(
   619     iScreensaverActivationSubscriber = new (ELeave) CAknsPropertySubscriber(
   623         TCallBack(SSCallBackL, this), iScreensaverActivationProperty );
   620         TCallBack(SSCallBack, this), iScreensaverActivationProperty );
   624 
   621 
   625     User::LeaveIfError( iEnableUSBWatchProperty.Attach(
   622     User::LeaveIfError( iEnableUSBWatchProperty.Attach(
   626           KPSUidUsbWatcher, KUsbWatcherSelectedPersonality) );
   623           KPSUidUsbWatcher, KUsbWatcherSelectedPersonality) );
   627     iUSBWatchSubscriber = new (ELeave) CAknsPropertySubscriber(
   624     iUSBWatchSubscriber = new (ELeave) CAknsPropertySubscriber(
   628         TCallBack(USBCallBackL, this), iEnableUSBWatchProperty );
   625         TCallBack(USBCallBack, this), iEnableUSBWatchProperty );
   629     iUSBWatchSubscriber->SubscribeL();
   626     iUSBWatchSubscriber->SubscribeL();
   630     }
   627     }
   631 
   628 
   632 // -----------------------------------------------------------------------------
   629 // -----------------------------------------------------------------------------
   633 // Sets active skin PID.
   630 // Sets active skin PID.
   741 // Return screensaver state.
   738 // Return screensaver state.
   742 // -----------------------------------------------------------------------------
   739 // -----------------------------------------------------------------------------
   743 //
   740 //
   744 TInt CAknsSrvSettings::ScreensaverState() const
   741 TInt CAknsSrvSettings::ScreensaverState() const
   745     {
   742     {
   746     TInt retValue = KErrNotFound;
   743     return KErrNotFound;
   747     if ( iScreensaverActivationSubscriber )
       
   748         {
       
   749         iScreensaverActivationProperty.Get(
       
   750             KPSUidScreenSaver,
       
   751             KScreenSaverOn,
       
   752             retValue );
       
   753         }
       
   754     return retValue;
       
   755     }
   744     }
   756 
   745 
   757 // -----------------------------------------------------------------------------
   746 // -----------------------------------------------------------------------------
   758 // Interval of image change in slide set.
   747 // Interval of image change in slide set.
   759 // -----------------------------------------------------------------------------
   748 // -----------------------------------------------------------------------------
   999 
   988 
  1000 // -----------------------------------------------------------------------------
   989 // -----------------------------------------------------------------------------
  1001 // Some PS property has changed.
   990 // Some PS property has changed.
  1002 // -----------------------------------------------------------------------------
   991 // -----------------------------------------------------------------------------
  1003 //
   992 //
  1004 void CAknsSrvSettings::HandlePropertyChangeL(
   993 void CAknsSrvSettings::HandlePropertyChange(
  1005     const TAknsSrvSettingsProperty aProperty )
   994     const TAknsSrvSettingsProperty aProperty )
  1006     {
   995     {
  1007     switch( aProperty )
   996     switch( aProperty )
  1008         {
   997         {
  1009         case EAknsSrvSPUSBAttached:
   998         case EAknsSrvSPUSBAttached:
  1014                 {
  1003                 {
  1015                 iObserver->NotifyUSBAttach();
  1004                 iObserver->NotifyUSBAttach();
  1016                 }
  1005                 }
  1017             else
  1006             else
  1018                 {
  1007                 {
  1019                 iObserver->NotifyUSBRemovalL();
  1008                 iObserver->NotifyUSBRemoval();
  1020                 }
  1009                 }
  1021             }
  1010             }
  1022             break;
  1011             break;
  1023         case EAknsSrvSPLayoutId:
  1012         case EAknsSrvSPLayoutId:
  1024             {
  1013             {
  1045 
  1034 
  1046         case EAknsSrvSPDRMHelperNotification:
  1035         case EAknsSrvSPDRMHelperNotification:
  1047             iObserver->NotifyDRMChange();
  1036             iObserver->NotifyDRMChange();
  1048             break;
  1037             break;
  1049         case EAknsSrvSPWallpaperType:
  1038         case EAknsSrvSPWallpaperType:
  1050             iObserver->NotifyWallpaperTypeChangeL();
  1039             iObserver->NotifyWallpaperTypeChange();
  1051             break;
  1040             break;
  1052         case EAknsSrvSPSlidesetWPTimeout:
  1041         case EAknsSrvSPSlidesetWPTimeout:
  1053             iObserver->NotifySlideSetTimeoutChange();
  1042             iObserver->NotifySlideSetTimeoutChange();
  1054             break;
  1043             break;
  1055         case EAknsSrvSPSlidesetWPType:
  1044         case EAknsSrvSPSlidesetWPType:
  1187         iObserver->NotifyScreenSaverChange();
  1176         iObserver->NotifyScreenSaverChange();
  1188         }
  1177         }
  1189     iDelayedNotification = EFalse;
  1178     iDelayedNotification = EFalse;
  1190     }
  1179     }
  1191 
  1180 
  1192 // -----------------------------------------------------------------------------
       
  1193 // Write Wallpaper Type.
       
  1194 // -----------------------------------------------------------------------------
       
  1195 //
       
  1196 void CAknsSrvSettings::WriteWallpaperType(TInt aType)
       
  1197     {
       
  1198     iSkinsRepository->Set( KPslnWallpaperType, aType );
       
  1199     }
       
  1200 
       
  1201 // -----------------------------------------------------------------------------
       
  1202 // Write Wallpaper Path.
       
  1203 // -----------------------------------------------------------------------------
       
  1204 //
       
  1205 void CAknsSrvSettings::WriteWallpaperPath(const TDesC& aPath)
       
  1206     {
       
  1207     iSkinsRepository->Set( KPslnIdleBackgroundImagePath, aPath );
       
  1208     }
       
  1209 
       
  1210 // End of File
  1181 // End of File