iaupdate/IAD/ui/src/iaupdatenodefilter.cpp
branchRCL_3
changeset 66 8b7f4e561641
parent 65 7333d7932ef7
equal deleted inserted replaced
65:7333d7932ef7 66:8b7f4e561641
    70 CIAUpdateNodeFilter::~CIAUpdateNodeFilter()
    70 CIAUpdateNodeFilter::~CIAUpdateNodeFilter()
    71     {
    71     {
    72     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::~CIAUpdateNodeFilter() begin");
    72     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::~CIAUpdateNodeFilter() begin");
    73 
    73 
    74     delete iFilterParams;
    74     delete iFilterParams;
    75     iStoredNodes.Reset();
       
    76 
    75 
    77     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::~CIAUpdateNodeFilter() end");
    76     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::~CIAUpdateNodeFilter() end");
    78     }
    77     }
    79 
    78 
    80 
    79 
   211                     }
   210                     }
   212                 else
   211                 else
   213                     {
   212                     {
   214                     for ( TInt i = 0; i < aFwNodes.Count(); ++i )   
   213                     for ( TInt i = 0; i < aFwNodes.Count(); ++i )   
   215                         {
   214                         {
   216                         if ( aFwNodes[i]->FwType() == MIAUpdateFwNode::EFotiNsu )
   215                         aFwNodes[i]->Base().SetSelected( ETrue );
   217                             {
       
   218                             aFwNodes[i]->Base().SetSelected( EFalse ); 
       
   219                             }
       
   220                         else
       
   221                             {
       
   222                             aFwNodes[i]->Base().SetSelected( ETrue );
       
   223                             }
       
   224                         }
   216                         }
   225                     for ( TInt i = 0; i < aNodes.Count(); ++i )   
   217                     for ( TInt i = 0; i < aNodes.Count(); ++i )   
   226                         {
   218                         {
   227                         aNodes[i]->Base().SetSelected( EFalse );
   219                         aNodes[i]->Base().SetSelected( EFalse );
   228                         }
   220                         }
   237                 }
   229                 }
   238             else
   230             else
   239                 {
   231                 {
   240                 for ( TInt i = 0; i < aFwNodes.Count(); ++i )   
   232                 for ( TInt i = 0; i < aFwNodes.Count(); ++i )   
   241                     {
   233                     {
   242                     if ( aFwNodes[i]->FwType() == MIAUpdateFwNode::EFotiNsu )
   234                     aFwNodes[i]->Base().SetSelected( ETrue );
   243                         {
       
   244                         aFwNodes[i]->Base().SetSelected( EFalse ); 
       
   245                         }
       
   246                     else
       
   247                         {
       
   248                         aFwNodes[i]->Base().SetSelected( ETrue );
       
   249                         }
       
   250                     }
   235                     }
   251                 for ( TInt i = 0; i < aNodes.Count(); ++i )   
   236                 for ( TInt i = 0; i < aNodes.Count(); ++i )   
   252                     {
   237                     {
   253                     aNodes[i]->Base().SetSelected( EFalse );
   238                     aNodes[i]->Base().SetSelected( EFalse );
   254                     }
   239                     }
   413     {
   398     {
   414     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::SetDependenciesSelectedL() begin"); 
   399     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::SetDependenciesSelectedL() begin"); 
   415     RPointerArray<MIAUpdateNode> deps;
   400     RPointerArray<MIAUpdateNode> deps;
   416     CleanupClosePushL( deps );
   401     CleanupClosePushL( deps );
   417     
   402     
   418         
   403     RPointerArray<MIAUpdateAnyNode> allNodes;
   419     IAUpdateDepUtils::GetDependenciesL( aNode, aAllNodes, deps );    
   404     CleanupClosePushL( allNodes );
   420 
   405     for( TInt i = 0; i < aAllNodes.Count(); ++i ) 
       
   406         {
       
   407         MIAUpdateAnyNode* node = aAllNodes[i];
       
   408         User::LeaveIfError( allNodes.Append( node ) );
       
   409         }
       
   410     
       
   411     IAUpdateDepUtils::GetDependenciesL( aNode, allNodes, deps );    
       
   412     CleanupStack::PopAndDestroy( &allNodes );
   421     TInt depCount = deps.Count();
   413     TInt depCount = deps.Count();
   422     for( TInt i = 0; i < depCount; i++ )
   414     for( TInt i = 0; i < depCount; i++ )
   423         {
   415         {
   424         TInt depNodeInd = aAllNodes.Find( deps[i] );
   416         TInt depNodeInd = aAllNodes.Find( deps[i] );
   425         aAllNodes[depNodeInd]->Base().SetSelected( ETrue );
   417         aAllNodes[depNodeInd]->Base().SetSelected( ETrue );
   427     CleanupStack::PopAndDestroy( &deps );
   419     CleanupStack::PopAndDestroy( &deps );
   428 
   420 
   429     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::SetDependenciesSelectedL() end");
   421     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::SetDependenciesSelectedL() end");
   430     }
   422     }
   431 
   423 
   432 // -----------------------------------------------------------------------------
   424 
   433 // CIAUpdateNodeFilter::StoreNodeListL
       
   434 // 
       
   435 // -----------------------------------------------------------------------------
       
   436 //
       
   437 void CIAUpdateNodeFilter::StoreNodeListL( const RPointerArray< MIAUpdateNode >& aNodes )
       
   438     {
       
   439     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::StoreNodeListL() begin");
       
   440     iStoredNodes.Reset();
       
   441     for( TInt i = 0; i < aNodes.Count(); ++i )
       
   442         {
       
   443         iStoredNodes.AppendL( aNodes[i] ); 
       
   444         }
       
   445     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::StoreNodeListL() end");
       
   446     }
       
   447 
       
   448 // -----------------------------------------------------------------------------
       
   449 // CIAUpdateNodeFilter::RestoreNodeListL
       
   450 // 
       
   451 // -----------------------------------------------------------------------------
       
   452 //
       
   453 void CIAUpdateNodeFilter::RestoreNodeListL( RPointerArray< MIAUpdateNode >& aNodes) const
       
   454     {
       
   455     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::RestoreNodeListL() begin");   
       
   456     aNodes.Reset();
       
   457     for( TInt i = 0; i < iStoredNodes.Count(); ++i )
       
   458         {
       
   459         aNodes.AppendL( iStoredNodes[i] ); 
       
   460         }
       
   461     IAUPDATE_TRACE("[IAUPDATE] CIAUpdateNodeFilter::RestoreNodeListL() end");   
       
   462     }
       
   463 
       
   464 // -----------------------------------------------------------------------------
       
   465 // CIAUpdateNodeFilter::SortSelectedNodesFirstL
       
   466 // 
       
   467 // -----------------------------------------------------------------------------
       
   468 //
       
   469 void CIAUpdateNodeFilter::SortSelectedNodesFirstL( 
       
   470                           const RPointerArray<MIAUpdateNode>& aSelectedNodes, 
       
   471                           RPointerArray< MIAUpdateNode >& aNodes )
       
   472     {
       
   473     for ( TInt i = aNodes.Count() - 1 ; i >= 0 ; --i )
       
   474         {
       
   475         MIAUpdateNode* node( aNodes[ i ] );
       
   476         if ( node->Base().IsSelected() )
       
   477             {
       
   478             aNodes.Remove( i );        
       
   479             }
       
   480         }
       
   481     for ( TInt j = aSelectedNodes.Count() -1 ; j >= 0 ; --j )
       
   482         {
       
   483         aNodes.InsertL( aSelectedNodes[j], 0 ); 
       
   484         }
       
   485     }
       
   486  
       
   487 // -----------------------------------------------------------------------------
       
   488 // CIAUpdateNodeFilter::SortThisNodeFirstL
       
   489 // 
       
   490 // -----------------------------------------------------------------------------
       
   491 //
       
   492 void CIAUpdateNodeFilter::SortThisNodeFirstL( const MIAUpdateNode* aFirstNode, 
       
   493                                               RPointerArray< MIAUpdateNode >& aNodes)
       
   494     {
       
   495     TBool removed = EFalse; 
       
   496     for ( TInt i = aNodes.Count() - 1 ; i >= 0 && !removed ; --i )
       
   497         {
       
   498         if ( aNodes[ i ] == aFirstNode )
       
   499             {
       
   500             aNodes.Remove( i );      
       
   501             removed = ETrue;
       
   502             }
       
   503         }
       
   504     aNodes.InsertL( aFirstNode, 0 );
       
   505     }
       
   506 
   425 
   507 
   426 
   508 // -----------------------------------------------------------------------------
   427 // -----------------------------------------------------------------------------
   509 // CIAUpdateNodeFilter::CompareAndMarkFilterNodesL
   428 // CIAUpdateNodeFilter::CompareAndMarkFilterNodesL
   510 // 
   429 //