messagingappbase/msgeditor/appuisrc/MsgNaviPaneControl.cpp
branchRCL_3
changeset 24 696bfeff199e
parent 12 caea42e26caa
equal deleted inserted replaced
22:1367103c24e2 24:696bfeff199e
    89     SetContainerWindowL( *aParent );
    89     SetContainerWindowL( *aParent );
    90     
    90     
    91     iControlArray = CCoeControlArray::NewL( *this );
    91     iControlArray = CCoeControlArray::NewL( *this );
    92     iControlArray->SetControlsOwnedExternally( EFalse );
    92     iControlArray->SetControlsOwnedExternally( EFalse );
    93     iPriorityIndicator = EFalse;
    93     iPriorityIndicator = EFalse;
       
    94     iMessageIterator = NULL;
    94     UpdateVarientId();
    95     UpdateVarientId();
    95     SetComponentsToInheritVisibility( ETrue );
    96     SetComponentsToInheritVisibility( ETrue );
    96     ActivateL();
    97     ActivateL();
    97     }
    98     }
    98 #else
    99 #else
   163 // ----------------------------------------------------------------------------
   164 // ----------------------------------------------------------------------------
   164 //
   165 //
   165 EXPORT_C void CMsgNaviPaneControl::SetNavigationIndicatorL( CMsvSession& aSession,
   166 EXPORT_C void CMsgNaviPaneControl::SetNavigationIndicatorL( CMsvSession& aSession,
   166                                                    const TMsvEntry& aCurrentMessage )
   167                                                    const TMsvEntry& aCurrentMessage )
   167     {
   168     {
   168     delete iMessageIterator;
   169     if(!iMessageIterator)
   169     iMessageIterator = NULL;
   170         {
   170     
   171         // Iterator will be deleted once in the destructer only.
   171     iMessageIterator = CMessageIterator::NewL( aSession, aCurrentMessage );
   172         //deleting and creating it again is degrading the performance
   172     iMessageIterator->SetMessageIteratorObserver( this );
   173  
   173     
   174         iMessageIterator = CMessageIterator::NewL( aSession, aCurrentMessage );
       
   175         iMessageIterator->SetMessageIteratorObserver( this );
       
   176         }
   174     UpdateNavigationIndicatorsL();
   177     UpdateNavigationIndicatorsL();
   175     }
   178     }
   176 
   179 
   177 // ----------------------------------------------------------------------------
   180 // ----------------------------------------------------------------------------
   178 // CMsgNaviPaneControl::SetNavigationControlObserver
   181 // CMsgNaviPaneControl::SetNavigationControlObserver
   765                 {
   768                 {
   766                 iVarientId = 1;    
   769                 iVarientId = 1;    
   767                 }                  
   770                 }                  
   768             }    
   771             }    
   769     }
   772     }
       
   773 
       
   774 // ----------------------------------------------------------------------------
       
   775 // CMsgNaviPaneControl::GetNavigationIndicator
       
   776 // ----------------------------------------------------------------------------
       
   777 //
       
   778 EXPORT_C CMessageIterator* CMsgNaviPaneControl::GetMessageIterator()
       
   779     {
       
   780      return iMessageIterator;
       
   781     }
   770 //  End of File
   782 //  End of File