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: |