--- 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