mediasettings/feedsettingsviews/inc/feedsettingsview.h
changeset 0 96612d01cf9f
--- /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 <akncontext.h>
+#include <AknsUtils.h>
+#include <gsplugininterface.h>
+#include <gstabbedview.h>
+
+#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<MGSTabbedView>* 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<MGSTabbedView>* 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<MGSTabbedView>* iViewArray; 
+        
+    };
+
+#endif // VCXNSSETTINGSVIEW_H