--- a/cbs/cbsui/UiInc/CCbsUIMsgView.h Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-* Class for viewing messages.
-*
-*
-*/
-
-
-#ifndef __CBSMSGVIEW_H
-#define __CBSMSGVIEW_H
-
-// INCLUDES
-#include <CbsCommon.h>
-#include <aknview.h>
-#include <AknNaviDecoratorObserver.h>
-#include "MCbsUiTopicMonitorObserver.h"
-#include "MSaveMessageController.h"
-#include "CbsUiDebug.h"
-
-
-// FORWARD DECLARATIONS
-class CCbsUiTopicView;
-class CCbsUiMsgViewContainer;
-class CAknNavigationDecorator;
-class CFindItemMenu;
-class MCbs;
-class CAknNavigationControlContainer;
-
-// CLASS DECLARATION
-/**
-* It is the class for viewing messages.
-*/
-class CCbsUiMsgView : public CAknView,
- public MCbsUiTopicMonitorObserver,
- public MSaveMessageController,
- public MAknNaviDecoratorObserver
- {
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- ~CCbsUiMsgView();
-
- /**
- * Two-phased constructor.
- *
- * @param aServer Reference to cbs server.
- */
- static CCbsUiMsgView* NewL( MCbs& aServer );
-
- private: // From MEikMenuObserver
-
- /*
- * Adds find item and checks weather delete, keep or both of
- * them should be removed.
- *
- * @param aResourceId resource ID for identifying the menu pane being
- * initialised.
- * @param aMenuPane the in-memory representation of the menu pane.
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- private: // From MAknNaviDecoratorObserver
-
- /**
- * Method for handling touch events on navigator (navi pane)
- *
- * @param aEventID Id of the event.
- */
- void HandleNaviDecoratorEventL( TInt aEventID );
-
- public: // From MEikCommandObserver
-
- /**
- * Closes context menu if it exists.
- *
- * @param aCommandId Command id, which has been pressed.
- */
- void ProcessCommandL( TInt aCommandId );
-
- public: // From CAknView
-
- /**
- * Returns view id.
- *
- * @return View ID.
- */
- TUid Id() const;
-
- /**
- * Handles the command.
- *
- * @param aCommand menu command which user has selected from
- * option menu
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * Activates the message view. Actiovation depends on the message.
- * Three variations are: normal, immediate and
- * soft notification messages.
- *
- * @param aPrevViewId Previous view id.
- * @param aCustomMessageId With this different mechanism of activations
- * are used. Immediate message uses
- * KCbsImmediateMessageIdInt and normal message
- * uses KCbsUiCustomMessageId. If the message id
- * differ from these, the message is activated
- * by soft notification
- * @param aCustomMessage Message content.
- */
- void DoActivateL(
- const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * Deactivates the view and destroys needed objects.
- */
- void DoDeactivate();
-
- public: // From MSaveMessageController, these are called from
- // CbsUiUtility
-
- /**
- * Saves a message (the saved message won't be deleted to make
- * room for new messages).
- *
- * Return codes:
- * KErrNone Message is saved.
- * KErrGeneral Message not saved -- total maximum of saved
- * messages reached.
- * KErrNotFound Message not saved -- no message associated
- * with the given handle.
- * KErrDiskFull Message not saved -- FFS out of space.
- *
- * @param aHandle Handle to the message to be saved.
- * @return Return code.
- */
- TInt SaveMessage( const TCbsMessageHandle& aHandle );
-
- public:
-
- /**
- * Sets the message information to navi pane. e.g. Message 1/3.
- */
- void UpdateNaviPaneL();
-
- /**
- * When called, next message is displayed
- */
- void MoveToNextMessageL();
-
- /**
- * When called, previous message is displayed
- */
- void MoveToPreviousMessageL();
-
- /**
- * Topic list or topic messages are changed.
- *
- * @param aEvent reason for event
- * @param aTopicNumber topic number, which caused the event
- */
- void TopicListChangedL(
- TCbsTopicListEvent aEvent, TCbsTopicNumber aTopicNumber );
-
- /**
- * Handle changes in container when rect changes.
- * Update message and set new rect to container.
- */
- void HandleRectChangeInContainerL();
-
- private: // Data structures
-
- enum TMsgViewSetHandle
- {
- EToNext,
- EToPrevious
- };
-
- private: // New functions
-
- /**
- * Creates a find item dialog and pass a message to
- * it and gives the search case, what to look.
- *
- * @param aCommand search case
- */
- void DoSearchL( TInt aCommand );
-
- /**
- * Removes and destroys the context menu.
- */
- void CloseContextMenu();
-
- /**
- * Launch the context menu.
- */
- void LaunchContextMenuL();
-
- /**
- * Deletes a old message.
- */
- void DeleteOldMessage();
-
- /**
- * Loads a message from topic view.
- *
- * @return error code if Loading of message has been leaved and catched.
- */
- TInt DoLoadMessageL();
-
- /**
- * Activates topic view with defined topic number and message handle.
- *
- * @param aTopicNumber which topic the message belongs
- * @param aHandle which message handle is activating topic view.
- */
- void ActivateTopicViewL(
- TCbsTopicNumber aTopicNumber, TCbsMessageHandle aHandle);
-
- /**
- * Sets current message handle to aMessageHandle.
- *
- * @param aMessageHandle message handle
- */
- void SetCurrentMessageHandle( const TDesC8& aMessageHandle );
-
- /**
- * Loads current message buffer.
- */
- void LoadMessageL();
-
- /**
- * Adds date and time to a aMessage.
- *
- * @param aTime A time when message was received.
- * @param aMessage Address of actual pointer variable. So after
- * reallocation real message content is also changed.
- * @param aResourceArrayId Used resource array for date and time format.
- */
- void AddDateAndTimeL(
- const TInt64 aTime, HBufC** aMessage, TUint aResourceArrayId ) const;
-
- /**
- * Returns topic number of current message.
- *
- * @return current topic number
- */
- TCbsTopicNumber CurrentTopicNumber() const;
-
- /**
- * Gets message position in topic where th aHandle belongs.
- *
- * @param aHandle message handle
- * @param aPosition It will contain the message position in topic.
- * @param aTotal It will contain the total message count in topic,
- * @return error code
- */
- TInt GetMessagePosition(
- TCbsMessageHandle aHandle, TInt& aPosition, TInt& aTotal );
-
- /**
- * Sets aHandle to previous or next according to aTo
- * if possible.
- *
- * @param aTo sets aHandle to prev or next
- * @return ETrue if aHandle has been set.
- */
- TBool SetHandleTo( TCbsMessageHandle& aHandle, TMsgViewSetHandle aTo );
-
- /**
- * Deletes a message according to a aHandle.
- *
- * @param aHandle handle to be deleted.
- * @return ETrue if message was deleted
- */
- TBool DeleteMessageL( TCbsMessageHandle aHandle );
-
- /**
- * Activates topic list view.
- */
- void ActivateTopicListViewL() const;
-
- /**
- * Sets current message to newest hot marked message or
- * activates the topic list view.
- *
- * @return ETrue if new view is launched
- */
- TBool HandleSoftNotificationL();
-
- private:
-
- /**
- * C++ constructor.
- *
- * @param aServer Reference to cbs server.
- */
- CCbsUiMsgView( MCbs& aServer );
-
- /**
- * Two-phased constructor.
- */
- void ConstructL();
-
- private: // Data
-
- // message buffer
- HBufC* iMessage;
-
- // Container class
- CCbsUiMsgViewContainer* iContainer;
-
- // Navi pane variables
- CAknNavigationControlContainer* iNaviContainer;
-
- // NaviPaneDecorator
- CAknNavigationDecorator* iDecoratedLabel;
-
- // NaviPaneDecorator
- CAknNavigationDecorator* iPreviousDecoratedLabel;
-
- // Find item common component
- CFindItemMenu* iFindItemMenu;
-
- // Context sensitive menu, which appears when pushed ok key
- CEikMenuBar* iContextMenu;
-
- // To get a topic count and messages inside
- // a topic.
- MCbs& iServer;
-
- // Tells if the message is class 0.
- TBool iIsClass0;
-
- // Current message handle
- TCbsMessageHandle iCurrentHandle;
-
- // True if launched from the other application.
- TBool iFromOtherApplication;
-
- };
-
-#endif //__CBSMSGVIEW_H
-
-
-// End of file