diff -r 000000000000 -r 96612d01cf9f mediasettings/feedsettingsviews/inc/feedsettingsview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mediasettings/feedsettingsviews/inc/feedsettingsview.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,329 @@ +/* +* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: CVcxNsSettingsView view class definitions.* +*/ + + + + +#ifndef VCXNSSETTINGSVIEW_H +#define VCXNSSETTINGSVIEW_H + +// INCLUDES +#include +#include +#include +#include + +#include "feedsettingsview.hrh" + +// FORWARD DECLARATIONS +class CVcxNsSettingsViewContainer; +class CIptvResourceLoader; +class CVcxNsSettingsEngine; +class CVcxNsServiceSettings; +class MMPXViewUtility; + +class MGSTabbedView; +class CGSTabHelper; +class CAknNavigationDecorator; +class MMPSettingsNaviPaneController; + +// CONSTS +const TInt32 KVcxNsSettingsViewUid = 0x20016B99; + +// CLASS DECLARATION + +/** + * CVcxNsSettingsView view class definitions. + * + * @lib vcsettingsview.lib + * @since S60 5.0 + */ +class CVcxNsSettingsView : public CGSPluginInterface, + public MGSTabbedView + { +public: + + /** + * Two-phased constructor. + */ + IMPORT_C static CVcxNsSettingsView* NewL( ); + + /** + * Two-phased constructor. + */ + IMPORT_C static CVcxNsSettingsView* NewLC( CArrayPtrFlat* aTabViewArray = NULL); + + /** + * Destructor. + */ + IMPORT_C virtual ~CVcxNsSettingsView( ); + +protected: + /** + * Constructor. + */ + IMPORT_C CVcxNsSettingsView( const TUid aViewId = TUid::Uid( KVcxNsSettingsViewUid ) ); + + /** + * EPOC default constructor. + */ + IMPORT_C void ConstructL( CArrayPtrFlat* aTabViewArray ); + +public: + + /** + * MGSTabbedView + */ + CGulIcon* CreateTabIconL(); + + /** + * From CAknView. + */ + TUid Id( ) const; + + /** + * From CAknView. + * + * @param aCommand Command for view. + */ + IMPORT_C void HandleCommandL(TInt aCommand); + + /** + * Handles client rectangle changes. + */ + IMPORT_C void HandleClientRectChange(); + + /** + * Handles routed key events. Other components might route their key events + * here because this view has overall control of the Settings UI. + */ + TKeyResponse RoutedKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType ); + + /** + * Returns the button group container. Can be used for changing softkeys. + * + * @return Button group container. + */ + CEikButtonGroupContainer* GetButtonGroupContainer( ); + + /** + * Sets "service subscription" mode on. When Settings UI is activated + * in this mode, it goes directly to service subscriptions view. + */ + void SetServiceSubscriptionMode(); + + /** + * Sets "Vodcast add feed subscription" mode on. When this is activated + * it goes directly Add feed and returns to Vodcast view. + */ + void SetVodcastAddFeedMode(); + + /** + * Checks if Settings UI is currently being displayed. + * + * @return ETrue if Settings UI is active. + */ + TBool IsSettingsViewActive(); + + /** + * From CGSPluginInterface + * GetCaptionL + * Dummy implementation, implemented in settings plugin. + */ + virtual void GetCaptionL( TDes& /*aCaption*/ ) const {}; + + /** + * Is the view launhed from general settings framework? + * @return Is it launched from gs fw. + */ + TBool LaunchedFromGsFw( ); + + /** + * Returns pointer to container + * + * @return Pointer to container. + */ + CVcxNsSettingsViewContainer* Container(); + + /** + * Sets navi pane. + * + * @param aDisableNaviPane If ETrue navi pane is disabled. + */ + void SetNaviPaneL( TBool aDisableNaviPane = EFalse ); + +protected: + + /** + * Handles activation message. + * + * @param aCustomMessage Custom message + */ + void HandleActivationMessageL( const TDesC8& aCustomMessage ); + + /** + * Handle Back command. + */ + void HandleBackCommandL(); + + /** + * Handle Back command service selection. + */ + void HandleBackCommandForServiceSelectionL(); + + /** + * Handle Back command for add service view + */ + void HandleBackCommandForAddServiceL(); + + /** + * Handle Add/Edit VoD service command. + * + * @param aIsAdding EFalse for edit, ETrue for add. + */ + void HandleVodAddOrEditCommandL( TBool aIsAdding ); + + /** + * Saves service selection. + * + */ + void SaveServiceSelectionL(); + + /** + * From CAknView + * Called when view is activated. + * @param aPrevViewId + * @param aCustomMessageId + * @param aCustomMessage + */ + IMPORT_C virtual void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CAknView + * Called when view is deactivated. + */ + IMPORT_C virtual void DoDeactivate(); + + /** + * Adjusts the visible items in menu pane accordding to Settings UI state. + * + * @param aResourceId Resource ID identifying the menu pane to initialise. + * @param aMenuPane The in-memory representation of the menu pane. + */ + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane ); + + /** + * Handles status pane size changes. + */ + IMPORT_C void HandleStatusPaneSizeChange(); + + /** + * Locates the mif file searching from y: to a: and then z: last + * + * @param aFileName Full path to mif file. + */ + void LocateMifFileL( TFileName& aFileName ); + +private: + + /** + * This view's ID + */ + TUid iViewId; + + /** + * Settings control container + */ + CVcxNsSettingsViewContainer* iContainer; + + /** + * Resource loader + */ + CIptvResourceLoader* iResourceLoader; + + /** + * Previously active view's ID + */ + TVwsViewId iPrevViewId; + + /** + * Status pane layout from previously active view. + */ + TInt iPrevStatusPaneLayout; + + /** + * iFs + */ + RFs iFs; + + /** + * Settings engine + */ + CVcxNsSettingsEngine* iSettingsEngine; + + /** + * UI engine's service setting if. + */ + CVcxNsServiceSettings* iServiceSettings; + + /** + * Is settings activated in ServiceSubscriptionMode + */ + TBool iServiceSubscriptionMode; + + /** + * Is settings activated in VodcastAddFeedMode + */ + TBool iVodcastAddFeedMode; + + /** + * Is settings activated from GSVideoPlugin + */ + TBool iGSVideoPluginMode; + + /** + * Mpx view Utility + */ + MMPXViewUtility* iViewUtility; + + /** + * General Settings tab helper + */ + CGSTabHelper* iTabHelper; + + /** + * Navi pane context. + * Not own. + */ + CAknNavigationDecorator* iNaviPaneContext; + + /** + * Navi pane controller. + * Not own. + */ + MMPSettingsNaviPaneController* iNaviCntrl; + + /* + * View array. + * Not own. + */ + CArrayPtrFlat* iViewArray; + + }; + +#endif // VCXNSSETTINGSVIEW_H