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