messagingappbase/mce/src/MceOneRowMessageListContainer.cpp
branchRCL_3
changeset 29 7e4e4bcc75b6
parent 22 52d61119153d
child 54 fa1df4b99609
equal deleted inserted replaced
28:fbb813aef148 29:7e4e4bcc75b6
    86 // Constructor
    86 // Constructor
    87 // ----------------------------------------------------
    87 // ----------------------------------------------------
    88 //
    88 //
    89 CMceOneRowMessageListContainer::CMceOneRowMessageListContainer( CMceMessageListView& aParentView ) :
    89 CMceOneRowMessageListContainer::CMceOneRowMessageListContainer( CMceMessageListView& aParentView ) :
    90     CMceMessageListContainerBase( aParentView ),
    90     CMceMessageListContainerBase( aParentView ),
    91     iEmailFramework(EFalse)
    91     iEmailFramework(EFalse),
    92     {
    92     iDeletedMessges(0)
       
    93     {
       
    94     iSelectedSubTitles.Reset();
    93     }
    95     }
    94 
    96 
    95 
    97 
    96 // ----------------------------------------------------
    98 // ----------------------------------------------------
    97 // Destructor
    99 // Destructor
   105     delete iBitmapResolver;
   107     delete iBitmapResolver;
   106     delete iBgContext;
   108     delete iBgContext;
   107     delete iSelectedEntries;
   109     delete iSelectedEntries;
   108     delete iTreeListBox;
   110     delete iTreeListBox;
   109     delete iUiRegistry;
   111     delete iUiRegistry;
       
   112     iSelectedSubTitles.Close();
   110     }
   113     }
   111 
   114 
   112 
   115 
   113 // ----------------------------------------------------
   116 // ----------------------------------------------------
   114 // CMceOneRowMessageListContainer::NewL
   117 // CMceOneRowMessageListContainer::NewL
  1088             if ( iListItems->GetEntry( i, entry ) == KErrNone &&
  1091             if ( iListItems->GetEntry( i, entry ) == KErrNone &&
  1089                  entry.iType == KUidMsvMessageEntry &&
  1092                  entry.iType == KUidMsvMessageEntry &&
  1090                  !entry.Unread() )
  1093                  !entry.Unread() )
  1091                 {
  1094                 {
  1092                 TAknTreeItemID treeItemId = iListItems->TreeItemId( i );
  1095                 TAknTreeItemID treeItemId = iListItems->TreeItemId( i );
  1093                 iTreeListBox->SetMarked( treeItemId, ETrue, ETrue );
  1096                 iTreeListBox->SetMarked( treeItemId, ETrue, EFalse );
  1094                 }
  1097                 }
  1095             }
  1098             }
       
  1099         iTreeListBox->DrawNow();
  1096         }
  1100         }
  1097     }
  1101     }
  1098 
  1102 
  1099 
  1103 
  1100 // ----------------------------------------------------
  1104 // ----------------------------------------------------
  2262         TBool deleteParent = iListItems->EntryDeletedL( aSelection[i], treeItemId, parentTreeItemId );
  2266         TBool deleteParent = iListItems->EntryDeletedL( aSelection[i], treeItemId, parentTreeItemId );
  2263         if ( deleteParent )
  2267         if ( deleteParent )
  2264             {
  2268             {
  2265             // this removes node and child
  2269             // this removes node and child
  2266             iTreeListBox->RemoveItem( parentTreeItemId, EFalse );
  2270             iTreeListBox->RemoveItem( parentTreeItemId, EFalse );
       
  2271             TInt deleteSubtitle = iSelectedSubTitles.Find( parentTreeItemId );
       
  2272             if ( deleteSubtitle != KErrNotFound )
       
  2273                  {
       
  2274                  iSelectedSubTitles.Remove( deleteSubtitle );
       
  2275                  }
  2267             }
  2276             }
  2268         else if ( treeItemId > KAknTreeIIDRoot )
  2277         else if ( treeItemId > KAknTreeIIDRoot )
  2269             {
  2278             {
  2270             // delete only one child, there are other children left so leave node untouched
  2279             // delete only one child, there are other children left so leave node untouched
  2271             iTreeListBox->RemoveItem( treeItemId, EFalse );
  2280             iTreeListBox->RemoveItem( treeItemId, EFalse );
  2272             if ( parentTreeItemId > KAknTreeIIDRoot )
  2281             if ( parentTreeItemId > KAknTreeIIDRoot &&
  2273                 {
  2282                  iSelectedSubTitles.Find( parentTreeItemId ) == KErrNotFound )
  2274                 UpdateSubtitleIconL( parentTreeItemId, EFalse );        
  2283                 {
  2275                 }
  2284                 iSelectedSubTitles.AppendL( parentTreeItemId ) ;                           
  2276             }
  2285                 }
  2277         }
  2286             }
  2278 
  2287         }
  2279     if ( aDraw )
  2288 
  2280         {
  2289     iDeletedMessges += count;  
  2281         RefreshListbox();
  2290     if ( iSelectedEntries->Count() == iDeletedMessges )
       
  2291         {
       
  2292         TInt subTitleCount = iSelectedSubTitles.Count();
       
  2293         for ( TInt i = 0; i < subTitleCount; i++ )
       
  2294             {
       
  2295             UpdateSubtitleIconL( iSelectedSubTitles[i], EFalse );
       
  2296             }
       
  2297         iDeletedMessges = 0;
       
  2298         iSelectedSubTitles.Reset();
  2282         }
  2299         }
  2283     }
  2300     }
  2284 
  2301 
  2285 
  2302 
  2286 // ---------------------------------------------------------------------------
  2303 // ---------------------------------------------------------------------------