diff -r 000000000000 -r 8c5d936e5675 gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPlugin.h Thu Dec 17 08:52:52 2009 +0200 @@ -0,0 +1,335 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: View for Display settings. +* +*/ + + +#ifndef GSDISPLAYPLUGIN_H +#define GSDISPLAYPLUGIN_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef FF_POWER_SAVE + #include +#endif // FF_POWER_SAVE + +// CONSTANTS +const TUid KGSDisplayPluginUid = { 0x10207441 }; +_LIT( KGSDefaultDisplayIconFileName, "Z:\\resource\\apps\\GSDisplayplugin.mbm"); +_LIT( KGSDisplayPluginIconFileName, "\\resource\\apps\\GSDisplayplugin.mif"); + +const TInt KGSOpLogoLbxIndexOn = 0; +const TInt KGSOpLogoLbxIndexOff = 1; +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD CLASS DECLARATION +class CAknViewAppUi; +class CAknWaitDialog; +class CAknRadioButtonSettingPage; +//class CAknQueryDialog; +class CGSDisplayPluginContainer; +class CGSDisplayPluginModel; + +#ifdef FF_POWER_SAVE + class CGSDisplayPluginAO; +#endif // FF_POWER_SAVE + +// CLASS DECLARATION +/** +* CGSDisplayPlugin view class +* +* Plugin implementation for Display settings +* @lib GSDisplayPlugin.lib +* @since Series 60_3.1 +*/ +class CGSDisplayPlugin : public CGSBaseView, + public MAknSettingPageObserver, + public MMGFetchVerifier, + public MGSAsyncImageHandlingObserver + { + public: + + enum TGSSettingIds + { + KGSContrastSettingId, + KGSBrightnessSettingId, + KGSSaverObjectSettingId, + KGSAutodisconSettingId, + KGSWelcomeNoteSettingId, + KGSAmbientLightSensorId + }; + + public: // Constructors and destructor + + /** + * Symbian OS two-phased constructor + * @return GS connection view. + */ + static CGSDisplayPlugin* NewL( TAny* aInitParams ); + + /** + * Destructor. + */ + ~CGSDisplayPlugin(); + + public: // from base classes + + /** + * Returns view id. + * @return TUid + */ + TUid Id() const; + + /** + * Handles commands. + * @param aCommand Command to be handled. + * + */ + void HandleCommandL( TInt aCommand ); + + public: // From CGSPluginInterface + + /** + * @see CGSPluginInterface header file. + */ + void GetCaptionL( TDes& aCaption ) const; + + /** + * @see CGSPluginInterface header file. + */ + TInt PluginProviderCategory() const; + + /** + * See base class. + */ + CGulIcon* CreateIconL( const TUid aIconType ); + + public: // from MAknSettingPageObserver + + /** + * Handle setting page events + */ + virtual void HandleSettingPageEventL( CAknSettingPage* aSettingPage, + TAknSettingPageEvent aEventType ); + + public: //new + + /** + * Updates listbox's item's value. + * @param aItemId An item which is updated. + * + */ + void UpdateListBoxL( TInt aItemId ); + + /** + * Get CGSDisplayPlugin's ccontainer. + */ + CGSDisplayPluginContainer* Container(); + + + /** + * Updates display plugin view. + */ + void UpdateViewL(); + void CloseDialog(); + + protected: // From CAknView + + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + void DoDeactivate(); + + protected: // From MEikMenuObserver + + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + protected: + + /** + * C++ default constructor. + */ + CGSDisplayPlugin(); + + /** + * Symbian OS default constructor. + * + */ + void ConstructL(); + + void HandleClientRectChange(); + + private: // from CGSBaseView + + void NewContainerL(); + void HandleListBoxSelectionL(); + + private: //from MMGFetchVerifier + + /** + * Display Backlight setting page + */ + TBool VerifySelectionL( const MDesCArray* aSelectedFiles ); + + private: //from MGSSyncImageHandlingObserver + /** + * Display Welcome note image list from media gallery + */ + void ImageHandlingCompleteL( TInt aError ); + + private: //new methods + + /** + * Display Constrast setting page + */ + void ShowContrastSettingPageL(); + + /** + * Display Brightness setting page + */ + void ShowBrightnessSettingPageL(); + + /** + * Display ALS setting page + */ + void ShowAmbientLightSensorSettingPageL(); + + /** + * Display Screen saver timeout setting page + */ + void ShowScreenSaverPeriodSettingPageL(); + + /** + * Display Backlight setting page + */ + void ShowBacklightSettingPageL(); + + /** + * Display Welcome note setting page + */ + void ShowWelcomeNoteSettingPageL(); + + /** + * Display Welcome note text input dialog + */ + void ShowWelcomeNoteTextQueryL(); + + /** + * Display Welcome note image list from media gallery + */ + void ShowWelcomeNoteImageListL(); + + + /** + * Show display text size setting page + */ + void ShowDisplayTextSizeSettingPageL(); + + + /** + * Display Power save LED setting page + * @param aSettingPage ETrue if setting page is to be shown + * EFalse, otherwise + */ + void ShowPowerSaveLedSettingPageL( TBool aSettingPage ); + + /** + * Display load wait-note dialog during image loading + */ + void ShowImageLoadWaitNoteL(); + + /** + * Hide load wait-note dialog after the image is loaded + */ + void HideImageLoadWaitNoteL(); + + /** + * Check if the input file is DRM protected + * @param aOriginalFileName Path of the bitmap file + * @return ETrue if file is DRM protected. + * EFalse otherwise. + */ + TBool CheckDRMProtectionL( const TDesC& aOriginalFileName ); + + /** + * Handle any errors during image processing + * @param aError system wide error code + */ + void HandleImageErrorsL( TInt aError ); + + /** + * Changes operator logo value. + * @param aUseSettingPage ETrue if setting page should be used. + * EFalse is just switch between the values. + */ + void ChangeOperatorLogoSettingL( TBool aUseSettingPage ); + + /** + * Displays operator logo setting page. + * @param aOperatorLogoValue current operator logo value. + */ + TBool ShowOperatorLogoSettingPageL( TInt& aOperatorLogoValue ); +#ifdef FF_POWER_SAVE + /** + * Displays blocking note. Used if PSM is on. + */ + void DisplayBlockNoteL(); +#endif // FF_POWER_SAVE + + protected: + //check if screen saver text is to be updated + TBool iUpdateSSText; + //check if welcome note is supported + TBool iUpdateWNote; + // for load wait dialog + CAknWaitDialog* iWaitDialog; + CAknRadioButtonSettingPage* iOprtLogoSettingPage; + + private: + // plugin model + CGSDisplayPluginModel *iModel; + // resource loader + RConeResourceLoader iResourceLoader; + //for image handling + CGSAsyncImageHandling* iImageHandler; + //welcome note type: none, text, image + TInt iWelcomeNoteType; + TBool iReshowOprtSetPage; +#ifdef FF_POWER_SAVE + // Active object for handling PSM realted CenRep events. + CGSDisplayPluginAO* iPsmActive; +#endif // FF_POWER_SAVE + // Prevent multiple launch the MFetch. + TBool iLaunchedImageFetch; + + }; + + + #endif // GSDISPLAYPLUGIN_H + +//End of File