equal
deleted
inserted
replaced
19 // INCLUDE FILES |
19 // INCLUDE FILES |
20 |
20 |
21 // RProperty keys. |
21 // RProperty keys. |
22 #include <e32cmn.h> |
22 #include <e32cmn.h> |
23 #include <e32def.h> |
23 #include <e32def.h> |
24 #include <ScreensaverInternalPSKeys.h> |
|
25 #include <ScreensaverInternalCRKeys.h> |
|
26 |
24 |
27 // Central repository. |
25 // Central repository. |
28 #include <centralrepository.h> |
26 #include <centralrepository.h> |
29 #include <cenrepnotifyhandler.h> |
27 #include <cenrepnotifyhandler.h> |
30 |
28 |
70 { |
68 { |
71 BaseConstructL( R_PSLN_SCREENSAVER_VIEW ); |
69 BaseConstructL( R_PSLN_SCREENSAVER_VIEW ); |
72 |
70 |
73 iNaviPaneContext = iPslnUi->PslnTabGroup(); |
71 iNaviPaneContext = iPslnUi->PslnTabGroup(); |
74 |
72 |
75 iScreenSaverRepository = CRepository::NewL( KCRUidScreenSaver ); |
73 iScreenSaverRepository = NULL; |
76 iScreenSaverNotifier = CCenRepNotifyHandler::NewL( |
74 iScreenSaverNotifier = CCenRepNotifyHandler::NewL( |
77 *this, |
75 *this, |
78 *iScreenSaverRepository, |
76 *iScreenSaverRepository, |
79 CCenRepNotifyHandler::EIntKey, |
77 CCenRepNotifyHandler::EIntKey, |
80 KScreenSaverObject ); |
78 NULL ); |
81 |
79 |
82 // Load screensavers. |
80 // Load screensavers. |
83 iModel->LoadScreensaverArrayL(); |
81 iModel->LoadScreensaverArrayL(); |
84 } |
82 } |
85 |
83 |
305 if ( self->iPreviewStateSubscriber ) |
303 if ( self->iPreviewStateSubscriber ) |
306 { |
304 { |
307 self->iPreviewStateProperty.Get( value ); |
305 self->iPreviewStateProperty.Get( value ); |
308 } |
306 } |
309 |
307 |
310 if ( value == EScreenSaverPreviewNone || |
|
311 value == EScreenSaverPreviewEnd || |
|
312 value == EScreenSaverPreviewCancel || |
|
313 value == EScreenSaverPreviewError || |
|
314 value == EScreenSaverPreviewInvalid ) |
|
315 { |
|
316 |
|
317 // Stop listening for preview mode changes. |
|
318 if ( self->iPreviewStateSubscriber ) |
|
319 { |
|
320 self->iPreviewStateSubscriber->Cancel(); |
|
321 } |
|
322 } |
|
323 else |
|
324 { |
|
325 switch ( value ) |
|
326 { |
|
327 case EScreenSaverPreviewLoading: |
|
328 self->LaunchNote(); |
|
329 break; |
|
330 case EScreenSaverPreviewLoaded: |
|
331 case EScreenSaverPreviewStart: |
|
332 self->RemoveNote(); |
|
333 break; |
|
334 default: |
|
335 break; |
|
336 } |
|
337 } |
|
338 return KErrNone; |
308 return KErrNone; |
339 } |
309 } |
340 |
310 |
341 // ----------------------------------------------------------------------------- |
311 // ----------------------------------------------------------------------------- |
342 // Screensaver array needs to be loaded before activating the view. |
312 // Screensaver array needs to be loaded before activating the view. |
508 |
478 |
509 // ----------------------------------------------------------------------------- |
479 // ----------------------------------------------------------------------------- |
510 // If wallpaper image has changed, update container. |
480 // If wallpaper image has changed, update container. |
511 // ----------------------------------------------------------------------------- |
481 // ----------------------------------------------------------------------------- |
512 // |
482 // |
513 void CPslnScreenSaverView::HandleNotifyInt( TUint32 aId, TInt /*aNewValue*/ ) |
483 void CPslnScreenSaverView::HandleNotifyInt( TUint32 /*aId*/, TInt /*aNewValue*/ ) |
514 { |
484 { |
515 if ( aId != KScreenSaverObject ) |
|
516 { |
|
517 return; |
|
518 } |
|
519 |
485 |
520 TInt value = KErrNone; |
486 TInt value = KErrNone; |
521 if ( iPreviewModeSubscriber ) |
487 if ( iPreviewModeSubscriber ) |
522 { |
488 { |
523 iPreviewModeProperty.Get( value ); |
489 iPreviewModeProperty.Get( value ); |
536 // If the whole repository changes, update container. |
502 // If the whole repository changes, update container. |
537 // ----------------------------------------------------------------------------- |
503 // ----------------------------------------------------------------------------- |
538 // |
504 // |
539 void CPslnScreenSaverView::HandleNotifyGeneric( TUint32 aId ) |
505 void CPslnScreenSaverView::HandleNotifyGeneric( TUint32 aId ) |
540 { |
506 { |
541 if ( ( aId == NCentralRepositoryConstants::KInvalidNotificationId || |
507 if ( aId == NCentralRepositoryConstants::KInvalidNotificationId || iContainer ) |
542 aId == KScreenSaverObject ) && iContainer ) |
|
543 { |
508 { |
544 // Update container. |
509 // Update container. |
545 TRAP_IGNORE( |
510 TRAP_IGNORE( |
546 static_cast<CPslnScreenSaverContainer*> |
511 static_cast<CPslnScreenSaverContainer*> |
547 (iContainer)->UpdateListBoxL() ); |
512 (iContainer)->UpdateListBoxL() ); |
640 // ----------------------------------------------------------------------------- |
605 // ----------------------------------------------------------------------------- |
641 // |
606 // |
642 void CPslnScreenSaverView::HandleScreenSaverSettingsL( TInt aCurrentItem ) |
607 void CPslnScreenSaverView::HandleScreenSaverSettingsL( TInt aCurrentItem ) |
643 { |
608 { |
644 // Indicate to the plugin that active screensaver is possibly modified. |
609 // Indicate to the plugin that active screensaver is possibly modified. |
645 TInt selectedItem = iModel->CurrentPropertyIndexL( KPslnScreenSettingId ); |
|
646 if ( selectedItem == aCurrentItem ) |
|
647 { |
|
648 User::LeaveIfError( |
|
649 RProperty::Set( |
|
650 KPSUidScreenSaver, |
|
651 KScreenSaverPluginSettingsChanged, |
|
652 EScreenSaverPluginSettingsChanging ) ); |
|
653 } |
|
654 // Configure plugin. |
610 // Configure plugin. |
655 TRAP_IGNORE( DoInvokeScreenSaverFunctionL( |
611 TRAP_IGNORE( DoInvokeScreenSaverFunctionL( |
656 aCurrentItem, |
612 aCurrentItem, |
657 EScpCapsConfigure ) ); |
613 EScpCapsConfigure ) ); |
658 } |
614 } |
743 // |
699 // |
744 void CPslnScreenSaverView::CreatePreviewModeSubscriberL() |
700 void CPslnScreenSaverView::CreatePreviewModeSubscriberL() |
745 { |
701 { |
746 if ( !iPreviewModeSubscriber ) |
702 if ( !iPreviewModeSubscriber ) |
747 { |
703 { |
748 User::LeaveIfError( |
|
749 iPreviewModeProperty.Attach( |
|
750 KPSUidScreenSaver, |
|
751 KScreenSaverPreviewMode ) ); |
|
752 iPreviewModeSubscriber = |
704 iPreviewModeSubscriber = |
753 new (ELeave) CPslnPropertySubscriber( |
705 new (ELeave) CPslnPropertySubscriber( |
754 TCallBack( HandlePreviewModeChanged, this ), |
706 TCallBack( HandlePreviewModeChanged, this ), |
755 iPreviewModeProperty ); |
707 iPreviewModeProperty ); |
756 } |
708 } |
759 |
711 |
760 void CPslnScreenSaverView::CreatePreviewStateSubscriberL() |
712 void CPslnScreenSaverView::CreatePreviewStateSubscriberL() |
761 { |
713 { |
762 if ( !iPreviewStateSubscriber ) |
714 if ( !iPreviewStateSubscriber ) |
763 { |
715 { |
764 User::LeaveIfError( |
|
765 iPreviewStateProperty.Attach( |
|
766 KPSUidScreenSaver, |
|
767 KScreenSaverPreviewState ) ); |
|
768 iPreviewStateSubscriber = |
716 iPreviewStateSubscriber = |
769 new (ELeave) CPslnPropertySubscriber( |
717 new (ELeave) CPslnPropertySubscriber( |
770 TCallBack( HandlePreviewStateChanged, this ), |
718 TCallBack( HandlePreviewStateChanged, this ), |
771 iPreviewStateProperty ); |
719 iPreviewStateProperty ); |
772 } |
720 } |