--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/widget/emailwidgetsettings/inc/emailwidgetsettingslistview.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2009 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: Declares list view class for application.
+ *
+*/
+
+#ifndef __EMAILWIDGETSETTINGSLISTVIEW_H_
+#define __EMAILWIDGETSETTINGSLISTVIEW_H_
+
+#include <aknlists.h>
+#include <aknPopup.h>
+#include <AknQueryDialog.h>
+#include <aknenv.h>
+#include <aknsettingitemlist.h>
+#include <ecom/ecom.h>
+#include <emailobserverplugin.h>
+#include <memailobserverlistener.h>
+
+#include "emailwidgetsettingsappui.h"
+#include "emailwidgetsettingsmailboxes.h"
+
+extern const TUid KEmailWidgetSettingsListViewId;
+
+class CEmailWidgetSettingsListView;
+class CEmailWidgetSettingsListViewContainer :
+ public CCoeControl,
+ public EmailInterface::MEmailObserverListener
+ {
+public:
+ CEmailWidgetSettingsListViewContainer();
+ void ConstructL(CEmailWidgetSettingsListView* aView,
+ const TRect& aRect);
+ ~CEmailWidgetSettingsListViewContainer();
+
+public:
+ TInt CurrentIndex() const;
+ void SizeChanged();
+ TInt CountComponentControls() const;
+ CCoeControl* ComponentControl(TInt /*aIndex*/) const;
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ TSize MinimumSize();
+ void SaveSelectedL();
+
+ // From MEmailObserverListener
+ virtual void EmailObserverEvent( EmailInterface::MEmailData& aEmailData );
+
+private:
+ void CreateCbaL(MEikCommandObserver* aObserver);
+ void CreateListBoxL(MEikListBoxObserver* aObserver);
+ void SetupListIconsL();
+ void AppendIconL(
+ CArrayPtr<CGulIcon>* aIcons,
+ const TInt aFileBitmapId,
+ const TInt aFileMaskId);
+ TInt AppendExternalIconL(
+ CArrayPtr<CGulIcon>* aIcons,
+ const TDesC& aMifPath,
+ const TInt aFileBitmapId,
+ const TInt aFileMaskId);
+
+ TInt GetSettingToAssociateL(const TDesC& aCid, const TBool aNativeBox, CRepository* aCenRep);
+ void LaunchEmailWizardL();
+
+ void ResetExtAccountWithSameId( const TDesC& aContentId, CRepository* aCenRep );
+ void ResetNatAccountWithSameId( const TDesC& aContentId, CRepository* aCenRep );
+
+private: // from MObjectProvider
+ TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+
+public:
+ CEikColumnListBox* iListBox;
+
+private:
+ CEikButtonGroupContainer* iPopoutCba;
+ CDesCArrayFlat* iAccountNames;
+ CDesCArrayFlat* iDomains;
+ CArrayFixFlat<TFSMailMsgId>* iAccountIds;
+ CEmailWidgetSettingsMailboxes* iMailboxes;
+ CEikonEnv* iEnv;
+ };
+
+class CEmailWidgetSettingsListView : public CAknView, public MEikListBoxObserver
+ {
+public:
+ void ConstructL();
+ ~CEmailWidgetSettingsListView();
+
+public:
+ TUid Id() const;
+ void HandleCommandL(TInt aCommand);
+
+ void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
+
+private:
+ void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
+ void DoDeactivate();
+
+private:
+ void HandleForegroundEventL(TBool aForeground);
+ void HandleStatusPaneSizeChange();
+
+private:
+ TVwsViewId iPrevViewId;
+ CEmailWidgetSettingsListViewContainer* iView;
+ };
+
+#endif