gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPlugin.h
branchRCL_3
changeset 25 7e0eff37aedb
parent 0 8c5d936e5675
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gssettingsuis/Gs/GSDisplayPlugin/Inc/GSDisplayPlugin.h	Wed Sep 01 12:20:44 2010 +0100
@@ -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 <aknsettingpage.h>
+#include <ConeResLoader.h>
+#include <gsplugininterface.h>
+#include <gsfwviewuids.h>
+#include <gsbaseview.h>
+#include <MMGFetchVerifier.h>
+#include <mgsasyncimagehandlingobserver.h>
+#include <backgroundimage.h>
+#include <eikmenup.h>
+
+#ifdef FF_POWER_SAVE
+    #include <psmtypes.h>
+#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