diff -r c8382f7b54ef -r 726fba06891a emailuis/emailui/inc/ncsheadercontainer.h --- a/emailuis/emailui/inc/ncsheadercontainer.h Wed Sep 15 11:52:37 2010 +0300 +++ b/emailuis/emailui/inc/ncsheadercontainer.h Wed Oct 13 14:11:15 2010 +0300 @@ -27,19 +27,21 @@ #include "ncsaddressinputfield.h" #include "ncsfieldsizeobserver.h" #include "ncsconstants.h" -#include "ncspopuplistbox.h" + +#include "ncsattachmentfield.h" class CFSMailBox; -class CNcsAttachmentField; class CNcsEmailAddressObject; +class CNcsPopupListBox; class CNcsSubjectField; class CAknPhysics; /** * CNcsHeaderContainer */ -class CNcsHeaderContainer : public CCoeControl, public MNcsAddressPopupList, - public MNcsPopupListBoxObserver +class CNcsHeaderContainer : public CCoeControl, + public MNcsAddressPopupList, + public MNcsAttachmentFieldObserver { public: @@ -73,37 +75,27 @@ private: // constructor/destructor /** - * CNcsHeaderContainer - * C++ constructor. - * @param aParent Parent control. - * @param aMailBox reference to current mailbox item - */ - CNcsHeaderContainer( CCoeControl& aParent, CFSMailBox& aMailBox, CAknPhysics* aPhysics ); - - /** - * ConstructL - * 2nd phase constructor. - */ - void ConstructL( TInt aFlags ); + * CNcsHeaderContainer + * C++ constructor. + * @param aParent Parent control. + * @param aMailBox reference to current mailbox item + */ + CNcsHeaderContainer( CCoeControl& aParent, CFSMailBox& aMailBox, CAknPhysics* aPhysics ); + + /** + * ConstructL + * 2nd phase constructor. + */ + void ConstructL( TInt aFlags ); public: // function members - - /** - * From MNcsPopupListBoxObserver. - */ - TBool PopupVisibilityChangingL( TBool aVisible ); - - /** - * From MNcsPopupListBoxObserver. - */ - void PopupItemSelectedL(); - - /** - * GetToFieldAddressesL - * Get addresses in TO-field. - * @return Array of addresses. - */ - const RPointerArray& GetToFieldAddressesL( + + /** + * GetToFieldAddressesL + * Get addresses in TO-field. + * @return Array of addresses. + */ + const RPointerArray& GetToFieldAddressesL( TBool aParseNow = ETrue ); /** @@ -233,7 +225,7 @@ void SetAttachmentLabelTextsLD( CDesCArray* aAttachmentNames, CDesCArray* aAttachmentSizes ); - TInt FocusedAttachmentLabelIndex(); + TInt FocusedAttachmentLabelIndex() const; void ShowAttachmentLabelL(); void HideAttachmentLabel(); @@ -316,10 +308,12 @@ void SelectAllBccFieldTextL(); void SelectAllSubjectFieldTextL(); - - void FocusToField(); + + void FocusToField(); - void FocusAttachmentField(); + void FocusAttachmentField(); + + void SetFocusToBottom( TDrawNow aDrawNow = ENoDrawNow ); void SetPriority( TMsgPriority aPriority ); @@ -357,17 +351,18 @@ TBool IsAddressInputField( const CCoeControl* aControl ) const; TBool IsRemoteSearchInprogress() const; + + /** + * Shows/hides cursor. + * + * @param aShow ETrue - shows, EFalse - hides cursor. + */ + void ShowCursor( TBool aShow, TDrawNow aDrawNow = ENoDrawNow ); void DoScroll(); - void DoScrollFocusToTop(); - + void SetPhysicsEmulationOngoing( TBool aPhysOngoing ); - virtual void HandleResourceChange( TInt aType ); - - // Set origin for header's top position. - void SetOrigin( TPoint& aPoint ); - private: // Function members void FocusChanged(TDrawNow aDrawNow); @@ -378,8 +373,6 @@ void Draw( const TRect& aRect ) const; - void DrawAttachmentFocusNow(); - TKeyResponse ChangeFocusL( const TKeyEvent& aKeyEvent ); void SizeChanged(); @@ -412,6 +405,18 @@ void CommitFieldL( CCoeControl* aField ); +private: //From MNcsAttachmentFieldObserver + /** + * AttachmentOpenL + * Handles attachment open event from iAttachmentField + */ + void AttachmentOpenL(); + + /** + * AttachmentRemoveL + * Handles attachment remove event from iAttachmentField + */ + void AttachmentRemoveL(); private: //From MAknLongTapDetectorCallBack void HandleLongTapEventL( const TPoint& aPenEventLocation, @@ -419,47 +424,47 @@ private: // Data members - // Parent window. + /* + * Parent window + * Not Own + */ CCoeControl& iParent; MNcsFieldSizeObserver& iFieldSizeObserver; CAknLongTapDetector* iLongTapDetector; - + CEikButtonGroupContainer* iMenuBar; + + CNcsAddressInputField* iToField; - CNcsAddressInputField* iToField; CNcsAddressInputField* iCcField; + CNcsAddressInputField* iBccField; CNcsSubjectField* iSubjectField; CNcsAttachmentField* iAttachmentField; - // The attachments count + // The attachments count TInt iAttachmentCount; - // Popup for resently used email addressses. Own. - CNcsPopupListBox* iAacListBox; + // Address popup data members + CNcsPopupListBox* iAacListBox; - CFSMailBox& iMailBox; - + CFSMailBox& iMailBox; + //flag which disables changes of MSK label if any popup dialog is open TBool iSwitchChangeMskOff; TBool iLongTapEventConsumed; TBool iRALInProgress; - + // Currently focused control CCoeControl* iFocused; // panning related CAknPhysics* iPhysics; - - // Header containers default top left position. - TPoint iOrigin; - - TBool iSplitScreenVKBEnabled; };