phonebookui/Phonebook2/remotecontactlookup/engine/src/cpbkxrclsearchresultdlg.cpp
branchRCL_3
changeset 26 0d28c1c5b6dd
parent 23 5586b4d2ec3e
child 32 2828b4d142c0
equal deleted inserted replaced
23:5586b4d2ec3e 26:0d28c1c5b6dd
   153     {
   153     {
   154     FUNC_LOG;
   154     FUNC_LOG;
   155     CCoeEnv::Static()->RemoveForegroundObserver( *this );
   155     CCoeEnv::Static()->RemoveForegroundObserver( *this );
   156     ResetStatusPane();
   156     ResetStatusPane();
   157     
   157     
   158     if ( iTitlePane != NULL )
       
   159           {
       
   160           // set title pane back to what it was, ownership of 
       
   161           // iTitlePaneText is transferred to title pane
       
   162           iTitlePane->SetText( iOriginalTitleText );
       
   163           }
       
   164     
       
   165     iNaviText.Close();
   158     iNaviText.Close();
   166     delete iAddRecipientIcon;
   159     delete iAddRecipientIcon;
   167 
   160 
   168     iContactActionService.CancelQuery();
   161     iContactActionService.CancelQuery();
   169     if ( iActionMenu )
   162     if ( iActionMenu )
   170     	{
   163     	{
   171      	delete iActionMenu;
   164      	delete iActionMenu;
   172     	iActionMenu = NULL;
   165     	iActionMenu = NULL;
   173     	}    
   166     	}    
   174     
   167 
       
   168     // Sanity check and make sure some other view hasn't already 
       
   169     // changed the title text. If not - change back to original.
       
   170     if (iOriginalTitleText && iTitleText && iTitlePane &&
       
   171         iTitlePane->Text()->Compare( iTitleText->Des() ) == 0)
       
   172         {
       
   173         // Restore orginal title. Ownership transferred.
       
   174         iTitlePane->SetText( iOriginalTitleText, ETrue); 
       
   175         }
       
   176     else
       
   177         {
       
   178         delete iOriginalTitleText;
       
   179         }
   175     delete iIdleNote;
   180     delete iIdleNote;
       
   181     delete iTitleText;
   176     }
   182     }
   177 
   183 
   178 // ---------------------------------------------------------------------------
   184 // ---------------------------------------------------------------------------
   179 // CPbkxRclSearchResultDlg::SetMoreThanMaxResults
   185 // CPbkxRclSearchResultDlg::SetMoreThanMaxResults
   180 // ---------------------------------------------------------------------------
   186 // ---------------------------------------------------------------------------
   677 void CPbkxRclSearchResultDlg::SetupStatusPaneL()
   683 void CPbkxRclSearchResultDlg::SetupStatusPaneL()
   678     {
   684     {
   679     FUNC_LOG;
   685     FUNC_LOG;
   680     CAknAppUi* appUi = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
   686     CAknAppUi* appUi = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
   681     CEikStatusPane* statusPane = appUi->StatusPane();
   687     CEikStatusPane* statusPane = appUi->StatusPane();
   682     iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
   688     
   683         statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
   689     // add the navigation decorators only if the usual statuspane layout is used
   684     
   690     if ( statusPane->CurrentLayoutResId() == R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT )
   685     iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
   691         {
   686     
   692         iNaviPane = reinterpret_cast<CAknNavigationControlContainer*>(
   687     iNaviPane->PushL( *iNaviDecorator );
   693                 statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
       
   694 
       
   695         iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
       
   696     
       
   697         iNaviPane->PushL( *iNaviDecorator );
       
   698         }
   688     
   699     
   689     // setup title pane
   700     // setup title pane
   690     iTitlePane = reinterpret_cast<CAknTitlePane*>(
   701     iTitlePane = reinterpret_cast<CAknTitlePane*>(
   691            statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
   702            statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
   692     
   703     
   703 // ---------------------------------------------------------------------------
   714 // ---------------------------------------------------------------------------
   704 //
   715 //
   705 void CPbkxRclSearchResultDlg::SetTitlePaneTextL()
   716 void CPbkxRclSearchResultDlg::SetTitlePaneTextL()
   706     {
   717     {
   707     // Update title pane text   
   718     // Update title pane text   
   708     HBufC* titleText  = StringLoader::LoadLC( R_QTN_RCL_TITLE_SERVER_CONTACTS ); 
   719     iTitleText  = StringLoader::LoadL( R_QTN_RCL_TITLE_SERVER_CONTACTS ); 
   709     iTitlePane->SetTextL(titleText->Des());   
   720     iTitlePane->SetTextL(iTitleText->Des());   
   710     CleanupStack::PopAndDestroy(titleText);
   721   
   711     }
   722     }
   712 
   723 
   713 
   724 
   714 // ---------------------------------------------------------------------------
   725 // ---------------------------------------------------------------------------
   715 // CPbkxRclSearchResultDlg::UpdateStatusPaneL
   726 // CPbkxRclSearchResultDlg::UpdateStatusPaneL
   718 void CPbkxRclSearchResultDlg::UpdateStatusPaneL()
   729 void CPbkxRclSearchResultDlg::UpdateStatusPaneL()
   719     {
   730     {
   720     FUNC_LOG;
   731     FUNC_LOG;
   721     
   732     
   722     ResetStatusPane();
   733     ResetStatusPane();
   723     iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
   734     if (iNaviPane )
   724     iNaviPane->PushL( *iNaviDecorator );
   735         {
       
   736         iNaviDecorator = iNaviPane->CreateNavigationLabelL( iNaviText );
       
   737         iNaviPane->PushL( *iNaviDecorator );
       
   738         }
   725    
   739    
   726     SetTitlePaneTextL();  
   740     SetTitlePaneTextL();  
   727     }
   741     }
   728 
   742 
   729 // ---------------------------------------------------------------------------
   743 // ---------------------------------------------------------------------------