omads/omadsappui/AspSyncUtil/inc/AspScheduleDialog.h
branchRCL_3
changeset 24 8e7494275d3a
parent 23 2bb96f4ecad8
child 25 4f0867e42d62
--- a/omads/omadsappui/AspSyncUtil/inc/AspScheduleDialog.h	Thu Aug 19 09:41:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,686 +0,0 @@
-/*
-* Copyright (c) 2005 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: Scheduled sync UI 
-*
-*/
-
-
-
-#ifndef ASPSCHEDULEDIALOG_H
-#define ASPSCHEDULEDIALOG_H
-
-
-//  INCLUDES
-
-#include "AspDialogUtil.h"
-
-#include <e32base.h>
-#include <aknlists.h>
-#include <AknDialog.h>
-
-
-// FORWARD DECLARATIONS
-
-class CAspSchedule;
-class CAspProfileWizard;
-
-
-// CLASS DECLARATION
-/**
-* MAuotSyncEditorPageObserver
-*
-* Observer interface function.
-*/
-
-NONSHARABLE_CLASS (MAutoSyncEditorPageObserver)
-	{
-  	
-	public:
-		/**
-        * Editor page call this when editor is about to close.
-        * @param aText Editor text.
-        * @return ETrue if input is ok, EFalse otherwise. 
-        */
-		virtual TBool CheckValidityL() = 0;
-
-		/**
-	*Return the index of email item in provider list
-	*/
-		virtual TInt EmailIndex() = 0;
-
-	};
-
-
-/**
-* TAutoSyncSettingPageParam
-*
-* This class is used as general parameter type.
-*/
-NONSHARABLE_CLASS (TAutoSyncSettingPageParam)
-	{
-	public:
-	    TInt iCommandId;
-	    TBuf<KBufSize> iPageText;
-	    MAutoSyncEditorPageObserver* iObserver;
-	    TInt iSettingType;
-	};
-
-
-/**
-* CAspAutoCheckBoxSettingPage
-*
-* Setting page that returns command button id.
-*/
-NONSHARABLE_CLASS (CAutoSyncCheckBoxSettingPage) : public CAknCheckBoxSettingPage,public MEikListBoxObserver
-	{
-    public:
-        CAutoSyncCheckBoxSettingPage(TInt aResourceID, CSelectionItemList* aItemArray, TAutoSyncSettingPageParam& aParam);
-
-        ~CAutoSyncCheckBoxSettingPage();            
-        
-	public:
-
-		void UpdateCbaL(TInt aResourceId);
-		void DynamicInitL();
-
-	protected: // From CCoeControl
-	    void ProcessCommandL(TInt aCommandId);
-	    
-	    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
-	    //from MEikListBoxObserver for touch event handling
-        void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-		
-	private:
-	    TAutoSyncSettingPageParam& iParam;
-   	    TInt iSelectionCount;
-   	    CSelectionItemList* iSelectionItemList;
-		
-	};
-
-
-
-/**
-*  CAspScheduleDialog
-*
-* CAspScheduleDialog is used for editing sync connection data.
-*/
-NONSHARABLE_CLASS (CAspScheduleDialog) : public CAknDialog, public MEikListBoxObserver,
-																	  public MAutoSyncEditorPageObserver
-    {
-    private:
-		
-	enum TRepositoryKey
-		{
-	    EKeySyncFrequency = 2,
-	    EKeyPeakSyncInterval,
-	    EKeyOffPeakSyncInterval
-		};
-    
-    
-	public:
-	    /**
-        * Launches dialog.
-        * @param aParam Class that contains dialog parameters.
-        * @return Completion code.
-        */
-		static TBool ShowDialogL(const TAspParam& aParam);
-
-	public:// Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-		static CAspScheduleDialog* NewL(const TAspParam& aParam);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CAspScheduleDialog();
-    
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CAspScheduleDialog(const TAspParam& aParam);
-	
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-	private:
-        /**
-        * From MEikListBoxObserver, called by framework.
-        * @param aListBox.
-        * @param aEventType.
-		* @return None
-        */
-		void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-
-        /**
-        * From the base class.
-		* Called by framework before the dialog is shown.
-        * @param None
-		* @return None
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * From the base class.
-		* Called by framework before exiting the dialog.
-        * @param aButtonId Button id.
-		* @return ETrue to exit\ EFalse to not to exit.
-        */
-        TBool OkToExitL(TInt aButtonId);
-
-        /**
-        * From the base class.
-		* Called by framework for key event handling.
-        * @param aKeyEvent.
-		* @param aType.
-		* @return Return code.
-        */
-		TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-
-        /**
-        * From the base class.
-		* Called by framework when dialog is activated.
-        * @param None.
-		* @return None.
-        */
-		void ActivateL();
-		
-		/**
-		* Method to get context sensitive help topic.
-        * @param aContext Help topic to open.
-		* @return None.
-        */
-		void GetHelpContext(TCoeHelpContext& aContext) const;
-
-		/**
-        * From the base class.
-		* Called by framework before menu is shown.
-        * @param aResourceId Menu resource id.
-		* @param aMenuPane Pointer to the menu.
-        * @return None.
-        */
-		void DynInitMenuPaneL(TInt aResourceID, CEikMenuPane* aMenuPane);
-
-		/**
-		* From the base class.
-		* Handles menu events.
-		* @param  aCommandId Command id.
-		* @return None.
-		*/
-		void ProcessCommandL(TInt aCommandId);
-		
-		/**
-		* From base class.
-		* Called when UI layout changes. 
-		* @param aType.
-    	* @return None.
-		*/
-        void HandleResourceChange(TInt aType);
-
-		/**
-		* From TAutoSyncSettingPageParam
-		* Checks validity content selected
-		* @param  None
-		* @return ETrue/EFalse.
-		*/
-
-		TBool CheckValidityL();
-
-		TInt EmailIndex();
-		
-		/**
-		* Checks remote databse settings for the profile
-		* @param  None
-		* @return None.
-		*/
-
-		void CheckMandatoryDataL();
-
-		/**
-		* Checks remote databse settings for the profile
-		* @param  None
-		* @return ETrue/EFalse.
-		*/
-		TBool CheckBearerType();
-
-		
-
-    private:
-		/**
-		* Handles setting item editing.
-		* @param None.
-		* @return None.
-		*/
-		void HandleOKL();
-		
-		/**
-		* Set setting list icons.
-		* @param None.
-		* @return None.
-		*/
-		void SetIconsL();
-
-	
-	public:  // common editors
-	
-		/**
-		* Shows editor for text type setting.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemTextL(CAspListItemData& aItem);
-		
-		/**
-		* Shows editor for number type setting.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemNumberL(CAspListItemData& aItem);
-		
-		/**
-		* Shows editor for list type setting.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		//TBool EditSettingItemListL(CAspListItemData& aItem);
- 
-    private:
-    
-		/**
-		* Handles setting item editing.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemL(CAspListItemData& aItem);
-
-		/**
-		* Change Yes/No setting in place without showing editor.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemYesNoL(CAspListItemData& aItem);
-	
-		/**
-		* Shows editor for profile setting.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemProfileL(CAspListItemData& aItem);
-
-		/**
-		* Shows editor for content setting.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemContentL(CAspListItemData& aItem);
-
-		/**
-		* Shows setting editor.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemWeekdaysL(CAspListItemData& aItem);
-		
-		/**
-		* Shows setting editor.
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemTimeL(CAspListItemData& aItem);
-		
-		/**
-		* Shows editor for peak schedule selection
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemPeakScheduleL(CAspListItemData& aItem);
-
-		/**
-		* Shows editor for off-peak schedule selection
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-		TBool EditSettingItemOffPeakScheduleL(CAspListItemData& aItem);
-
-		/**
-		* Shows editor for sync frequency selection
-		* @param aItem Setting item data.
-		* @return Return code.
-		*/
-
-		TBool EditSettingItemSyncFrequencyL(CAspListItemData& aItem);
-	
-
-    private:
-
-		/**
-		* Checks that all mandatory data is found.
-		* @param None.
-		* @return Return code.
-		*/
-		TInt CheckMandatoryFields();
-		
-		/**
-		* Saves profile.
-		* @param None.
-		* @return None.
-		*/
-		void SaveSettingsL();
-
-	private:
-		/**
-        * Create one CNSmlDSProfileData for each setting.
-        * @param None.
-        * @return None.
-        */
-		void CreateSettingsListL();
-		
-		/**
-        * Initalizes setting item needed for listbox handling.
-        * @param aItem.
-        * @return None.
-        */
-		void InitSettingItemL(CAspListItemData* aItem);
-		
-		/**
-        * Add settings titles into listbox.
-        * @param aListBox.
-        * @param aItemList List of setting items.
-        * @return None.
-        */
-		void UpdateListBoxL(CEikTextListBox* aListBox, CAspSettingList* aItemList);
-
-		/**
-        * Adds one setting item into item list.
-        * @param aItemId Item id.
-        * @param aHeaders Array of item headers.
-		* @return None.
-        */
-		void AddItemL(TInt aItemId, TInt aResourceId);
-
-		/**
-        * Set setting item visibility (normal/readonly/hidden).
-        * @param None.
-		* @return None.
-        */
-		void SetVisibility();
-		
-        /**
-        * Set all settings to read-only state.
-        * @param None.
-		* @return None.
-        */
-		void SetAllReadOnly();
-		
-
-    private:
-
-		/**
-        * Creates icon.
-		* @param aId.
-        * @param aFileName.
-		* @param aFileIndex.
-		* @param aFileMaskIndex.
-        * @return Created icon.
-        */
-		CGulIcon* IconL(TAknsItemID aId, const TDesC& aFileName, TInt aFileIndex, TInt aFileMaskIndex);
-		
-		/**
-		* Returns setting item with listbox position aIndex.
-		* @param aIndex Listbox index.
-		* @return Pointer to setting item.
-        */
-		CAspListItemData* GetItemForIndex(TInt aIndex);
-
-		/**
-        * Returns setting item with id aItemId.
-        * @param aItemId Item id.
-        * @return Pointer to setting item.
-        */
-		CAspListItemData* Item(TInt aItemId);
-
-		/**
-		* Get profile name.
-		* @param aProfileId.
-		* @param aText.
-		* @return None.
-		*/
-		void GetProfileName(TInt& aProfileId, TDes& aText);
-
-		/**
-		* Get content name.
-		* @param aProfileId.
-		* @param aText.
-		* @return None.
-		*/
-		//void GetContentName(TDes& aText);
-
-		/**
-		* Get day name.
-		* @param aProfileId.
-		* @param aText.
-		* @return None.
-		*/
-		void GetWeekdayNameL(TDes& aText);
-
-		/**
-		* Update content list from schedule settings.
-		* @param None.
-		* @return None.
-		*/
-		//void GetContentSelectionL();
-		
-		/**
-		* Get content list from sync profile.
-		* @param aList.
-		* @return None.
-		*/
-		//void GetContentSelection2L(CSelectionItemList* aList);
-		
-		/**
-		* Write selected contents into schedule settings.
-		* @param None.
-		* @return None.
-		*/
-		//void SetContentSelectionL();
-
-		/**
-		* Construct CSelectionItemList.
-		* @param aList.
-		* @return None.
-		*/
-		void GetWeekdaySelectionL(CSelectionItemList* aList);
-
-		/**
-		* Construct CSelectionItemList.
-		* @param aList.
-		* @return None.
-		*/
-		void SetWeekdaySelectionL(CSelectionItemList* aList);
-		
-			/**
-		* Set default day selection
-		* @param None
-		* @return None.
-		*/
-		void SetDefaultdaySelectionL();
-		/**
-		* Construct time text.
-		* @param aText.
-		* @param aTime.
-		* @return None.
-		*/
-		void GetTimeTextL(TDes& aText, TTime aTime);
-		
-   
-       /**
-		*Get content name 
-		* @param aText.
-		* @return None.
-		*/
-        void GetContentsNameL(TDes& aText);
-
-	   /**
-		*Get content selection
-		* @param aList
-		* @return None.
-		*/	   
-        void GetContentSelectionL(CSelectionItemList* aList);
-
-	   /**
-		*Set content selection
-		* @param aList.
-		* @return None.
-		*/
-        void SetContentSelectionL(CSelectionItemList* aList);
-
-		CDesCArray* GetSyncFrequencyListLC();
-		void GetSyncFrequencyValueL(TInt schedule, TDes& aBuf);
-		TInt SyncFrequencyL(const TDesC& aBuf);
-		TInt GetSyncFrequencyPositionL(CDesCArray* arr, TInt aInterval);
-
-		/**
-		*Check if the profile has access point selected
-		* @param aProfileId
-		* @return None.
-		*/
- 		void CheckAccessPointSelectionL(TInt aProfileId);
-
-		/**
-		*Get list of peak schedule intervals
-		* @return CDesCArray*
-		*/
-		CDesCArray* GetPeakScheduleListLC();
-
-		/**
-		*Get list of peak schedule intervals
-		* @return CDesCArray*
-		*/
-		CDesCArray* GetOffPeakScheduleListLC();
-
-			/**
-		*Get time interval string corresponding to a schedule no
-		* @return CDesCArray*
-		*/
-		void GetPeakScheduleValueL(TInt schedule, TDes& aBuf);
-		void GetOffPeakScheduleValueL(TInt schedule, TDes& aBuf);
-
-			/**
-		*Get time interval value for the string
-		* @return CDesCArray*
-		*/
-		TInt PeakScheduleL(const TDesC& aBuf);
-		TInt OffPeakScheduleL(const TDesC& aBuf);
-
-			/**
-		*Position of selected interval in the list
-		* @return CDesCArray*
-		*/
-		TInt GetPeakPositionL(CDesCArray* arr, TInt aInterval);
-		TInt GetOffPeakPositionL(CDesCArray* arr, TInt aInterval);
-
-			/**
-		*Show auto sync info
-		* @return CDesCArray*
-		*/
-		void ShowAutoSyncInfoL();
-
-			/**
-		*Set default content selection
-		* 
-		*/
-		void SetDefaultContentL();
-			
-			/**
-		*Read cenrep for operator configured sync interval values
-		* 
-		*/
-		void ReadRepositoryL(TInt aKey, TInt& aValue);
-			
-			/**
-		*Create content list
-		* 
-		*/
-		void CreateContentListL();
-
-			/**
-		*Check if time definition is valid.
-		* 
-		*/
-		TBool CheckPeakTime();
-
-	private:
-		// setting list
-		CAknSettingStyleListBox* iSettingListBox;
-
-		// list of setting items
-		CAspSettingList *iSettingList;
-
-		// list that contains all contents (applications)
-		CAspContentList* iContentList;
-
-   		// sync session
-		RSyncMLSession* iSyncSession;
-
-		// for title and icon handling
-		CStatusPaneHandler* iStatusPaneHandler;
-
-		// resource handler
-		CAspResHandler* iResHandler;
-
-		// dialog edit mode
-		TInt iEditMode;
-
-		// long buffer for string handling
-		TBuf<KBufSize255> iBuf;
-		
-		// list that contains all profiles
-		CAspProfileList* iProfileList;
-		
-		// for storing auto sync settings
-		CAspSchedule* iSchedule;
-
-		// profile data
-		CAspProfile* iProfile;
-
-		// id of the calling application
-		TInt iApplicationId;
-		
-		// weekday names
-		CDesCArray* iWeekdayList;
-		
-		// have settings changed
-		TBool iSettingChanged;
-		
-		// Content names
-		CDesCArray* iContentsList;
-
-		TBool iDoCleanUp;
-
-		// is setting database in read only state
-		TBool iSettingEnforcement;
-		
-		
-    };
-
-
-#endif      // ASPSCHEDULEDIALOG_H
-            
-// End of File