pkiutilities/CertmanUi/SRC/CertmanuiviewMain.cpp
changeset 0 164170e6151a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkiutilities/CertmanUi/SRC/CertmanuiviewMain.cpp	Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,290 @@
+/*
+* Copyright (c) 2003-2007 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:   Implementation of class CCertManUIViewMain
+*
+*/
+
+
+// INCLUDE FILES
+
+#include <aknmessagequerydialog.h>
+#include <aknnotewrappers.h>            // for warning & information notes
+#include <certmanui.rsg>
+#include <ErrorUI.h>
+#include "CertmanuiCertificateHelper.h"
+#include "CertmanuiKeeper.h"
+#include "CertmanuicontainerMain.h"
+#include "CertmanuiSyncWrapper.h"
+#include "Certmanui.hrh"
+#include "CertmanuiCommon.h"
+#include "CertManUILogger.h"
+#include "CertmanuiPlugin.h"            // for KCertManUIPluginUid
+
+#include    <hlplch.h>                  // For HlpLauncher
+
+const TUid KGSSecurityViewUid = { 0x1020743A };
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::CCertManUIViewMain(CCertManUIKeeper& aKeeper)
+// : iKeeper(aKeeper), iCrMgr(iKeeper.CertManager())
+// Constructor
+// ---------------------------------------------------------
+//
+CCertManUIViewMain::CCertManUIViewMain(CCertManUIKeeper& aKeeper)
+    : iKeeper( aKeeper )
+    {
+    CERTMANUILOGGER_WRITE_TIMESTAMP( "CCertManUIViewMain::CCertManUIViewMain" );
+    }
+
+// -----------------------------------------------------------------------------
+// CCertManUIViewMain::~CCertManUIViewMain()
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CCertManUIViewMain::~CCertManUIViewMain()
+    {
+    CERTMANUILOGGER_ENTERFN( "CCertManUIViewMain::~CCertManUIViewMain" );
+
+    if ( iContainerMain )
+        {
+        AppUi()->RemoveFromViewStack( *this, iContainerMain );
+        delete iContainerMain;
+        }
+
+    CERTMANUILOGGER_LEAVEFN( "CCertManUIViewMain::~CCertManUIViewMain" );
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain* CCertManUIViewMain::NewL(const TRect& /*aRect*/,
+//                                CCertManUIKeeper& aKeeper)
+// ---------------------------------------------------------
+//
+CCertManUIViewMain* CCertManUIViewMain::NewL( const TRect& /*aRect*/,
+                                CCertManUIKeeper& aKeeper )
+    {
+    CCertManUIViewMain* self = new ( ELeave ) CCertManUIViewMain( aKeeper );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain* CCertManUIViewMain::NewLC(const TRect& /*aRect*/,
+//                                 CCertManUIKeeper& aKeeper)
+// ---------------------------------------------------------
+//
+CCertManUIViewMain* CCertManUIViewMain::NewLC(const TRect& /*aRect*/,
+                                 CCertManUIKeeper& aKeeper)
+    {
+    CCertManUIViewMain* self = new ( ELeave ) CCertManUIViewMain( aKeeper );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::ConstructL()
+// EPOC two-phased constructor
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::ConstructL()
+    {
+  CERTMANUILOGGER_ENTERFN( "CCertManUIViewMain::ConstructL" );
+
+  BaseConstructL( R_CERTMANUI_VIEW_MAIN );
+
+  CERTMANUILOGGER_LEAVEFN( "CCertManUIViewMain::ConstructL" );
+  }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::Id() const
+// Returns Personal view id
+// ---------------------------------------------------------
+//
+TUid CCertManUIViewMain::Id() const
+    {
+    return KCertManUIViewMainId;
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::HandleCommandL(TInt aCommand)
+// Handles Softkey and Options list commands
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::HandleCommandL( TInt aCommand )
+    {
+    CERTMANUILOGGER_ENTERFN( "CCertManUIViewMain::HandleCommandL" );
+
+    switch ( aCommand )
+        {
+        case EAknSoftkeyBack:
+            {
+            // Activate Security view
+            AppUi()->ActivateLocalViewL( KGSSecurityViewUid );
+            break;
+            }
+        case EAknCmdExit:
+            {
+            ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit );
+            break;
+            }
+        case ECertManUICmdAppViewDtls:
+        case ECertManUICmdAppOpen:
+            {
+            TInt index = iContainerMain->iListBox->CurrentItemIndex();
+
+            if ( index == 0)
+                {
+                AppUi()->ActivateLocalViewL( KCertManUIViewAuthorityId );
+                }
+            else if ( index == 1)
+                {
+                AppUi()->ActivateLocalViewL( KCertManUIViewTrustedSiteId );
+                }
+            else if ( index == 2)
+                {
+                AppUi()->ActivateLocalViewL( KCertManUIViewPersonalId );
+                }
+            else if ( index == 3)
+                {
+                AppUi()->ActivateLocalViewL( KCertManUIViewDeviceId );
+                }
+            else  // For lint
+                {
+                }
+
+            break;
+            }
+
+        case EAknCmdHelp:
+            {
+             if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+                 {
+                 HlpLauncher::LaunchHelpApplicationL(
+                    iEikonEnv->WsSession(), AppUi()->AppHelpContextL() );
+                 }
+            break;
+            }
+
+        default:
+            {
+            AppUi()->HandleCommandL( aCommand );
+            break;
+            }
+        }
+
+    CERTMANUILOGGER_LEAVEFN( "CCertManUIViewMain::HandleCommandL" );
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::HandleClientRectChange()
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::HandleClientRectChange()
+    {
+    if ( iContainerMain )
+        {
+        iContainerMain->SetRect( ClientRect() );
+        }
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::DoActivateL(const TVwsViewId& aPrevViewId,
+//                                 TUid /*aCustomMessageId*/,
+//                                 const TDesC8& /*aCustomMessage*/)
+// Updates the view when opening it
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::DoActivateL( const TVwsViewId& aPrevViewId,
+                                      TUid /*aCustomMessageId*/,
+                                      const TDesC8& /*aCustomMessage*/ )
+    {
+    CERTMANUILOGGER_ENTERFN( "CCertManUIViewMain::DoActivateL" );
+
+    if ( iContainerMain )
+        {
+        ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack(
+            *this, iContainerMain );
+
+        delete iContainerMain;
+        iContainerMain = NULL;
+        }
+
+    if( aPrevViewId.iViewUid == KCertManUIPluginUid )
+        {
+        iCurrentPosition = 0;
+        }
+
+    iContainerMain = new (ELeave) CCertManUIContainerMain(
+        *this, iKeeper );
+
+    iContainerMain->SetMopParent( this );
+    iContainerMain->ConstructL(
+        ClientRect(), iCurrentPosition, iTopItem );
+
+
+    iContainerMain->DrawListBoxL( iCurrentPosition, iTopItem );
+    ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iContainerMain );
+
+    CERTMANUILOGGER_LEAVEFN( "CCertManUIViewMain::DoActivateL" );
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::DoDeactivate()
+// Saves focus position when closing view
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::DoDeactivate()
+    {
+    CERTMANUILOGGER_ENTERFN( "CCertManUIViewMain::DoDeactivate" );
+
+    iCurrentPosition = iContainerMain->iListBox->CurrentItemIndex();
+    iTopItem = iContainerMain->iListBox->TopItemIndex();
+
+    CERTMANUILOGGER_LEAVEFN( "CCertManUIViewMain::DoDeactivate" );
+    }
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::Container()
+// Returns iContainerMain to be used in CertManUIContainerMain
+// ---------------------------------------------------------
+//
+CCoeControl* CCertManUIViewMain::Container()
+    {
+    return iContainerMain;
+    }
+
+
+// ---------------------------------------------------------
+// CCertManUIViewMain::DynInitMenuPaneL()
+// ---------------------------------------------------------
+//
+void CCertManUIViewMain::DynInitMenuPaneL(
+    TInt aResourceId, CEikMenuPane* aMenuPane )
+    {
+    if ( aResourceId == R_CERTMANUI_VIEW_MENU_MAIN )
+        {
+        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
+            {
+            aMenuPane->DeleteMenuItem( EAknCmdHelp ); //remove help
+            }
+        }
+    }
+
+// End of File
+