diff -r 000000000000 -r 094583676ce7 wvuing/IMPSConnectionUI/UISrc/CCnUiTermsOfUseDlg.h --- /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 +#include + +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