appinstaller/AppMngr2/GSSettingsPlugin/src/appmngr2gssettingscontainer.cpp
changeset 80 9dcba1ee99f7
parent 77 d1838696558c
--- a/appinstaller/AppMngr2/GSSettingsPlugin/src/appmngr2gssettingscontainer.cpp	Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +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:   AppMngr2 GS (General Settings) Settings plug-in Container
-*
-*/
-
-
-#include "appmngr2gssettingscontainer.h" // CAppMngr2GSSettingsContainer
-#include <aknlists.h>                   // CAknSettingStyleListBox
-#include <centralrepository.h>          // CRepository
-#include <AknIconArray.h>               // CAknIconArray
-#include <featmgr.h>                    // FeatureManager
-#include <SWInstallerInternalCRKeys.h>  // KCRUidSWInstallerSettings
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <appmngr2gssettingspluginrsc.rsg> // Resource IDs
-#include <appmngr2.mbg>                 // Bitmap IDs
-#include <csxhelp/am.hlp.hrh>           // Help IDs
-
-const TInt KNumStrSize = 1;             // Buffer size for string which has one number
-const TInt KGranularity = 1;
-const TInt KMaxSettingsItemLength = 128 + NCentralRepositoryConstants::KMaxUnicodeStringLength;
-
-_LIT( KAppMngrTab, "\t");
-_LIT( KAppMngr2IconFileNameMif, "appmngr2.mif" );
-_LIT( KDriveZ, "z:" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::NewL()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer* CAppMngr2GSSettingsContainer::NewL( const TRect& aRect )
-    {
-    CAppMngr2GSSettingsContainer* self = new ( ELeave ) CAppMngr2GSSettingsContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::~CAppMngr2GSSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer::~CAppMngr2GSSettingsContainer()
-    {
-    delete iListbox;
-    delete iItems;
-    delete iOcspCheckValueArray;
-    delete iAllowUntrustedValueArray;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ListBox()
-// ---------------------------------------------------------------------------
-//
-CAknSettingStyleListBox* CAppMngr2GSSettingsContainer::ListBox() const
-    {
-    return iListbox;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::UpdateListBoxContentL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::UpdateListBoxContentL()
-    {
-    TInt ocsp_check_value = 0;
-    HBufC* ocsp_url = HBufC::NewLC( NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    TPtr ocsp_url_value( ocsp_url->Des() );
-    ocsp_url_value.Zero();
-    TInt allowUntrustedValue( 0 );
-
-    // Must save listbox indexes because content will be deleted
-    TInt lastListBoxPos = iListbox->CurrentItemIndex();
-    TInt lastListBoxTopPos = iListbox->TopItemIndex();
-
-    MDesCArray* itemList = iListbox->Model()->ItemTextArray();
-    CDesCArray* itemArray = static_cast<CDesCArray*>( itemList );
-    itemArray->Reset();
-
-    // Get data from Central repository
-    CRepository* repDB = CRepository::NewLC( KCRUidSWInstallerSettings );
-    repDB->Get( KSWInstallerOcspProcedure, ocsp_check_value );
-    repDB->Get( KSWInstallerOcspDefaultURL, ocsp_url_value );
-    if( ocsp_url_value.Length() == 0 )
-        {
-        // If OCSP URL is empty string add the default text "none"
-        iCoeEnv->ReadResourceAsDes16L( ocsp_url_value, R_AM_SET_OCSP_NONE );
-        }
-    repDB->Get( KSWInstallerAllowUntrusted, allowUntrustedValue );
-    if( allowUntrustedValue )
-        {
-        allowUntrustedValue = 1;
-        }
-    CleanupStack::PopAndDestroy( repDB );
-
-    switch( ocsp_check_value )
-        {
-        case ESWInstallerOcspProcedureOff:
-            ocsp_check_value = EAppMngr2OcspCheckValueArrayOff;
-            break;
-        case ESWInstallerOcspProcedureOn:
-            ocsp_check_value = EAppMngr2OcspCheckValueArrayOn;
-            break;
-        case ESWInstallerOcspProcedureMust:
-            ocsp_check_value = EAppMngr2OcspCheckValueArrayMustPass;
-            break;
-        default:
-            break;
-        }
-
-    HBufC* itemValue = HBufC::NewLC( KMaxSettingsItemLength );
-    TPtr itemPtr = itemValue->Des();
-    itemPtr = ( *iItems )[ EAppMngr2SettingSwInstall ];
-
-    // Check variation
-    TInt hideAllowUntrusted( 1 );
-    CRepository* variationDB = CRepository::NewLC( KCRUidSWInstallerLV );
-    variationDB->Get( KSWInstallerHideUntrustedIns, hideAllowUntrusted );
-    CleanupStack::PopAndDestroy( variationDB );
-
-    if( !hideAllowUntrusted )
-        {
-        itemPtr.Zero();
-        itemPtr = ( *iItems )[ EAppMngr2SettingSwInstall ];
-        itemPtr += ( *iAllowUntrustedValueArray )[ allowUntrustedValue ];
-        itemArray->AppendL( itemPtr );
-        }
-
-    if( !FeatureManager::FeatureSupported( KFeatureIdOCSP ) )
-        {
-        // If OCSP feature is not supported, OCSP settings can not be changed
-        // --> lock icon is added
-        TBuf<KNumStrSize> strNum;
-        strNum.Num( 0 );
-
-        // If lock icon is wanted to be shown, the string format must be:
-        // " \tSetting label\t\tSetting value\t\t\t0"
-
-        itemPtr.Zero();
-        itemPtr = ( *iItems )[ EAppMngr2SettingOcsp ];
-        itemPtr += ( *iOcspCheckValueArray )[ ocsp_check_value ];
-        itemPtr += KAppMngrTab;
-        itemPtr += KAppMngrTab;
-        itemPtr += KAppMngrTab;
-        itemPtr.Append( strNum );
-        itemArray->AppendL( itemPtr );
-
-        itemPtr.Zero();
-        itemPtr = ( *iItems )[ EAppMngr2SettingOcspUrl ];
-        itemPtr += ocsp_url_value;
-        itemPtr += KAppMngrTab;
-        itemPtr += KAppMngrTab;
-        itemPtr += KAppMngrTab;
-        itemPtr.Append( strNum );
-        itemArray->AppendL( itemPtr );
-        }
-    else
-        {
-        itemPtr.Zero();
-        itemPtr = ( *iItems )[ EAppMngr2SettingOcsp ];
-        itemPtr += ( *iOcspCheckValueArray )[ ocsp_check_value ];
-        itemArray->AppendL( itemPtr );
-
-        itemPtr.Zero();
-        itemPtr = ( *iItems )[ EAppMngr2SettingOcspUrl ];
-        itemPtr += ocsp_url_value;
-        itemArray->AppendL( itemPtr );
-        }
-
-    CleanupStack::PopAndDestroy( itemValue );
-    // Handle content changes
-    iListbox->Reset();
-    // Listbox might not have index
-    if( lastListBoxPos != -1 )
-        {
-        iListbox->SetCurrentItemIndex( lastListBoxPos );
-        iListbox->SetTopItemIndex( lastListBoxTopPos );
-        }
-
-    CleanupStack::PopAndDestroy( ocsp_url );
-    
-    // Call after addition to ensure that the list dialog is updated correctly.
-    iListbox->HandleItemAdditionL();
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::OfferKeyEventL()
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CAppMngr2GSSettingsContainer::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    return iListbox->OfferKeyEventL(aKeyEvent, aType);
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::CAppMngr2GSSettingsContainer()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2GSSettingsContainer::CAppMngr2GSSettingsContainer()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-
-    iListbox = new( ELeave ) CAknSettingStyleListBox;
-
-    iListbox->SetContainerWindowL( *this );
-    iListbox->ConstructL( this, EAknListBoxSelectionList );
-
-    // Read the setting items array (contains first lines of the setting items)
-    iItems = iCoeEnv->ReadDesC16ArrayResourceL( R_APPMNGR2_SETTING_ARRAY );
-    iOcspCheckValueArray = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_APPMNGR2_OCSP_CHECK_VALUE_ARRAY );
-    iAllowUntrustedValueArray = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_APPMNGR2_ALLOW_UNTRUSTED_VALUE_ARRAY );
-
-    iListbox->CreateScrollBarFrameL( ETrue );
-    iListbox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOn,
-            CEikScrollBarFrame::EAuto );
-    iListbox->SetRect( aRect.Size() );
-    iListbox->ActivateL();
-    SetRect( aRect );
-    ActivateL();
-    
-    iListbox->SetCurrentItemIndex( EAppMngr2SettingSwInstall );
-    if( !FeatureManager::FeatureSupported( KFeatureIdOCSP ) )
-        {
-        LoadIconsL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::LoadIconsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::LoadIconsL()
-    {
-    HBufC* iconFilePath = HBufC::NewL( KDriveZ().Length() +
-            KDC_APP_BITMAP_DIR().Length() + KAppMngr2IconFileNameMif().Length() );
-    CleanupStack::PushL( iconFilePath );
-
-    TPtr ptr = iconFilePath->Des();
-    ptr.Append( KDriveZ );
-    ptr.Append( KDC_APP_BITMAP_DIR );
-    ptr.Append( KAppMngr2IconFileNameMif );
-
-    CArrayPtr<CGulIcon>* icons = new ( ELeave ) CAknIconArray( KGranularity );
-    CleanupStack::PushL( icons );
-
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-    CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance,
-            KAknsIIDQgnIndiSettProtectedAdd, *iconFilePath,
-            EMbmAppmngr2Qgn_indi_sett_protected_add,
-            EMbmAppmngr2Qgn_indi_sett_protected_add_mask );
-    CleanupStack::PushL( icon );
-    icons->AppendL( icon );
-
-    iListbox->ItemDrawer()->FormattedCellData()->SetIconArrayL( icons );
-
-    CleanupStack::Pop( icon );
-    CleanupStack::Pop( icons );
-    CleanupStack::PopAndDestroy( iconFilePath );
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::SizeChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::SizeChanged()
-    {
-    iListbox->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::FocusChanged()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    if( iListbox )
-        {
-        iListbox->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::CountComponentControls()
-// ---------------------------------------------------------------------------
-//
-TInt CAppMngr2GSSettingsContainer::CountComponentControls() const
-    {
-    return iListbox ? 1 : 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::ComponentControl()
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CAppMngr2GSSettingsContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iListbox;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::GetHelpContext()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KAppMngr2AppUid;
-    aContext.iContext = KAM_HLP_GENERAL_SETTINGS;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2GSSettingsContainer::HandleResourceChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2GSSettingsContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-
-    if( aType == KEikDynamicLayoutVariantSwitch ) //Handle change in layout orientation
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-        SetRect( mainPaneRect );
-        DrawNow();
-        }
-    }
-