diff -r 8e7494275d3a -r 4f0867e42d62 omads/omadsappui/AspSyncUtil/inc/AspSettingViewDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omads/omadsappui/AspSyncUtil/inc/AspSettingViewDialog.h Wed Sep 01 12:30:02 2010 +0100 @@ -0,0 +1,332 @@ +/* +* 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: Edit view setting dialog +* +*/ + + + +#ifndef ASPSETTINGVIEWDIALOG_H +#define ASPSETTINGVIEWDIALOG_H + + +// INCLUDES + +#include "AspDialogUtil.h" + +#include +#include +#include + +#include // CAknInfoPopupNoteController + + + +// CLASS DECLARATION + + +/** +* CAspSettingViewDialog +* +* CAspSettingViewDialog is used for editing various settings. +*/ +NONSHARABLE_CLASS (CAspSettingViewDialog) : public CAknDialog, public MEikListBoxObserver + { + public: + + + 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 CAspSettingViewDialog* NewL(const TAspParam& aParam); + + /** + * Destructor. + */ + virtual ~CAspSettingViewDialog(); + + private: + + /** + * C++ default constructor. + */ + CAspSettingViewDialog(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. + * 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); + + private: + /** + * Handles setting item editing. + * @param None. + * @return None. + */ + void HandleOKL(); + + /** + * Set setting list icons. + * @param None. + * @return None. + */ + void SetIconsL(); + + + public: // common editors + + + private: + + /** + * Handles setting item editing. + * @param aItem Setting item data. + * @return Return code. + */ + void EditSettingItemL(CAspListItemData& aItem); + + /** + * Opens profile setting dialog. + * @param None. + * @return Return code. + */ + TInt EditSettingItemProfileSettingL(); + + /** + * Opens schedule dialog. + * @param None. + * @return Return code. + */ + TInt EditSettingItemSchedulingSettingL(); + /** + * Opens content dialog. + * @param None. + * @return Return code. + */ + TInt EditSettingItemSyncContentL(CAspListItemData& aItem); + + + private: + + + + 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 profile setting into item list. + * @param None. + * @return None. + */ + void AddProfileSettingItemL(); + /** + * Adds scheduling setting into item list. + * @param None. + * @return None. + */ + void AddSchedulingSettingItemL(); + /** + * Adds sync contents into item list. + * @param None. + * @return None. + */ + void AddContentItemsL(); + + + + 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); + + /** + * Returns listbox. + * @param None. + * @return Pointer to listbox. + */ + CAknSettingStyleListBox* ListBox(); + + /** + * Returns profile. + * @param None. + * @return Pointer to sync profile. + */ + //CAspProfile* Profile(); + + TInt GetIndexFromProvider(TInt aDataProvider); + + void SetVisibility(); + + private: + // setting list + CAknSettingStyleListBox* iSettingListBox; + + // list of setting items + CAspSettingList *iSettingList; + + // profile data + CAspProfile* iProfile; + + // 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 iBuf; + + TInt iDataProviderId; + + // list that contains all contents (applications) + CAspContentList* iContentList; + + // list that contains all profiles + CAspProfileList* iProfileList; + + // id of the calling application + TInt iApplicationId; + + CAspSchedule* iSchedule; + + + }; + + +#endif // ASPSETTINGVIEWIALOG_H + +// End of File