appinstaller/AppMngr2/src/appmngr2listview.cpp
changeset 80 9dcba1ee99f7
parent 77 d1838696558c
--- a/appinstaller/AppMngr2/src/appmngr2listview.cpp	Thu Oct 14 14:11:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* Copyright (c) 2008-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:   Base class for different AppMngr2 list views
-*
-*/
-
-
-#include "appmngr2listview.h"           // CAppMngr2ListView
-#include "appmngr2listcontainer.h"      // CAppMngr2ListContainer
-#include "appmngr2appui.h"              // CAppMngr2AppUi
-#include "appmngr2model.h"              // CAppMngr2Model
-#include "appmngr2log.h"                // CAppMngr2Log
-#include "appmngr2.hrh"                 // Command IDs
-#include <appmngr2runtime.h>            // CAppMngr2Runtime
-#include <appmngr2infobase.h>           // CAppMngr2InfoBase
-#include <appmngr2cleanuputils.h>       // CleanupResetAndDestroyPushL
-#include <appmngr2debugutils.h>         // FLOG macros
-#include <appmngr2common.hrh>           // generic command ids
-#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
-#include <featmgr.h>                    // FeatureManager
-#include <bautils.h>                    // BaflUtils
-#include <eikenv.h>                     // CEikonEnv
-#include <aknViewAppUi.h>               // CAknViewAppUi
-#include <eikmenub.h>                   // CEikMenuBar, CEikMenuPane
-#include <eikmenup.h>                   // CEikMenuPaneItem
-#include <akntitle.h>                   // CAknTitlePane
-#include <StringLoader.h>               // StringLoader
-#include <AknInfoPopupNoteController.h> // CAknInfoPopupNoteController
-#include <appmngr2.rsg>                 // Resource IDs
-
-const TUid KStatusPaneUid = { EEikStatusPaneUidTitle };
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::ConstructL() 
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::ConstructL( TInt aResourceId )
-    {
-    FLOG( "CAppMngr2ListView::ConstructL( 0x%08x )", aResourceId );
-    
-    BaseConstructL( aResourceId );
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::~CAppMngr2ListView() 
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListView::~CAppMngr2ListView()
-    {
-    FLOG( "CAppMngr2ListView::~CAppMngr2ListView" );
-    
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        }
-    delete iInfoPopup;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::RefreshL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::RefreshL( TInt aMoreRefreshesExpected )
-    {
-    if( iContainer )
-        {
-        TBool selectedItemChanged = EFalse;
-        iContainer->RefreshL( iMaintainFocus, selectedItemChanged, aMoreRefreshesExpected );
-        if( selectedItemChanged )
-            {
-            UpdateMiddleSoftkeyCommandL();
-            StopDisplayingMenuBar();
-            iMaintainFocus = EFalse;
-            }
-
-        // Close progress note used in application startup
-        if( iInfoPopup && !aMoreRefreshesExpected )
-            {
-            iInfoPopup->HideInfoPopupNote();
-            delete iInfoPopup;
-            iInfoPopup = NULL;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::UpdateMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::UpdateMiddleSoftkeyCommandL()
-    {
-    FLOG_PERF_STATIC_BEGIN( UpdateMiddleSoftkeyCommandL );
-    
-    if( iContainer && !iContainer->IsListEmpty() )
-        {
-        // add item-specific MSK if the current item has one
-        CAppMngr2InfoBase& currentItem = iContainer->CurrentItem();
-        TInt resourceId = 0;
-        TInt commandId = 0;
-        currentItem.GetMiddleSoftkeyCommandL( resourceId, commandId );
-        if( resourceId && commandId )
-            {
-            SetMiddleSoftkeyCommandL( resourceId, commandId );
-            }
-        else
-            {
-            SetDefaultMiddleSoftkeyCommandL();
-            }
-        }
-    else
-        {
-        // list is empty, remove old MSK if it has been added and set the default
-        CEikButtonGroupContainer* cba = Cba();
-        if( iMiddleSoftkeyCommandId && cba )
-            {
-            cba->RemoveCommandFromStack( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-                    iMiddleSoftkeyCommandId );
-            }
-        SetDefaultMiddleSoftkeyCommandL();
-        }
-    
-    FLOG_PERF_STATIC_END( UpdateMiddleSoftkeyCommandL )
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::CurrentItemSelectedByUser()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::CurrentItemSelectedByUser( TBool aMaintainFocus )
-    {
-    iMaintainFocus = aMaintainFocus;
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::HandleViewRectChange()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::HandleViewRectChange()
-    {
-    if( iContainer )
-        {
-        iContainer->SetRect( ClientRect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::HandleCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::HandleCommandL( TInt aCommand )
-    {
-    FLOG( "CAppMngr2ListView::HandleCommandL( %d )", aCommand );
-    
-    switch( aCommand )
-        {
-        case EAknSoftkeyBack:
-            AppUi()->HandleCommandL( EAknSoftkeyExit );
-            break;
-
-        case EAppMngr2CmdLog:
-            {
-            CAppMngr2Log* log = CAppMngr2Log::NewLC();
-            log->ShowInstallationLogL();
-            CleanupStack::PopAndDestroy( log );
-            }
-            break;
-
-        case EAknCmdHelp:
-        case EAknCmdExit:
-            AppUi()->HandleCommandL( aCommand );
-            break;
-
-        default:
-            Model().HandleCommandL( iContainer->CurrentItem(), aCommand );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DynInitMenuPaneL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DynInitMenuPaneL( TInt aResourceId,
-        CEikMenuPane* aMenuPane )
-    {
-    if( aResourceId == R_APPMNGR2_INSTALLED_MENU
-            || aResourceId == R_APPMNGR2_PACKAGES_MENU )
-        {
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) 
-            {
-            aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
-            }
-
-        // Keep the currently selected item focused in forthcoming list refreshes. 
-        iMaintainFocus = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DoActivateL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-        TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ )
-    {
-    FLOG( "CAppMngr2ListView::DoActivateL, id 0x%08x", Id().iUid );
-    
-    CAknTitlePane* titlePane = NULL;
-    titlePane = static_cast<CAknTitlePane*>( StatusPane()->ControlL( KStatusPaneUid ) );
-    SetTitleL( *titlePane );
-    
-    if( iContainer == NULL )
-        {
-        iContainer = CreateContainerL();
-        iContainer->SetMopParent( this );
-        AppUi()->AddToViewStackL( *this, iContainer );
-        iContainer->ActivateL();
-        }
-    UpdateMiddleSoftkeyCommandL();
-
-    if( iInfoPopup == NULL )
-        {
-        iInfoPopup = CAknInfoPopupNoteController::NewL();
-        iInfoPopup->SetTimePopupInView( 0 );
-        iInfoPopup->HideWhenAppFaded( EFalse );
-        HBufC* noteText = StringLoader::LoadLC( R_QTN_AM_SCANNING_MEMORY );
-        iInfoPopup->SetTextL( *noteText );
-        CleanupStack::PopAndDestroy( noteText );
-        iInfoPopup->ShowInfoPopupNote();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::DoDeactivate()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::DoDeactivate()
-    {
-    FLOG( "CAppMngr2ListView::DoDeactivate, id 0x%08x", Id().iUid );
-    
-    if( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = NULL;
-        }
-    if( iInfoPopup )
-        {
-        delete iInfoPopup;
-        iInfoPopup = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::Model()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2Model& CAppMngr2ListView::Model() const
-    {
-    return reinterpret_cast<CAppMngr2AppUi*>( iEikonEnv->EikAppUi() )->Model();
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::AddDynamicMenuItemsL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::AddDynamicMenuItemsL( CAppMngr2InfoBase& aCurrentItem,
-        CEikMenuPane* aMenuPane )
-    {
-    if( aMenuPane )
-        {
-        FLOG_PERF_STATIC_BEGIN( AddDynamicMenuItemsL );
-        
-        TInt position = 0;
-        if( aMenuPane->MenuItemExists( EAppMngr2PlaceForPluginSpecificCmds, position ) )
-            {
-            aMenuPane->DeleteMenuItem( EAppMngr2PlaceForPluginSpecificCmds );
-    
-            RPointerArray<CEikMenuPaneItem::SData> menuItems;
-            CleanupResetAndDestroyPushL( menuItems );
-
-            TRAPD( err, aCurrentItem.GetMenuItemsL( menuItems ) );
-            if( !err )
-                {
-                TInt count = menuItems.Count();
-                for( TInt index = 0; index < count; index++ )
-                    {
-                    aMenuPane->InsertMenuItemL( *( menuItems[ index ] ), position++ );
-                    aMenuPane->SetItemSpecific( menuItems[ index ]->iCommandId, ETrue );
-                    }
-                }
-
-            CleanupStack::PopAndDestroy( &menuItems );
-            }
-        
-        FLOG_PERF_STATIC_END( AddDynamicMenuItemsL )
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::SetMiddleSoftkeyCommandL()
-// ---------------------------------------------------------------------------
-//
-void CAppMngr2ListView::SetMiddleSoftkeyCommandL( TInt aResourceId, TInt aCommandId )
-    {
-    CEikButtonGroupContainer* cba = Cba();
-    if( cba )
-        {
-        // remove old command from the stack if it is already added
-        if( iMiddleSoftkeyCommandId )
-            {
-            cba->RemoveCommandFromStack( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-                    iMiddleSoftkeyCommandId );
-            }
-        HBufC* middleSoftkeyLabel = StringLoader::LoadLC( aResourceId );
-        cba->AddCommandToStackL( CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-                aCommandId, *middleSoftkeyLabel );
-        CleanupStack::PopAndDestroy( middleSoftkeyLabel );
-        iMiddleSoftkeyCommandId = aCommandId;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CAppMngr2ListView::CAppMngr2ListView()
-// ---------------------------------------------------------------------------
-//
-CAppMngr2ListView::CAppMngr2ListView()
-    {
-    }
-