psln/Src/PslnScreenSaverView.cpp
branchRCL_3
changeset 72 a5e7a4f63858
parent 64 85902f042028
equal deleted inserted replaced
64:85902f042028 72:a5e7a4f63858
   277 
   277 
   278         // Restore the original screen saver
   278         // Restore the original screen saver
   279         self->iModel->ActivateScreenSaver(
   279         self->iModel->ActivateScreenSaver(
   280             KErrNotFound,
   280             KErrNotFound,
   281             EPslnScreenSaverPreviewDeactivation );
   281             EPslnScreenSaverPreviewDeactivation );
   282         self->iScreenSaverPreviewing = EFalse;
       
   283 
   282 
   284         if ( self->iContainer )
   283         if ( self->iContainer )
   285             {
   284             {
   286             // Update container.
   285             // Update container.
   287             TRAP_IGNORE(
   286             TRAP_IGNORE(
   562 // CPslnScreenSaverView::HandleScreenSaverActivationL
   561 // CPslnScreenSaverView::HandleScreenSaverActivationL
   563 // -----------------------------------------------------------------------------
   562 // -----------------------------------------------------------------------------
   564 //
   563 //
   565 void CPslnScreenSaverView::HandleScreenSaverActivationL( TInt aCurrentItem )
   564 void CPslnScreenSaverView::HandleScreenSaverActivationL( TInt aCurrentItem )
   566     {
   565     {
   567     // Protect screensaver type during preview.
       
   568     if ( iScreenSaverPreviewing )
       
   569         {
       
   570         return;
       
   571         }
       
   572 
       
   573     TInt PsmMode = 0; 
   566     TInt PsmMode = 0; 
   574     iPsmClient->PsmSettings().GetCurrentMode( PsmMode );
   567     iPsmClient->PsmSettings().GetCurrentMode( PsmMode );
   575     if ( PsmMode == EPsmsrvModePowerSave ) // PSM on, setting is protected
   568     if ( PsmMode == EPsmsrvModePowerSave ) // PSM on, setting is protected
   576         {
   569         {
   577         HBufC* buf = StringLoader::LoadLC( R_PSLN_QTN_PSM_INFONOTE );
   570         HBufC* buf = StringLoader::LoadLC( R_PSLN_QTN_PSM_INFONOTE );
   615 // CPslnScreenSaverView::HandleScreenSaverPreviewL
   608 // CPslnScreenSaverView::HandleScreenSaverPreviewL
   616 // -----------------------------------------------------------------------------
   609 // -----------------------------------------------------------------------------
   617 //
   610 //
   618 void CPslnScreenSaverView::HandleScreenSaverPreviewL( TInt aCurrentItem )
   611 void CPslnScreenSaverView::HandleScreenSaverPreviewL( TInt aCurrentItem )
   619     {
   612     {
   620     // Stop responding to preview again if screensaver is being previewed.
       
   621     if ( iScreenSaverPreviewing )
       
   622         {
       
   623         return;
       
   624         }
       
   625 
       
   626     TRAPD( err, DoInvokeScreenSaverFunctionL(
   613     TRAPD( err, DoInvokeScreenSaverFunctionL(
   627         aCurrentItem,
   614         aCurrentItem,
   628         EScpCapsPreviewNotification ) );
   615         EScpCapsPreviewNotification ) );
   629 
   616 
   630     if ( err == KErrNone )
   617     if ( err == KErrNone )
   631         {        
   618         {        
   632         // Start listening for screensaver preview mode key changes.
   619         // Start listening for screensaver preview mode key changes.
   633         CreatePreviewModeSubscriberL();
   620         CreatePreviewModeSubscriberL();
   634         CreatePreviewStateSubscriberL();
   621         CreatePreviewStateSubscriberL();
   635 
   622         
   636         iScreenSaverPreviewing = ETrue;
       
   637         User::LeaveIfError(
   623         User::LeaveIfError(
   638             iModel->ActivateScreenSaver(
   624             iModel->ActivateScreenSaver(
   639                 aCurrentItem,
   625                 aCurrentItem,
   640                 EPslnScreenSaverPreviewActivation ) );       
   626                 EPslnScreenSaverPreviewActivation ) );       
   641         }
   627         }