locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsview.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 42 02ba3f1733c6
child 45 6b6920c56e2f
--- a/locationsystemui/locationsysui/locsuplsettingsui/src/locsuplsettingsview.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Source file for SUPL Settings UI view
-*
-*/
-
-
-// System Include
-#include <barsread.h> 		                // For TResourceReader
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <locsuplsettingsui.rsg>
-#include <avkon.rsg>
-#include <hlplch.h>			                // Help
-#include <featmgr.h> 						// FeatureManager
-#include <eikmenup.h>						// Menu pane
-#include <eikmenub.h>						// Menu Bar
-#include <AknQueryDialog.h> 
-
-// User Include
-#include "locsuplsettings.hrh"
-#include "locsuplsettingsview.h"
-#include "locsuplsettingscontainer.h"
-#include "locsettingsui.h"
-#include "locsupldebug.h"
-#include "locsuplserverview.h"
-#include "locsuplsessionview.h"
-#include "locsuplsettingsuiengine.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView::CLocSUPLSettingsView
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//	
-CLocSUPLSettingsView::CLocSUPLSettingsView( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	:iEventHandler( aEventHandler ),
-	iEngine( aEngine ) 
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView::~CLocSUPLSettingsView
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSUPLSettingsView::~CLocSUPLSettingsView()
-	{
-	DEBUG( + CLocSUPLSettingsView::~CLocSUPLSettingsView );	
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-
-    delete iContainer;
-    iContainer = NULL;
-	DEBUG( - CLocSUPLSettingsView::~CLocSUPLSettingsView );	
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView* CLocSUPLSettingsView::NewL
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsView* CLocSUPLSettingsView::NewL( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-	DEBUG( + CLocSUPLSettingsView::NewL );	
-    CLocSUPLSettingsView* self = NewLC( aEngine, aEventHandler );
-	CleanupStack::Pop( self );
-	DEBUG( - CLocSUPLSettingsView::NewL );	
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CLocSUPLSettingsView* CLocSUPLSettingsView::NewLC
-// Creates new Location Sys Ui plugin.
-//
-// @param aEngine               Reference to the SUPL Settings
-//                              engine          
-// @param aEventHandler		    Pointer to the Event Handler
-// @return CAknViewAppUi&		Reference to the application view
-// ---------------------------------------------------------------------------
-//    
-CLocSUPLSettingsView* CLocSUPLSettingsView::NewLC( 
-                              CLocSUPLSettingsUiEngine&     aEngine,
-		 					  MLocSUPLSettingsEventHandler&	aEventHandler )
-	{	
-    CLocSUPLSettingsView* self = 
-                new( ELeave ) CLocSUPLSettingsView( aEngine,                          
-    										        aEventHandler );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::ConstructL
-// Second Phase Constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::ConstructL()
-	{   	
-	DEBUG( + CLocSUPLSettingsView::ConstructL );	
-	// Call AknView's BaseConstrutL
-	BaseConstructL( R_SUPLSETTINGS_VIEW );	 
-	DEBUG( - CLocSUPLSettingsView::ConstructL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::HandleScreenSizeChange
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::HandleScreenSizeChange() 
-	{
-	DEBUG( + CLocSUPLSettingsView::HandleScreenSizeChange );	
-	if( iContainer )
-		{
-		iContainer->SetRect( ClientRect());		
-		}
-	DEBUG( - CLocSUPLSettingsView::HandleScreenSizeChange );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::UpdateView
-// -----------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsView::UpdateView()
-    {
-	DEBUG( + CLocSUPLSettingsView::UpdateView );	
-    if( iContainer )
-		{
-		iContainer->UpdateScreen();		
-		}
-	  TRAP_IGNORE( ChangeMSKL() );		
-	DEBUG( - CLocSUPLSettingsView::UpdateView );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::StartedFromAppServer
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::StartedFromAppServer()
-    {
-	DEBUG( + CLocSUPLSettingsView::StartedFromAppServer );	
-    iStartedFromServer = ETrue;
-	DEBUG( - CLocSUPLSettingsView::StartedFromAppServer );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::SwitchedFromServerView
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::Reset()
-    {
-	DEBUG( + CLocSUPLSettingsView::Reset );	
-    iViewLaunched = 0;
-    StopDisplayingMenuBar();
-	DEBUG( - CLocSUPLSettingsView::Reset );	
-    }
-    
-// -----------------------------------------------------------------------------
-// TInt CLocSUPLSettingsView::SelectedItemIndex
-// Returns the Selected element. The list box model defines the enumeration that
-// would determine the current element that has been selected
-//
-// @return TInt Index of the item selected
-// -----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsView::SelectedItemIndex()
-    {
-	DEBUG( CLocSUPLSettingsView::SelectedItemIndex );	
-    if( iContainer )
-        {
-        DEBUG1( CLocSUPLSettingsView::SelectedItemIndex =%d, iContainer->SelectedItemIndex() );	
-        return iContainer->SelectedItemIndex();
-        }
-    else
-        {
-        return KErrNotFound;
-        }	
-    }    
-    
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::DoActivateL
-// 
-// ---------------------------------------------------------------------------	
-//
-void CLocSUPLSettingsView::DoActivateL( const TVwsViewId& 	/* PrevViewId*/,
-											   TUid		   	/* aCustomMessageId*/,
-						  				 const TDesC8&		/* aCustomMessage */)
-	{
-	DEBUG( + CLocSUPLSettingsView::DoActivateL );	
-	// Destroy the existing container
-	if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer=NULL;
-        }						
-    
-    // Create new Container	
-	iContainer = CLocSUPLSettingsContainer::NewL( ClientRect(), 
-	                                              iEngine,
-	                                              *this );
-	iContainer->SetMopParent( this );
-	AppUi()->AddToViewStackL( *this, iContainer );
-	
-	if ( iStartedFromServer )
-	    {
-	    MenuBar()->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
-	    }
-	
-	if( iViewLaunched )
-        {
-        iContainer->FocusToItemL(	iViewLaunched );
-        iViewLaunched = 0;
-        }
-	iContainer->DrawNow();
-	ChangeMSKL();
-	DEBUG( - CLocSUPLSettingsView::DoActivateL );	
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocationSystemUiView::DoDeactivate
-//
-// ---------------------------------------------------------------------------
-//		
-void CLocSUPLSettingsView::DoDeactivate()
-	{
-	DEBUG( + CLocSUPLSettingsView::DoDeactivate );	
-	// Destroy Container
-	if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-	DEBUG( - CLocSUPLSettingsView::DoDeactivate );	
-	}
-
-// ---------------------------------------------------------------------------
-// TUid CLocSUPLSettingsView::Id
-// Returns the View Id. Should be chosen to reflect the Implementation UID 
-// of the Plugin
-//
-// @return TUid The View Id
-// ---------------------------------------------------------------------------
-//	
-TUid CLocSUPLSettingsView::Id() const
-	{
-	return KLocSUPLSettingsUiViewId;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSUPLSettingsView::HandleCommandL
-//
-// ---------------------------------------------------------------------------
-//	
-void CLocSUPLSettingsView::HandleCommandL(TInt aCommand)	
-	{
-	DEBUG( + CLocSUPLSettingsView::HandleCommandL );	
-	switch ( aCommand )
-        {
-		case ELocSuplOpenChange:
-			{
-			ChangeMSKL();
-			break;
-			}        
-        // Handle all the internal view specific commands here
-        case ELocSuplChange:
-        case ELocSuplMSKChange:
-            {
-            // Launch the SUPL Settings usage configurator.
-            // The error code is ignored since the necessary UI 
-            // notification would be convveyed by the Engine
-            TRAP_IGNORE( iEngine.LaunchSuplUsageConfiguratorL() );
-            break;
-            }
-    	case ELocSuplOpen:
-    	case ELocSuplMSKOpen:
-            {
-            TInt index = SelectedItemIndex();
-            switch( index )
-    	    {
-		      case 1:
-			    {      
-                // Launch the Supl Server List.
-                // The error code is ignored since the necessary UI 
-                // notification would be convveyed by the Engine
-                iViewLaunched = 1;
-                TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLServerUiViewId ) );
-                break; 
-                }
-             case 2:
-                {
-                TInt sessionCount = iContainer->ActiveSessionCount();
-                if( sessionCount )
-                  {
-                  iViewLaunched = 2;
-                  // Launch the Supl sessions view.
-                  TRAP_IGNORE( AppUi()->ActivateLocalViewL ( KLocSUPLSessionUiViewId ) );
-                  }
-                  break;
-                }
-             default:
-			    break; 
-            }
-            break;   
-            } 
-        case ELocSuplClearSession:
-        case ELocSuplClearSessions:
-            {
-			if( iContainer->ActiveSessionCount() && DeletionConfirmationQueryL() )
-				{
-	            TRAP_IGNORE( iEngine.RemoveAllTriggerSessionsL( ) ); 
-	            ChangeMSKL();  
-				}
-            break;    
-            }
-		case ELocSuplMSKNo:
-			{
-			break;
-			}
-        case EAknCmdHelp:
-        	{
-           	HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(),
-           										 AppUi()->AppHelpContextL());
-        	break;	
-        	}
-        case EAknCmdExit:
-        case EEikCmdExit:
-            {
-            // The Exit command has to be transferred back to the application
-            iEventHandler.HandleCommandL( EEikCmdExit );
-            break;    
-            }
-        case EAknSoftkeyBack:
-            {
-            // Back command is left to the Settings UI which is the command handler 
-            // in this case to handle
-            iEventHandler.HandleCommandL( EAknSoftkeyBack );
-            break;    
-            }
-        default:
-    	    {
-    	    // View Switiching, View closure and other external
-    	    // view related and AppUi related commands
-    	    iEventHandler.HandleCommandL( aCommand );
-            break;	
-    	    }
-        }
-	DEBUG( - CLocSUPLSettingsView::HandleCommandL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::ChangeMSKL
-// -----------------------------------------------------------------------------
-//
-void CLocSUPLSettingsView::ChangeMSKL() 
-	{
-	DEBUG( + CLocSUPLSettingsView::ChangeMSKL );	
-	// Listbox takes all event even if it doesn't use them	
-    if( !Cba() || !iContainer )
-	    {
-	   	return;
-	    }
-	
-    TInt index = SelectedItemIndex();
-	TInt sessionCount = iContainer->ActiveSessionCount();
-    switch( index )
-    	{
-		case 0:
-			{
-			TRAP_IGNORE( 
-				Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_CHANGE_BACK ) ); 
-			break;
-			}
-		case 1:
-			{
-			TRAP_IGNORE( 
-				Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_OPEN_BACK ) ); 
-			break;
-			}
-		default:
-			{
-			if( sessionCount )
-				{
-				TRAP_IGNORE( 
-					Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_OPEN_BACK ) ); 
-				}
-			else
-				{
-				TRAP_IGNORE( 
-					Cba()->SetCommandSetL ( R_SUPLSETTINGS_OPTIONS_NOMSK_BACK ) ); 
-				}
-			break;
-			}   		
-    	}    	
-	Cba()->DrawDeferred();  	
-	DEBUG( - CLocSUPLSettingsView::ChangeMSKL );	
-	}
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-void CLocSUPLSettingsView::DynInitMenuPaneL( TInt          aResourceId, 
-                                             CEikMenuPane* aMenuPane )
-    {
-	DEBUG( + CLocSUPLSettingsView::DynInitMenuPaneL );	
-    if ( aResourceId == R_SUPLSETTINGS_MENU )
-        {
-        User::LeaveIfNull( aMenuPane );
-        //Handle Help Fature
-        HandleHelpFeature( *aMenuPane );
-        
-        //Disable Open/Change/Clear sessions options
-		switch( SelectedItemIndex() )
-			{
-			case 0:
-				{
-        		//aMenuPane->SetItemDimmed( ELocSuplChange, EFalse );
-	        	//aMenuPane->SetItemDimmed( ELocSuplOpen, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-				break;
-				}
-			case 1:
-				{
-        		//aMenuPane->SetItemDimmed( ELocSuplChange, ETrue );
-	        	//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        	aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-				break;
-				}
-			case 2:
-				{
-        		aMenuPane->SetItemDimmed( ELocSuplChange, ETrue );
-				TInt sessionCount = iContainer->ActiveSessionCount();
-				
-				switch( sessionCount )
-					{
-					case 0:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, ETrue );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-					break;
-						}
-					case 1:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSession, EFalse );
-					aMenuPane->SetItemSpecific(ELocSuplClearSession, ETrue);
-	        			aMenuPane->SetItemDimmed( ELocSuplClearSessions, ETrue );
-						break;
-						}
-					default:
-						{
-	        			//aMenuPane->SetItemDimmed( ELocSuplOpen, EFalse );
-		        		aMenuPane->SetItemDimmed( ELocSuplClearSession, ETrue );
-		        		aMenuPane->SetItemDimmed( ELocSuplClearSessions, EFalse );
-					aMenuPane->SetItemSpecific(ELocSuplClearSessions, ETrue);
-						break;
-						}
-					}
-				break;
-				}
-			 default:
-			    break;
-			}
-        //Context sensitive menu items
-        }
-	DEBUG( - CLocSUPLSettingsView::DynInitMenuPaneL );	
-    }
-    
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::HandleHelpFeature
-// -----------------------------------------------------------------------------
-void CLocSUPLSettingsView::HandleHelpFeature( CEikMenuPane& aMenuPane ) const
-    {
-	DEBUG( + CLocSUPLSettingsView::HandleHelpFeature );	
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ))
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, EFalse );
-        }
-    else
-        {
-        aMenuPane.SetItemDimmed( EAknCmdHelp, ETrue );
-        }
-	DEBUG( - CLocSUPLSettingsView::HandleHelpFeature );	
-    }
-
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::DeletionConfirmationQueryL
-// ----------------------------------------------------------------------------
-//
-TInt CLocSUPLSettingsView::DeletionConfirmationQueryL( )
-    {    
-    HBufC* noteText = NULL;    
-    noteText = StringLoader::LoadLC( R_LOC_SUPL_QUERY_TERMINATE_ALL, iEikonEnv );
-    CAknQueryDialog* query = new( ELeave ) CAknQueryDialog( *noteText );    
-    TInt ret = query->ExecuteLD( R_LOC_SUPL_DELETE_QUERY );
-    CleanupStack::PopAndDestroy( noteText );   
-    return ret;
-    }
-
-#if 0
-// -----------------------------------------------------------------------------
-// CLocSUPLSettingsView::IsActive
-// -----------------------------------------------------------------------------
-TBool CLocSUPLSettingsView::IsActive()
-	{
-	if( iContainer )
-	    {
-	    return ETrue;		
-	    }		
-	else
-	    {
-	    return EFalse;
-	    }		
-	}
-	
-#endif
-
-// End of file