mobilemessaging/mmsui/notviewerinc/NotViewerAppUi.h
changeset 0 72b543305e3a
equal deleted inserted replaced
-1:000000000000 0:72b543305e3a
       
     1 /*
       
     2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  
       
    15 *      Notification Viewer
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 
       
    21 #ifndef NOTVIEWERAPPUI_H
       
    22 #define NOTVIEWERAPPUI_H
       
    23 
       
    24 //  INCLUDES
       
    25 #include <bldvariant.hrh>
       
    26 #include <finditemengine.h>             // FindItem stuff 
       
    27 #include <MsgEditorAppUi.h>             // CMsgEditorAppUi
       
    28 #include <ConeResLoader.h>              // ResLoader
       
    29 #include <cenrepnotifyhandler.h> // link against CenRepNotifHandler.lib
       
    30 #include <MuiuMsvSingleOpWatcher.h>     // Single operation watcher
       
    31 #include <muiumsvuiserviceutilitiesinternal.h> // TMuiuAddressType
       
    32 
       
    33 #include <MsvPrgReporter.h>             // MMsvProgressDecoder
       
    34 #include <AknNaviDecoratorObserver.h>   // MAknNaviDecoratorObserver
       
    35 #include <txtfrmat.h>
       
    36 
       
    37 #ifdef RD_SCALABLE_UI_V2
       
    38 #include <akntoolbarobserver.h>
       
    39 #include "NotUi.hrh"
       
    40 #endif
       
    41 
       
    42 #include "NotViewer.hrh"                // Panic codes
       
    43 
       
    44 // FUNCTION PROTOTYPES
       
    45 GLREF_C void Panic(TNotViewerExceptions aPanic); 
       
    46 
       
    47 // FORWARD DECLARATIONS
       
    48 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
    49 class CAknNavigationDecorator;
       
    50 #endif
       
    51 class CAknNavigationControlContainer;
       
    52 class CEikRichTextEditor;
       
    53 class CRichText;
       
    54 class CNotViewerDocument;
       
    55 class CMmsNotificationClientMtm;
       
    56 class CSendUi;
       
    57 class CFindItemMenu;
       
    58 class CFindItemEngine;
       
    59 class CMsgAddressControl;
       
    60 class CMmsSettingsHandler;
       
    61 class CRepository;
       
    62 class CMsgVoIPExtension;
       
    63 class CAknInputBlock;
       
    64 class CUniAddressHandler;
       
    65 #ifdef RD_SCALABLE_UI_V2
       
    66 class CAknToolbar;
       
    67 #endif
       
    68 
       
    69 
       
    70 // CLASS DECLARATION
       
    71 /**
       
    72 *  CNotViewerAppUi
       
    73 *  Inherited from CMsgEditorAppUi
       
    74 */
       
    75 class CNotViewerAppUi : public CMsgEditorAppUi,     
       
    76                         public MMsvSingleOpWatcher,
       
    77                         public MCenRepNotifyHandlerCallback,
       
    78                         public MMsvProgressDecoder
       
    79 #ifdef RD_SCALABLE_UI_V2
       
    80 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
    81                         , public MAknNaviDecoratorObserver       //pen support for navi decorator
       
    82 #endif
       
    83                         , public MAknToolbarObserver             //toolbar
       
    84 #endif
       
    85     {
       
    86 
       
    87     public:  // Constructors and destructor
       
    88         
       
    89         /**
       
    90         * C++ default constructor.
       
    91         */
       
    92         CNotViewerAppUi();
       
    93 
       
    94         /**
       
    95         * Destructor.
       
    96         */
       
    97         virtual ~CNotViewerAppUi();
       
    98 
       
    99     public: // From base classes
       
   100 
       
   101         /**
       
   102         * EntryChangedL (from CMsgEditorAppUi)
       
   103         * Called by Document when the TMsvEntry (usually status field)
       
   104         * has been changed. This function updates the field in richtext body.
       
   105         * (by calling these AddXXXFieldL functions)
       
   106         */
       
   107         void EntryChangedL( );
       
   108 
       
   109         /**
       
   110         * From MMsvSingleOpWatcher, called when operation has completed
       
   111         */
       
   112         virtual void OpCompleted(
       
   113             CMsvSingleOpWatcher& aOpWatcher,
       
   114             TInt aCompletionCode );
       
   115 
       
   116         /**
       
   117         * Called by OpCompleted when user has selected to delete notification
       
   118         * both from server and locally. It initializes CAknInputBlock,
       
   119         * starts the local delete process and initializes iIdle
       
   120         */
       
   121         void DoDeleteOpCompletedL( );
       
   122             
       
   123         /**
       
   124         * From MMsvProgressDecoder
       
   125         * decode progress
       
   126         * @param aProgress: progress buffer
       
   127         * @param aReturnString: String to be displayed to the user usually in the CMsvWrappableProgressDialog dialog.
       
   128         * @param aTotalEntryCount: total entries to be processes
       
   129         * @param aEntriesDone: entries processes so far
       
   130         * @param aCurrentEntrySize: total size of the entries to be processes
       
   131         *           used to display progress bar (for example mail size to be fetched is 42000 bytes)
       
   132         *           If for example deleting messges then this should be number of messages to be deleted
       
   133         * @param aCurrentBytesTrans: number of bytes received so far
       
   134         *           used to display progress bar (for example received bytes is 21000 bytes, then progress bar half done)
       
   135         *           If for example deleting messges then this should be number of messages to deleted so far
       
   136         * @param aInternal: used only in CImapConnectionOp
       
   137         */
       
   138         TInt DecodeProgress (
       
   139             const TDesC8& aProgress,
       
   140             TBuf<CBaseMtmUi::EProgressStringMaxLen>& aReturnString,
       
   141             TInt& aTotalEntryCount,
       
   142             TInt& aEntriesDone,
       
   143             TInt& aCurrentEntrySize,
       
   144             TInt& aCurrentBytesTrans, TBool aInternal );
       
   145 
       
   146     private: // New functions
       
   147         
       
   148         /**
       
   149         * The handling of opening options-menu
       
   150         * @param aMenuPane pointer to CEikMenuPane
       
   151         */
       
   152         void DynInitOptionsMenuL( CEikMenuPane* aMenuPane );
       
   153 
       
   154         /**
       
   155         * The handling of opening reply-menu
       
   156         * @param aMenuPane pointer to CEikMenuPane
       
   157         */
       
   158         void DynInitReplyMenuL( CEikMenuPane* aMenuPane );
       
   159 
       
   160         /**
       
   161         * The handling of opening context sensitive menu
       
   162         * @param aMenuPane pointer to CEikMenuPane
       
   163         */
       
   164         void DynInitContextMenuL( CEikMenuPane* aMenuPane );
       
   165 
       
   166         /**
       
   167         * Starts the fetching of MMS message. Calls the FetchMessageL
       
   168         * function of NotificationClientMtm
       
   169         */
       
   170         void FetchL( );
       
   171 
       
   172         /**
       
   173         * Turns Viewer into Editor for forwarding the notification.
       
   174         * Calls Forward function of the base class CMsgEditorAppUi.
       
   175         * In the end updates the body text by calling EntryChangedL.
       
   176         */
       
   177         void DoForwardL( );
       
   178 
       
   179         /**
       
   180         * First verifies all the addresses in the TO field. Then calls
       
   181         * SendL function of NotificationClientMtm to send the forward request.
       
   182         * Exists the Viewer in the end.
       
   183         */
       
   184         void SendL( );
       
   185 
       
   186         /**
       
   187         * Replying to a message. Uses CSendAppUi to open either MMS or SMS Editor.
       
   188         * Exists the Notification Viewer after opening the Editor.
       
   189         * Overrides the function in base class.
       
   190         * @param aReplyMms IN If ETrue, opens MMS Editor, otherwise SMS Editor.
       
   191         */
       
   192         void UniReplyL( TBool aReplyMms );
       
   193 
       
   194         /**
       
   195         * Deletes the notification that is currently open in the Notification Viewer.
       
   196         * There are three different alternatives: For all the notifications it calls
       
   197         * DeleteNotificationL function of NotificationClientMtm. For unsent Forward
       
   198         * Request just Exit is called (as there's nothing saved in the MCE for unsent
       
   199         * messages). For sent Forward Request DeleteAndExitL function is called.
       
   200         */
       
   201         void DeleteNotificationL( );
       
   202         
       
   203         /**
       
   204         * Calls MsvUiServiceUtilities's CallServiceL function to make a phone call
       
   205         * either the sender of the notification or focused number in body field
       
   206         */
       
   207         void CallToNumberL( );
       
   208      
       
   209         /**
       
   210         * Calls MmsAddressHandler's AddRecipientL function to add recipients into 
       
   211         * the To field. Moves focus there if recipients were added.
       
   212         */
       
   213         void AddRecipientL( );
       
   214 
       
   215         /**
       
   216         * Calls VerifyAddressesL to verify the addresses in the To field.
       
   217         */
       
   218         void CheckNamesL( );        
       
   219 
       
   220         /**
       
   221         * VerifyAddressesL()
       
   222         * Calls MmsAddressHandler's VerifyAddressesL function to verify every address.
       
   223         * @param aModified OUT ETrue, if some of the address where modified during verification
       
   224         * @retun ETrue if all the addresses are OK
       
   225         */
       
   226         TBool VerifyAddressesL( TBool& aModified );
       
   227 
       
   228         /**
       
   229         * Calls HlpLauncher's LaunchHelpApplicationL function to launch Help application.
       
   230         */
       
   231         void LaunchHelpL( );
       
   232 
       
   233         /**
       
   234         * Launch msg info dialog
       
   235         * If the address control has been modified since the message has been saved the previous
       
   236         * time, AddressHandler's CopyAddressToMtmL function is called to update the Client MTM.
       
   237         * Then the message is saved by calling Client MTM's SaveMessageL function.
       
   238         * Then UI MTM's InvokeAsyncFunctionL function is called with command id
       
   239         * KMtmUiFunctionMessageInfo.
       
   240         */
       
   241         void MessageDetailsL( );
       
   242 
       
   243         /**
       
   244         * Returns a pointer to current richtext
       
   245         * @return reference to CEikRichText
       
   246         */
       
   247         CRichText& RichText( ) const;
       
   248 
       
   249         /**
       
   250         * Return a pointer to document-object
       
   251         * Overrides the function in base class.
       
   252         * @return CNotEditorDocument* a pointer to CNotViewerDocument-object
       
   253         */        
       
   254         CNotViewerDocument* Document( ) const;
       
   255         
       
   256         /**
       
   257         * Adds a label and value pair.
       
   258         * @param aLabel text to displayed in label text format.
       
   259         * @param aValue text to displayed in text format.
       
   260         */
       
   261         void AddItemL( const TDesC& aLabel, const TDesC& aValue );
       
   262 
       
   263         /**
       
   264         * Applies the format of value and label text to viewer.
       
   265         * @param aFormat Character format to be applied. 
       
   266         * @param aMask Character format mask
       
   267         * @aIsLabel Determines is the text label or value. 
       
   268         */
       
   269         void ApplyFormat( TCharFormat& aFormat, TCharFormatMask& aMask, TBool aIsLabel );
       
   270 
       
   271         /**
       
   272         * Add text to viewer, checks and removes linefeeds and carriage returns
       
   273         * @param aText text to be added
       
   274         * @param aFormat Character format
       
   275         * @param aMask Character format mask
       
   276         */
       
   277         void AppendTextL( const TDesC& aText,
       
   278             const TCharFormat& aFormat,
       
   279             const TCharFormatMask& aMask );
       
   280 
       
   281         /**
       
   282         * Returns the control id of the currently focused control.
       
   283         * @return Control id of the focused control or
       
   284         *         EMsgComponentIdNull if no control focused
       
   285         */
       
   286         TInt FocusedControlId();
       
   287 
       
   288     protected: // Functions from base classes
       
   289 
       
   290         /**
       
   291         * From CMsgEditorAppUi
       
   292         * This handles the case if mms entry currently viewed is suddenly deleted from MSGS
       
   293         * In other words, just Exit is called.
       
   294         */
       
   295         void HandleEntryDeletedL( );
       
   296 
       
   297         /**
       
   298         * From CMsgEditorAppUi
       
   299         * This handles the case if mms entry currently viewer is changed (status changed etc.)
       
   300         */
       
   301         void HandleEntryChangeL();
       
   302     
       
   303         /**
       
   304         * From MMsgEditorObserver
       
   305         */
       
   306     	void EditorObserver(
       
   307 	        TMsgEditorObserverFunc aFunc, TAny* aArg1, TAny* aArg2, TAny* aArg3);
       
   308 
       
   309         void DoEditorObserverL(TMsgEditorObserverFunc aFunc, TAny* aArg1, TAny* aArg2, TAny* aArg3);
       
   310 
       
   311         /**
       
   312         * From MAknNaviDecoratorObserver
       
   313         * Handles the events coming from arrow presses
       
   314         *  related to next/previous message
       
   315         */
       
   316 #ifdef RD_SCALABLE_UI_V2
       
   317 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
   318         void HandleNaviDecoratorEventL( TInt aEventID );   
       
   319 #endif
       
   320 #endif        
       
   321     private: // Functions from base classes
       
   322 
       
   323         /**
       
   324         * From MsgEditorAppUi 
       
   325         * Calls just Exit() as nothing is really saved in Notification Viewer when
       
   326         * exit is pressed.
       
   327         */
       
   328         void DoMsgSaveExitL( );
       
   329             
       
   330         /**
       
   331         * DoSaveL( )
       
   332         * This is called only before the sending of a Forward Request is started.
       
   333         * It first calls AddressHandler's function CopyAddressesToMtmL and then calls
       
   334         * ClientMtm's SaveMessageL to save the latest changes. Then AddressHandler's
       
   335         * MakeDetails is called. 
       
   336         */
       
   337         void DoSaveL( );
       
   338 
       
   339         /**
       
   340         * From MMsgEditorLauncher 
       
   341         */
       
   342         void LaunchViewL( );
       
   343 
       
   344         /**
       
   345         * From CCoeAppUi 
       
   346         * @param aKeyEvent - check CCoeAppUi
       
   347         * @param aType - check CCoeAppUi
       
   348         * @return TKeyResponse - check CCoeAppUi
       
   349         */
       
   350         TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
       
   351 
       
   352         /**
       
   353         * From CEikAppUi 
       
   354         * @param aCommand - check CEikAppUi
       
   355         */
       
   356         void HandleCommandL( TInt aCommand );
       
   357 
       
   358         /**
       
   359         * DoSelectionKeyL 
       
   360         * Handles selection and enter keys.
       
   361         * If the focus is on To field - AddRecipientL is called.
       
   362         * Otherwise opens the context sensitive menu.
       
   363         * @return ETrue, selection or enter key was handled
       
   364         *         EFalse, selection or enter key was not handled
       
   365         */
       
   366         TBool DoSelectionKeyL();
       
   367 
       
   368         /**
       
   369         * DoHandleSendKeyL 
       
   370         */
       
   371         void DoHandleSendKeyL();
       
   372 
       
   373 
       
   374         /**
       
   375         * From MEikMenuObserver 
       
   376         * @param aMenuId look from MEikMenuObserver
       
   377         * @param aMenuPane look from MEikMenuObserver
       
   378         */
       
   379         void DynInitMenuPaneL( TInt aMenuId, CEikMenuPane* aMenuPane );
       
   380 
       
   381         /**
       
   382         * From CCoeAppUi
       
   383         * Returns help context
       
   384         */
       
   385         CArrayFix<TCoeHelpContext>* HelpContextL( ) const;  
       
   386 
       
   387         /**
       
   388         * AddSubjectFieldL
       
   389         * Adds message field into the rich text body. Gets the right sentence from the
       
   390         * resource file according to the current message status and calls AddItemL.
       
   391         */
       
   392         void AddMessageFieldL( );
       
   393 
       
   394         /**
       
   395         * AddSubjectFieldL
       
   396         * Adds subject field into the rich text body
       
   397         */
       
   398         void AddSubjectFieldL( );
       
   399 
       
   400         /**
       
   401         * AddTextFieldL
       
   402         * Adds text field into the rich text body
       
   403         */
       
   404         void AddTextFieldL( );
       
   405 
       
   406         /**
       
   407         * AddExpiryFieldL
       
   408         * Adds expiry field into the rich text body
       
   409         */
       
   410         void AddExpiryFieldL( );
       
   411 
       
   412         /**
       
   413         * AddSizeFieldL
       
   414         * Adds size field into the rich text body
       
   415         */
       
   416         void AddSizeFieldL( );
       
   417 
       
   418         /**
       
   419         * AddClassFieldL
       
   420         * Adds class field into the rich text body
       
   421         */
       
   422         void AddClassFieldL( );
       
   423 
       
   424         /**
       
   425         * AddPriorityFieldL
       
   426         * Adds priority field into the rich text body
       
   427         */
       
   428         void AddPriorityFieldL( );
       
   429 
       
   430         /**
       
   431         * ShowConfirmationQueryL
       
   432         * Creates CAknQueryDialog with resource aResourceId and executes it.
       
   433         * User is shown a confirmation query.
       
   434         * Shows confirmation query with question aResourceId
       
   435         * @param IN aResourceId id of the confirmation resource
       
   436         * @return OUT return value of dlg->ExecuteLD
       
   437         */
       
   438         TInt ShowConfirmationQueryL( TInt aResourceId ) const;
       
   439 
       
   440         /**
       
   441         * ShowInformationNoteL
       
   442         * Shows information note for user
       
   443         * @param aResourceID
       
   444         * @param aWaiting, is note waiting or not.
       
   445         */  
       
   446         void ShowInformationNoteL(TInt aResourceID, TBool aWaiting );
       
   447         
       
   448 
       
   449         /**
       
   450         * AddressControl
       
   451         * Returns pointer to the current AddressControl (either To or From).
       
   452         */
       
   453         CMsgAddressControl* AddressControl( );
       
   454 
       
   455         /**
       
   456         * UpdateTitlePane
       
   457         * This is called only when there is Forward Request open.
       
   458         * Updates the title text in the Title pane. In case of unsent Forward
       
   459         * Request, changes the CBA to Options-Cancel.
       
   460         */
       
   461         void UpdateTitlePaneL( );        
       
   462         
       
   463         /**
       
   464         * MessageStatus
       
   465         * Gets the status of the current message according to the expiry time and
       
   466         * iMtmData2 field. Not applicable for Forward Requests.
       
   467         * @return OUT TNotViewerStatus - the status of the notification.
       
   468         */
       
   469         TNotViewerStatus MessageStatus( ) const;
       
   470 
       
   471         /**
       
   472         * GetTypeL
       
   473         * Checks if the entry is a notification or Forward Request according to
       
   474         * the iMtmData1 field and sets the right bit in iFlags.
       
   475         * Also calls MessageStatus to update the status of iMsgStatus.
       
   476         * Leaves with KErrNotSupported, if unknown notifcation type flags set in 
       
   477         * TMsvEntry::iMtmData1.
       
   478         */
       
   479         void GetTypeL( );
       
   480 
       
   481 
       
   482         /**
       
   483         * Sets automatic highlighting on/off.
       
   484         * @param aEnable if ETrue sets automatic highlighting on,
       
   485         *                if EFalse sets automatic highlighting off
       
   486         */
       
   487         void SetFindModeL( TBool aEnable );
       
   488 
       
   489         /**
       
   490         * From MMessageIteratorObserver
       
   491         * @param See documentation of MMessateIteratorObserver
       
   492         */
       
   493 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
   494         void HandleIteratorEventL(TMessageIteratorEvent aEvent);
       
   495 #endif
       
   496         /**
       
   497         * Initializes navipane according to message content
       
   498         */
       
   499         void InitNavipaneL();
       
   500 
       
   501         /**
       
   502         * Sub function for InitNavipaneL();
       
   503         * @param aText string in the right hand side of navipane
       
   504         */
       
   505 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
   506         void CreateTabGroupL( const TDesC& aText );
       
   507 #endif
       
   508 
       
   509         /**
       
   510         * Checks if the message has been deleted from MMBox already
       
   511         * @result ETrue - already deleted
       
   512         *         EFalse - not deleted yet
       
   513         */
       
   514         TBool AlreadyDeletedFromServer( );
       
   515 
       
   516         /**
       
   517         * Checks if the MMS AP Settings are ok
       
   518         * @result ETrue - they were ok, it's ok to continue
       
   519         *         EFalse - Not ok and cancel was selected
       
   520         */
       
   521         TBool CheckAPSettingsL( );
       
   522 
       
   523 #ifdef RD_SCALABLE_UI_V2
       
   524         /**
       
   525          * From MAknToolbarObserver
       
   526          * Should be used to set the properties of some toolbar components 
       
   527          * before it is drawn.
       
   528          * @param aResourceId The resource ID for particular toolbar
       
   529          * @param aToolbar The toolbar object pointer
       
   530          */
       
   531         virtual void DynInitToolbarL( TInt aResourceId, 
       
   532                                                CAknToolbar* aToolbar );
       
   533         
       
   534         /**
       
   535          * From MAknToolbarObserver
       
   536          * Handles toolbar events for a certain toolbar item.
       
   537          * @param aCommand The command ID of some toolbar item.
       
   538          */
       
   539         virtual void OfferToolbarEventL( TInt aCommand );
       
   540 
       
   541         /**
       
   542         * OperationOngoing returns status whether operation is going on.
       
   543         * Needed by MsgStatus
       
   544         */
       
   545         TBool OperationOngoing( const TMsvEntry& aEntry ) const;
       
   546 
       
   547         /**
       
   548         * OperationFinished returns status whether operation has finished
       
   549         * successfully or unsuccessfully
       
   550         * Needed by MsgStatus
       
   551         */
       
   552         TBool OperationFinished( const TMsvEntry& aEntry ) const;
       
   553         
       
   554         /// From CCoeAppUi
       
   555         void HandleForegroundEventL(TBool aForeground);
       
   556 
       
   557 #endif
       
   558    
       
   559 
       
   560     private:
       
   561 
       
   562         /**
       
   563         * By default Symbian OS constructor is private.
       
   564         */
       
   565         void ConstructL();
       
   566 
       
   567         void HandleNotifyInt(TUint32 aId, TInt aNewValue);
       
   568         void HandleNotifyError(TUint32 aId, TInt error, CCenRepNotifyHandler* aHandler);
       
   569         void HandleNotifyGeneric(TUint32 aId);
       
   570 
       
   571 	    /**
       
   572 	     * Starts CPeriodic to call DelayedExit after aDelay
       
   573 	     */
       
   574 		void DoDelayedExitL( const TInt aDelay );
       
   575 
       
   576 	    /**
       
   577 	     * Tries to exit the application. Called by CIdle
       
   578 	     */
       
   579 	    void DoInternalExitL( );
       
   580 
       
   581 	    /**
       
   582 	    * Callback for CIdle
       
   583 	    */        
       
   584 		static TInt DelayedExit( TAny* aThis );
       
   585 
       
   586         /** 
       
   587         * From CEikAppUi
       
   588         */
       
   589         void HandleResourceChangeL(TInt aType);
       
   590 
       
   591         /**
       
   592         * Sets title of the mms viewer app into status pane
       
   593         */
       
   594         void SetTitleIconL();
       
   595 
       
   596     private:     // Data
       
   597 
       
   598         CMmsNotificationClientMtm*  iMtm;           // Client MTM of MMS Notifications
       
   599 
       
   600         CMmsSettingsHandler*		iSettingsHandler; // Settings handler
       
   601         CUniAddressHandler*         iAddressHandler; // Wrapper for address handling
       
   602 		CPeriodic*                  iIdle;          // Idle stuff
       
   603         CAknInputBlock*             iAbsorber;      // For absorbing keypresses
       
   604 
       
   605         CCenRepNotifyHandler*       iNotifyHandler;
       
   606         CRepository*                iCUiRepository;
       
   607         CRepository*                iMuiuSettRepository;
       
   608 
       
   609         CSendUi*                    iSendUi;        // For replying to the sender
       
   610         CFindItemMenu*              iFindItemMenu;
       
   611 
       
   612         CAknNavigationControlContainer* iNaviPane;
       
   613 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
   614         CAknNavigationDecorator*    iNaviDecorator; // Overrides the variable in base class
       
   615 #endif
       
   616         CMsvSingleOpWatcher*        iOperation;
       
   617 
       
   618         // Own: Contains information of the VoIP profiles.
       
   619         CMsgVoIPExtension*          iMsgVoIPExtension;
       
   620 
       
   621         HBufC*                      iAlias;         // The alias name of the sender
       
   622         TMuiuAddressType            iSenderType;    // Phone, email, none
       
   623         TNotViewerStatus            iMsgStatus;     // Waiting, expired, forwarding etc.
       
   624         TInt                        iFlags;         // Help, auto find, notification etc.
       
   625         TMsvId                      iMsgId;         // Id of the message
       
   626         TCharFormat                 iLabelFormat;
       
   627         TCharFormatMask             iLabelMask; 
       
   628         TCharFormat                 iValueFormat;
       
   629         TCharFormatMask             iValueMask; 
       
   630 #ifdef RD_SCALABLE_UI_V2
       
   631         CAknToolbar*                iToolbar;
       
   632 #endif
       
   633         CAknTitlePane*              iTitlePane; 
       
   634         CGulIcon*                   iAppIcon;
       
   635         // Remote address is shown in the From field
       
   636         TBool                       iRemoteAlias;
       
   637     };
       
   638 
       
   639 #endif // NotVIEWERAPPUI_H
       
   640 
       
   641 //  End of File