diff -r ccd8e69b5392 -r 496ad160a278 mmshplugins/mmshsettingsuiplugin/inc/mussettingsplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmshplugins/mmshsettingsuiplugin/inc/mussettingsplugin.h Fri Jun 11 13:36:18 2010 +0300 @@ -0,0 +1,269 @@ +/* +* Copyright (c) 2006-2007 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: MUSSettingsPlugin implementation. +* +*/ + + + +#ifndef C_MUSSETTINGSPLUGIN_H +#define C_MUSSETTINGSPLUGIN_H + + +#include +#include +#include +#include +#include +#include + + +class CMusSettingsContainer; +class CAknNavigationDecorator; +class CAknViewAppUi; +class CMusSettingsModel; +class CMusSIPProfileModel; + + +/** UID of *this* plugin. */ +const TUid KGSVSSettingsPluginUID = { 0x1028238F }; + +/** VS resource filename. */ +_LIT( KVSSettingsResourceFileName, "mussettingsuirsc.rsc" ); + +/** Name of icon of *this* plugin. Directory is KDC_BITMAP_DIR. */ +_LIT( KGSVSSettingsPluginIconDirAndName, "mussettingsplugin.mif"); + + +/** + * CMusSettingsPlugin view class. + * This class implements view of VS settings plugin. + * + * @since S60 v3.2 + */ +class CMusSettingsPlugin : public CGSBaseView, public MDiskNotifyHandlerCallback + { +public: + + /** + * Two-phased constructor. + * @param aInitParams Params from framework. Not used. + * @return Newly created instance of CMusSettingsPlugin class. + */ + static CMusSettingsPlugin* NewL( TAny* aInitParams ); + + /** + * Destructor. + */ + ~CMusSettingsPlugin(); + + /** + * Returns CGSBaseContainer sub-class. + * Hides non-virtual base class function. (PC-Lint warning #1511). + * @return CGSBaseContainer sub-class. + */ + CMusSettingsContainer* Container(); + +public: // From CAknView. + + /** + * From CAknView. + * Returns views id. + * @return id for this view. + */ + virtual TUid Id() const; + + /** + * From CAknView. + * Command handling function. Handles user initiated commands. + * @param aCommand ID of the command to respond to. + */ + virtual void HandleCommandL( TInt aCommand ); + +public: // From CGSPluginInterface. + + /** + * From CGSPluginInterface. + * Method for getting caption of this plugin. This should be the + * localized name of the settings view to be shown in parent view. + * + * @param aCaption Reference to descriptor to store caption. + */ + virtual void GetCaptionL( TDes& aCaption ) const; + + /** + * From CGSPluginInterface. + * Creates a new icon of desired type. Overrided to provide custom + * icons. Ownership of the created icon is transferred to the caller. + * + * Icon type UIDs (use these defined constants): + * KGSIconTypeLbxItem - ListBox item icon. + * KGSIconTypeTab - Tab icon. + * + * @param aIconType UID Icon type UID of the icon to be created. + * @return Pointer of the icon. NOTE: Ownership of this icon is + * transferred to the caller. + */ + virtual CGulIcon* CreateIconL( const TUid aIconType ); + + /** + * From CGSPluginInterface. + * Method for reading the ID of the plugin provider category. See + * TGSPluginProviderCategory. PluginProviderCategory is used for + * sorting plugins. + * + * @return Plugin provider category ID defined in + * TGSPluginProviderCategory. + */ + virtual TInt PluginProviderCategory() const; + + +public: // From MEikMenuObserver + + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + +public: // From observer interface + void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent ); + +protected: + + CMusSettingsPlugin(); + + void ConstructL(); + + /** + * Hides non-virtual member from base class CGSBaseView. + * (PC-Lint warning #1511). + * Handles a change in client rectangle. + */ + void HandleClientRectChange(); + +// from base class CAknView. + + /** + * From CAknView. + * Handles a view activation and passes the message of type + * @c aCustomMessageId. This function is called by @c AknViewActivatedL(). + * @param aPrevViewId Specifies the view previously active. + * @param aCustomMessageId Specifies the message type. + * @param aCustomMessage The activation message. + */ + virtual void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CAknView. + * This function is called by AknViewDeactivated() to indicate + * deactivation of *this* view. + */ + virtual void DoDeactivate(); + +// from base class CGSBaseView. + + /** + * From CGSBaseView. + * Creates a container for *this* view. Called by DoActivateL(). + */ + virtual void NewContainerL(); + +private: + + /** + * Shows VS activation Setting dialog. + */ + void ShowVSSettingsActivationSettingDialogL(); + + /** + * Shows Operator specific VS activation Setting dialog. + */ + void ShowOperatorSpecificActivationSettingDialogL(); + + /** + * Shows Profile Setting dialog. + */ + void ShowVSSettingsProfileSettingDialogL(); + + /** + * Shows SIP profile selection dialog. + */ + void ShowVSSettingsSelectSipProfileDialogL(); + + /** + * Shows Recorded Video Saving Setting dialog. + */ + void ShowVSSettingsRecordedVideoSavingSettingDialogL(); + + /** + * Shows note setting dialog. In standard branch this is the "Capability + * auditory note" setting and in operator variant this is the "Alerts" + * setting displayed to user. + */ + void ShowVSSettingsNoteSettingDialogL(); + + /** + * Shows notification of no profiles defined. + */ + void ShowNoProfilesNotificationL(); + + /** + * Switches between two possible values from one to another. + * Leaves with KErrArgument if setting is not recognised, otherwise + * tries to toggle specified setting value and on failure leaves on + * systemwide errorcode. + * @param aValue Id of setting to toggle. + */ + void SwitchOnOffValueL( TInt aValue ); + + void ShowGlobalInformationDialogL( TInt aResourceId ); + +// from base class CGSBaseView. + + /** + * From CGSBaseView. + * Handles listbox selection. Called by HandleListBoxEventL. + */ + virtual void HandleListBoxSelectionL(); + +protected: // data + + /** + * Instance of SIP profile handler to manage SIP profiles. + * Own. + */ + CMusSIPProfileModel* iHandler; + + /** + * Instance of SIP profile handler to manage SIP profiles. + * Own. + */ + + /** + * Pointer of model class of this application. + * Own. + */ + CMusSettingsModel* iModel; + + /** + * Resource loader to load resources. + */ + RConeResourceLoader iResources; + + /** + * Disk notify handler + */ + CDiskNotifyHandler* iDiskNotifyHandler; + }; + +#endif // C_MUSSETTINGSPLUGIN_H