emailuis/widget/emailwidgetsettings/inc/emailwidgetsettingslistview.h
branchRCL_3
changeset 8 e1b6206813b4
parent 1 12c456ceeff2
child 10 f5907b1a1053
equal deleted inserted replaced
4:e7aa27f58ae1 8:e1b6206813b4
    21 #include <aknlists.h>
    21 #include <aknlists.h>
    22 #include <aknPopup.h>
    22 #include <aknPopup.h>
    23 #include <AknQueryDialog.h>
    23 #include <AknQueryDialog.h>
    24 #include <aknenv.h>
    24 #include <aknenv.h>
    25 #include <aknsettingitemlist.h>
    25 #include <aknsettingitemlist.h>
       
    26 #include <ecom/ecom.h>
       
    27 #include <emailobserverplugin.h>
       
    28 #include <memailobserverlistener.h>
    26 
    29 
    27 #include "emailwidgetsettingsappui.h"
    30 #include "emailwidgetsettingsappui.h"
    28 #include "emailwidgetsettingsmailboxes.h"
    31 #include "emailwidgetsettingsmailboxes.h"
    29 
    32 
    30 extern const TUid KEmailWidgetSettingsListViewId;
    33 extern const TUid KEmailWidgetSettingsListViewId;
    31 
    34 
    32 class CEmailWidgetSettingsListView;
    35 class CEmailWidgetSettingsListView;
    33 class CEmailWidgetSettingsListViewContainer : public CCoeControl
    36 class CEmailWidgetSettingsListViewContainer :
       
    37     public CCoeControl, 
       
    38     public EmailInterface::MEmailObserverListener
    34 	{
    39 	{
    35 public:
    40 public:
    36 	CEmailWidgetSettingsListViewContainer();
    41 	CEmailWidgetSettingsListViewContainer();
    37 	void ConstructL(CEmailWidgetSettingsListView* aView, 
    42 	void ConstructL(CEmailWidgetSettingsListView* aView, 
    38 	                const TRect& aRect);
    43 	                const TRect& aRect);
    44 	TInt  CountComponentControls() const;
    49 	TInt  CountComponentControls() const;
    45 	CCoeControl* ComponentControl(TInt /*aIndex*/) const;
    50 	CCoeControl* ComponentControl(TInt /*aIndex*/) const;
    46 	TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
    51 	TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
    47 	TSize MinimumSize();
    52 	TSize MinimumSize();
    48     void SaveSelectedL();
    53     void SaveSelectedL();
       
    54     
       
    55     // From MEmailObserverListener
       
    56     virtual void EmailObserverEvent( EmailInterface::MEmailData& aEmailData );
    49 
    57 
    50 private:
    58 private:
    51 	void CreateCbaL(MEikCommandObserver* aObserver);
    59 	void CreateCbaL(MEikCommandObserver* aObserver);
    52 	void CreateListBoxL(MEikListBoxObserver* aObserver);
    60 	void CreateListBoxL(MEikListBoxObserver* aObserver);
    53     void SetupListIconsL();
    61     void SetupListIconsL();
    54     void AppendIconL(
    62     void AppendIconL(
    55             CArrayPtr<CGulIcon>* aIcons,
    63             CArrayPtr<CGulIcon>* aIcons,
    56             const TInt aFileBitmapId, 
    64             const TInt aFileBitmapId, 
    57             const TInt aFileMaskId);
    65             const TInt aFileMaskId);
    58 	TInt GetSettingToAssociateL(const TDesC& aCid);
    66     TInt AppendExternalIconL(
       
    67             CArrayPtr<CGulIcon>* aIcons,
       
    68             const TDesC& aMifPath,
       
    69             const TInt aFileBitmapId, 
       
    70             const TInt aFileMaskId);
       
    71 
       
    72 	TInt GetSettingToAssociateL(const TDesC& aCid, const TBool aNativeBox, CRepository* aCenRep);
    59 	void LaunchEmailWizardL();
    73 	void LaunchEmailWizardL();
    60 	
    74 	
       
    75 	void ResetExtAccountWithSameId( const TDesC& aContentId, CRepository* aCenRep );
       
    76     void ResetNatAccountWithSameId( const TDesC& aContentId, CRepository* aCenRep );
       
    77 
    61 private: // from MObjectProvider
    78 private: // from MObjectProvider
    62 	TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
    79 	TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
    63 
    80 
    64 public:
    81 public:
    65 	CEikButtonGroupContainer*       iPopoutCba;
    82 	CEikColumnListBox*                     iListBox;
    66 	CEikColumnListBox*	            iListBox;
    83 	
    67 	CDesCArrayFlat*                 iAccountNames;
    84 private:
    68 	CDesCArrayFlat*                 iDomains;
    85 	CEikButtonGroupContainer*              iPopoutCba;
    69     CArrayFixFlat<TFSMailMsgId>*    iAccountIds;
    86 	CDesCArrayFlat*                        iAccountNames;
    70 	CEmailWidgetSettingsMailboxes*  iMailboxes;
    87 	CDesCArrayFlat*                        iDomains;
    71     CEikonEnv*                      iEnv;	
    88 	CArrayFixFlat<TFSMailMsgId>*           iAccountIds;
       
    89 	CEmailWidgetSettingsMailboxes*         iMailboxes;
       
    90 	CEikonEnv*                             iEnv;
    72 	};
    91 	};
    73 
    92 
    74 class CEmailWidgetSettingsListView : public CAknView, public MEikListBoxObserver
    93 class CEmailWidgetSettingsListView : public CAknView, public MEikListBoxObserver
    75 	{
    94 	{
    76 public:
    95 public: