diff -r 4d54b72983ae -r c743ef5928ba idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Tue Jan 26 11:48:23 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Tue Feb 02 00:04:13 2010 +0200 @@ -42,8 +42,7 @@ * @since S60 v5.0 */ NONSHARABLE_CLASS( CXnBackgroundManager ) : public CCoeControl, - public MAknsSkinChangeObserver, public MCoeViewActivationObserver, - public MDiskNotifyHandlerCallback + public MAknsSkinChangeObserver, public MDiskNotifyHandlerCallback { public: @@ -64,6 +63,7 @@ * * @since S60 5.0 * @param aFileName WallpaperImage image path and filename to be cached + * @param aViewData Page that owns the given wallpaper. * @return Error code. */ TInt CacheWallpaperL( const TDesC& aFileName, CXnViewData& aViewData ); @@ -73,8 +73,17 @@ * * @since S60 5.0 * @param aFileName WallpaperImage image path and filename + * @return Error code. */ - void AddWallpaperL( const TDesC& aFileName ); + TInt AddWallpaperL( const TDesC& aFileName ); + + /** + * Deletes wallpaper from the given page as well as from the cache. + * + * @since S60 5.0 + * @param aViewData Page where the wallpaper is to be destroyed. + */ + void DeleteWallpaper( CXnViewData& aViewData ); /** * Checks whether page specific wallpaper feature is activated or not. @@ -98,7 +107,14 @@ * @param aNewView New view */ void WallpaperChanged( CXnViewData& aOldView, CXnViewData& aNewView ); - + +public: // Functions from base classes + + /** + * @see CCoeControl + */ + void MakeVisible( TBool aVisible ); + private: // Functions from base classes /** @@ -110,7 +126,7 @@ * see CCoeControl */ void SizeChanged(); - + /** * see MAknsSkinChangeObserver */ @@ -129,16 +145,10 @@ const TAknsSkinStatusPackageChangeReason aReason ); /** - * @see MCoeViewActivationObserver - */ - void HandleViewActivation( const TVwsViewId& aNewlyActivatedViewId, - const TVwsViewId& aViewIdToBeDeactivated ); - - /** * From MDiskNotifyHandlerCallback. */ void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent ); - + private: /** @@ -157,12 +167,13 @@ void UpdateWallpapersL(); void CleanCache(); void RemoveWallpaperL( CXnViewData& aViewData ); - void RemoveWallpaperFromCache( const TDesC& aFileName ); + void RemoveWallpaperFromCache( const TDesC& aFileName, CXnViewData* aViewData = NULL ); void RemovableDiskInsertedL(); void CheckFeatureTypeL(); - void AddPageSpecificWallpaperL( const TDesC& aFileName ); - void AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue ); + TInt AddPageSpecificWallpaperL( const TDesC& aFileName ); + TInt AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue ); void ReadWallpaperFromCenrepL(); + void UpdateScreen(); private: // data @@ -215,12 +226,11 @@ * Internal wallpaper update in progress */ TInt iIntUpdate; - + /** - * States whether transparent CBA and status pane is used. - * Homescreen uses transparency, but e.g. Widget catalog does not. + * True if screen needs to be drawn when view becomes visible. */ - TBool iTransparencyEnabled; + TBool iScreenUpdateNeeded; /** * Pointer to wallpaper image. This is used only if same wallpaper