wvuing/IMPSConnectionUI/UISrc/CCnUiTermsOfUseDlg.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/IMPSConnectionUI/UISrc/CCnUiTermsOfUseDlg.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,237 @@
+/*
+* Copyright (c) 2006 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:  Dialog for showing the Terms of Use for a chat server
+*
+*
+*/
+
+
+#ifndef CCNUITERMSOFUSEDLG_H
+#define CCNUITERMSOFUSEDLG_H
+
+#include <akndialog.h>
+#include <itemfinder.h>
+
+class CEikRichTextEditor;
+class CParaFormatLayer;
+class CCharFormatLayer;
+class CAknsBasicBackgroundControlContext;
+class CFindItemMenu;
+class CAknTitlePane;
+
+/**
+ *  Dialog for showing the Terms of use -text
+ *
+ *  @lib IMPSConnectionUi.lib
+ *  @since S60 3.1u
+ */
+NONSHARABLE_CLASS( CCnUiTermsOfUseDlg ) : public CAknDialog,
+        public MItemFinderObserver
+    {
+public:
+
+    /**
+     * Executes the dialog and destroys it before returning
+     * @since 3.1u
+     * @return EAknSoftkeyOk if user accepted.
+     *         EAknSoftkeyCancel if user cancelled
+     */
+    TInt RunDialogLD( TInt aResourceId );
+
+    static CCnUiTermsOfUseDlg* NewL( const TDesC& aToUFileName );
+
+    static CCnUiTermsOfUseDlg* NewLC( const TDesC& aToUFileName );
+
+    virtual ~CCnUiTermsOfUseDlg();
+
+public: // from MObjectProvider
+
+    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
+
+protected:  // from CEikDialog
+
+    /**
+    * @see CEikDialog
+    */
+    void PreLayoutDynInitL();
+
+    /**
+    * @see CEikDialog
+    */
+    void PostLayoutDynInitL();
+
+    /**
+    * @see CEikDialog
+    */
+    TBool OkToExitL( TInt aButtonId );
+
+    /**
+    * @see CEikDialog
+    */
+    void SetSizeAndPosition( const TSize& aSize );
+
+    /**
+    * @see CEikDialog
+    */
+    void SizeChanged();
+
+protected:  //from base class CCoeControl
+
+    /**
+    * @see CCoeControl
+    */
+    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+                                 TEventCode aType );
+
+    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+    /**
+    * @see CCoeControl
+    */
+    void HandleResourceChange( TInt aType );
+
+protected:  // From MItemFinderObserver
+
+    /**
+     * @see MItemFinderObserver
+     */
+    void HandleParsingComplete();
+
+private:
+
+    CCnUiTermsOfUseDlg();
+
+    void ConstructL( const TDesC& aToUFileName );
+
+private:	//from MEikCommandObserver
+
+    /**
+    * @see MEikCommandObserver
+    */
+    void ProcessCommandL( TInt aCommand );
+
+private:    // new functions
+
+    /**
+     * Inserts line to rich text object
+     * @since 3.1u
+     * @param aTextResourceId Resource for text in line
+     * @param aBold Should text be bolded
+     */
+    void InsertLineL( TInt aTextResourceId, TBool aBold = EFalse );
+
+    /**
+     * Inserts line to rich text object
+     * @since 3.1u
+     * @param aText Text for line
+     * @param aBold Should text be bolded
+     */
+    void InsertLineL( const TDesC& aText, TBool aBold = EFalse );
+
+    /**
+    * Search the LAF specified font for invite dialog
+    * @since 3.1u
+    * @return LAF specified font
+    */
+    const CFont* GetLayoutFont();
+
+    /**
+    * Show confirmation query when user tries to cancel TOU dialog
+    * @since 3.1u
+    * @return Query return value
+    */
+    TInt AskCancelConfirmationL();
+
+    /**
+    * Show accept terms -list query
+    * @since 3.1u
+    * @return Query return value
+    */
+    TInt AcceptTermsL();
+
+    /**
+    * Gets the instance of the title pane
+    * @return Title pane pointer
+    * @since 3.1u
+    */
+    CAknTitlePane* GetTitlePaneInstanceL() const;
+
+    /**
+    * Stores the old title pane text and sets a custom one
+    * @since 3.1u
+    */
+    void SetNewTitleTextL();
+
+    /**
+    * Retores the old title pane text
+    * @since 3.1u
+    */
+    void RestoreTitlePaneTextL() const;
+
+    /**
+     * Updates CBA.
+     * @since S60 v3.2
+     */
+    void UpdateCbaL();
+
+    /**
+     * Helper method to update TOU message text color according to
+     * current skin.
+     * Note! This will not update text control
+     * @since S60 v3.1u
+     */
+    void UpdateTextColorL();
+
+    /**
+     * Reads Terms of Use (ToU) message from file (iToUFileName).
+     * Leaves the returned descriptor in CleanupStack.
+     * @since S60 v3.1
+     * @return HBufC* Pointer to descriptor containing
+     *                the ToU message.
+     */
+    HBufC* ReadToUMessageLC();
+
+private: // data
+
+    // own.
+    CFindItemMenu* iFindItemMenu;
+
+    // not own
+    CEikRichTextEditor* iEditor;
+
+    // own
+    CItemFinder* iItemFinder;
+
+    // Return value of this dialog
+    TInt iReturnVal;
+
+    // Not Own. Paragraph formatter
+    CParaFormatLayer* iParaFormatLayer;
+
+    // Not Own. Character formatter
+    CCharFormatLayer* iCharFormatLayer;
+
+    // Own. For controlling the background image
+    CAknsBasicBackgroundControlContext* iBgContext;
+
+    // Own.
+    HBufC* iOldTitleText;
+
+    TInt* iRetVal; // Not own, return value of the dialog,
+
+    // Own.
+    HBufC* iToUFileName;
+    };
+
+#endif // CCNUITERMSOFUSEDLG_H