src/screensaverview.cpp
branchRCL_3
changeset 11 4784a3bc2236
parent 0 040fcad49f44
child 14 d8eca2b0590d
equal deleted inserted replaced
10:1c806ee746e7 11:4784a3bc2236
    29 #include "screensaverctrlnone.h"
    29 #include "screensaverctrlnone.h"
    30 #include "screensaverctrlplugin.h"
    30 #include "screensaverctrlplugin.h"
    31 #include "screensaverengine.h"
    31 #include "screensaverengine.h"
    32 #include "screensavershareddatai.h"
    32 #include "screensavershareddatai.h"
    33 
    33 
       
    34 const TUid KBigClockScreensaverPluginImplUid = { 0x2002E6DE };
    34 
    35 
    35 // -----------------------------------------------------------------------------
    36 // -----------------------------------------------------------------------------
    36 // CScreensaverView::NewLC
    37 // CScreensaverView::NewLC
    37 // add this NewLC code called by UI
    38 // add this NewLC code called by UI
    38 // -----------------------------------------------------------------------------
    39 // -----------------------------------------------------------------------------
    91     switch( aType )
    92     switch( aType )
    92         {
    93         {
    93         case EDisplayPlugin:
    94         case EDisplayPlugin:
    94             {
    95             {
    95             iControl = CScreensaverCtrlPlugin::NewL();
    96             iControl = CScreensaverCtrlPlugin::NewL();
       
    97             CScreensaverCtrlPlugin* pluginCtrl = 
       
    98                 STATIC_CAST( CScreensaverCtrlPlugin*, iControl );
       
    99             if ( pluginCtrl->PluginImplementationUid() ==
       
   100                  KBigClockScreensaverPluginImplUid )
       
   101                 {
       
   102                 iIsContentless = ETrue;
       
   103                 }
    96             break;
   104             break;
    97             }
   105             }
    98             
   106             
    99         case EDisplayTime:
   107         case EDisplayTime:
   100         case EDisplayText:
   108         case EDisplayText:
   104             }
   112             }
   105             
   113             
   106         case EDisplayNone:
   114         case EDisplayNone:
   107             {
   115             {
   108             iControl = CScreensaverCtrlNone::NewL();
   116             iControl = CScreensaverCtrlNone::NewL();
       
   117             iIsContentless = ETrue;
   109             break;
   118             break;
   110             }
   119             }
   111             
   120             
   112         default:
   121         default:
   113             {
   122             {
   154     
   163     
   155     Model().SharedDataInterface()->SetScreensaverPreviewState(
   164     Model().SharedDataInterface()->SetScreensaverPreviewState(
   156         EScreenSaverPreviewError );
   165         EScreenSaverPreviewError );
   157     }
   166     }
   158 
   167 
       
   168 // ---------------------------------------------------------------------------
       
   169 // CScreensaverView::IsContentlessScreensaver
       
   170 // ---------------------------------------------------------------------------
       
   171 //
       
   172 TBool CScreensaverView::IsContentlessScreensaver() const
       
   173     {
       
   174     return iIsContentless;
       
   175     }
       
   176 
   159 // -----------------------------------------------------------------------------
   177 // -----------------------------------------------------------------------------
   160 // CScreensaverView::Id
   178 // CScreensaverView::Id
   161 // -----------------------------------------------------------------------------
   179 // -----------------------------------------------------------------------------
   162 //
   180 //
   163 TUid CScreensaverView::Id( ) const
   181 TUid CScreensaverView::Id( ) const
   201 //
   219 //
   202 void CScreensaverView::HideDisplayObject()
   220 void CScreensaverView::HideDisplayObject()
   203     {
   221     {
   204     SCRLOGGER_WRITEF(_L("SCR: CScreensaverView::HideDisplayObject "));
   222     SCRLOGGER_WRITEF(_L("SCR: CScreensaverView::HideDisplayObject "));
   205     iControl->StopDrawObject();
   223     iControl->StopDrawObject();
   206     
   224 
   207     ScreensaverUtility::SendToBackground();
   225     if ( !IsContentlessScreensaver() )
       
   226         {
       
   227         ScreensaverUtility::SendToBackground();
       
   228         }
   208     }
   229     }
   209 
   230 
   210 // -----------------------------------------------------------------------------
   231 // -----------------------------------------------------------------------------
   211 // CScreensaverView::UpdateAndRefresh
   232 // CScreensaverView::UpdateAndRefresh
   212 // Updates indicators and refreshes the display
   233 // Updates indicators and refreshes the display
   255     if( iControl )
   276     if( iControl )
   256         {
   277         {
   257         delete iControl;
   278         delete iControl;
   258         iControl = NULL;
   279         iControl = NULL;
   259         }
   280         }
       
   281     iIsContentless = EFalse;
   260     }
   282     }
   261 // End of file
   283 // End of file