--- a/vpnui/vpnmanagementui/src/vpnmanagementuipolicyview.cpp Thu Aug 19 10:54:34 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,399 +0,0 @@
-/*
-* Copyright (c) 2003-2009 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: VPN Policy view
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <aknmessagequerydialog.h>
-#include <aknnotewrappers.h> // for warning & information notes
-#include <vpnmanagementuirsc.rsg>
-#include <cdblen.h>
-
-#include "vpnuiloader.h"
-#include "vpnmanagementuipolicyview.h"
-#include "vpnmanagementuipolicycontainer.h"
-#include "vpnmanagementui.hrh"
-#ifdef __SERIES60_HELP
-#include <hlplch.h> // For HlpLauncher
-#endif //__SERIES60_HELP
-
-/** MSK control Id. */
-const TInt KVpnMSKControlId = 3;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::CVpnManagementUiPolicyView
-// ---------------------------------------------------------
-//
-CVpnManagementUiPolicyView::CVpnManagementUiPolicyView(
- CVpnUiLoader& aLoader ) : iLoader(aLoader)
- {
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::~CVpnManagementUiPolicyView()
-// Destructor
-// ---------------------------------------------------------
-//
-CVpnManagementUiPolicyView::~CVpnManagementUiPolicyView()
- {
- if ( iPolicyContainer )
- {
- AppUi()->RemoveFromViewStack(*this, iPolicyContainer);
- delete iPolicyContainer;
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::NewL
-// ---------------------------------------------------------
-//
-CVpnManagementUiPolicyView* CVpnManagementUiPolicyView::NewL(
- const TRect& aRect, CVpnUiLoader& aLoader )
- {
- CVpnManagementUiPolicyView* self = NewLC( aRect, aLoader );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::NewLC
-// ---------------------------------------------------------
-//
-CVpnManagementUiPolicyView* CVpnManagementUiPolicyView::NewLC(
- const TRect& /*aRect*/, CVpnUiLoader& aLoader )
- {
- CVpnManagementUiPolicyView* self =
- new ( ELeave ) CVpnManagementUiPolicyView( aLoader );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::ConstructL()
-// EPOC two-phased constructor
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::ConstructL()
- {
- BaseConstructL( R_VPNUI_POLICIES_VIEW );
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::DynInitMenuPaneL(
-// TInt aResourceId,CEikMenuPane* aMenuPane)
-// Updates Options list with correct items depending on
-// whether the listbox is empty or if it has any marked items
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
- {
- if ( aResourceId == R_VPNUI_POLICIES_VIEW_MENU )
- {
- TInt currentItem = iPolicyContainer->iListBox->CurrentItemIndex();
-
- if ( currentItem == -1 )
- {
- aMenuPane->SetItemDimmed( EVpnUiCmdPolicyDetails, ETrue );
- aMenuPane->SetItemDimmed( EVpnUiCmdDeletePolicy, ETrue );
-
- }
-
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::Id() const
-// Returns Authority view id
-// ---------------------------------------------------------
-//
-TUid CVpnManagementUiPolicyView::Id() const
- {
- return KVpnManagementUiPolicyViewId;
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::HandleCommandL(TInt aCommand)
-// Handles Softkey and Options list commands
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EAknSoftkeyBack:
- {
- iLoader.ChangeViewL( KChangeViewPrevious );
- break;
- }
- case EAknCmdExit:
- {
- ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit );
- break;
- }
-
- case EVpnUiCmdPolicyDetails:
- {
- // Show details
- PolicyDetailsL(iPolicyContainer->iListBox->CurrentItemIndex());
- break;
- }
-
-
- case EVpnUiCmdDeletePolicy:
- {
- //confirmation query
- HBufC* temp;
-
- TVpnPolicyName policyName;
- iCurrentPosition = iPolicyContainer->iListBox->CurrentItemIndex();
- iTopItem = iPolicyContainer->iListBox->TopItemIndex();
-
- if (NotAssociatedToIapL(iCurrentPosition, policyName))
- {
- temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_POLICY, policyName );
- }
- else
- {
- temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_POLICY_ASSOCIATED );
- }
- CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );
- TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp );
- CleanupStack::PopAndDestroy(); // temp
- if ( retval )
- {
- //Delete policy
- iLoader.VpnApiWrapperL().DeletePolicyL(iPolicyContainer->iListBox->CurrentItemIndex());
- //Update listbox
- iPolicyContainer->UpdateListBoxL(iCurrentPosition);
- //Update iPolicyList
- iLoader.VpnApiWrapperL().PolicyListL();
- iCurrentPosition = iPolicyContainer->iListBox->CurrentItemIndex();
- }
- break;
- }
-#ifdef __SERIES60_HELP
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
- break;
- }
-#endif //__SERIES60_HELP
-
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::HandleClientRectChange()
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::HandleClientRectChange()
- {
- if ( iPolicyContainer )
- {
- iPolicyContainer->SetRect( ClientRect() );
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::DoActivateL
-// Updates the view when opening it
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::DoActivateL(
- const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
- {
- if ( iPolicyContainer )
- {
- ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack(
- *this, iPolicyContainer );
- }
- iPolicyContainer = new (ELeave) CVpnManagementUiPolicyContainer(
- *this, iLoader );
-
- iPolicyContainer->SetMopParent( this );
- iPolicyContainer->ConstructL(
- ClientRect(), iCurrentPosition, iTopItem );
- iLoader.ActivateTitleL( KViewTitlePolicyView );
- iLoader.PushDefaultNaviPaneL();
-
- ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iPolicyContainer );
- iPolicyContainer->DrawListBoxL( iCurrentPosition, iTopItem );
-
- SetMiddleSoftKeyL(EFalse);
- }
-
-void CVpnManagementUiPolicyView::SetMiddleSoftKeyL(TBool aDrawNow)
- {
- if (iPolicyContainer->iListItemCount > 0)
- {
- SetMiddleSoftKeyLabelL(R_MSK_VPN_DETAILS, EVpnUiCmdPolicyDetails);
- }
- else
- {
- SetMiddleSoftKeyLabelL(R_MSK_INSTALL_VPN_POLICIES, EVpnUiCmdInstallPolicies);
- }
-
- if (aDrawNow)
- {
- if (Cba())
- Cba()->DrawNow();
- }
- }
-
-
-void CVpnManagementUiPolicyView::SetMiddleSoftKeyLabelL(
- TInt aResourceId, TInt aCommandId)
- {
- CEikButtonGroupContainer* cbaGroup = Cba();
- if (cbaGroup)
- {
- HBufC* text = HBufC::NewLC(KMaxLengthTextDetailsBody);
- ReadResourceL(*text, aResourceId);
- cbaGroup->RemoveCommandFromStack(
- KVpnMSKControlId, EVpnUiCmdPolicyDetails);
- cbaGroup->AddCommandToStackL(
- KVpnMSKControlId, aCommandId, text->Des());
- CleanupStack::PopAndDestroy(text);
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::DoDeactivate()
-// Saves focus position when closing view
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::DoDeactivate()
- {
- if ( iPolicyContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iPolicyContainer );
-
- delete iPolicyContainer;
- iPolicyContainer = NULL;
- }
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::Container()
-// Returns iPolicyContainer
-// ---------------------------------------------------------
-//
-CCoeControl* CVpnManagementUiPolicyView::Container()
- {
- return iPolicyContainer;
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::PolicyDetailsL()
-// Creates the whole of policy details view
-// Appends strings from both resources and VPN API to one
-// message body text and displays it.
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::PolicyDetailsL(TInt aIndex)
- {
- TVpnPolicyDetails policyDetails;
-
- iLoader.VpnApiWrapperL().GetPolicyDetailsL(aIndex,policyDetails);
- HBufC* message = HBufC::NewLC(KMaxLengthTextDetailsBody);
-
- // Description:
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_DESCRIPTION );
- message->Des().Append(KVpnManagementUiEnter);
- message->Des().Append(policyDetails.iDescription);
- message->Des().Append(KVpnManagementUiEnterTwice);
-
- // Policy status:
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_STATUS );
- message->Des().Append(KVpnManagementUiEnter);
-
- if (policyDetails.iUsageStatus == EUsageStatusUnused)
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_NOT_ASSOCIATED );
- else if (policyDetails.iUsageStatus == EUsageStatusAssignedToIap)
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_ASSOCIATED );
- else if (policyDetails.iUsageStatus == EUsageStatusActive)
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_ACTIVE );
-
- message->Des().Append(KVpnManagementUiEnterTwice);
-
- // Certificate status:
- ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS );
- message->Des().Append(KVpnManagementUiEnter);
-
- if (policyDetails.iPkiStatus == EPkiStatusReady)
- ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_OK );
- else if (policyDetails.iPkiStatus == EPkiStatusCertExpired)
- ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_EXPIRED );
- else if (policyDetails.iPkiStatus == EPkiStatusNoCert)
- ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_MISSING );
- else if (policyDetails.iPkiStatus == EPkiStatusCertNotValidYet)
- ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_NOT_YET_VALID );
-
- message->Des().Append(KVpnManagementUiEnterTwice);
-
- // Policy name:
- ReadResourceL(*message, R_VPN_DETAIL_POLICY_NAME );
- message->Des().Append(KVpnManagementUiEnter);
- message->Des().Append(policyDetails.iName);
- message->Des().Append(KVpnManagementUiEnterTwice);
-
- // Header for the message query dialog
-
- CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL(*message);
- dlg->PrepareLC(R_MESSAGE_QUERY_DETAILS_VIEW);
- dlg->QueryHeading()->SetTextL(policyDetails.iName);
- dlg->RunLD();
-
- CleanupStack::PopAndDestroy(); // message
- }
-
-TBool CVpnManagementUiPolicyView::NotAssociatedToIapL(TInt aIndex, TVpnPolicyName& aPolicyName)
- {
- TVpnPolicyDetails policyDetails;
- iLoader.VpnApiWrapperL().GetPolicyDetailsL(aIndex,policyDetails);
- aPolicyName = policyDetails.iName;
- if (policyDetails.iUsageStatus == EUsageStatusUnused)
- return ETrue;
- else
- return EFalse;
- }
-
-// ---------------------------------------------------------
-// CVpnManagementUiPolicyView::ReadResourceL
-// Reads text from resource
-// ---------------------------------------------------------
-//
-void CVpnManagementUiPolicyView::ReadResourceL(HBufC& aText, TInt aResource)
- {
- HBufC* text = StringLoader::LoadLC( aResource );
- aText.Des().Append(text->Des());
- CleanupStack::PopAndDestroy(); // text
- }
-
-
-// End of File
-