diff -r 77415202bfc8 -r fcbbe021d614 cmmanager/cmmgr/Framework/Src/uncatdlg.cpp --- a/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Tue Feb 02 00:24:11 2010 +0200 +++ b/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Fri Apr 16 15:21:37 2010 +0300 @@ -226,6 +226,7 @@ { TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY, TCmCommonUi::ECmInfoNote ); + iCmManager->WatcherUnRegister(); TryExitL( KDialogUserBack ); } } @@ -295,6 +296,7 @@ { TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY, TCmCommonUi::ECmInfoNote ); + iCmManager->WatcherUnRegister(); TryExitL( KDialogUserBack ); } } @@ -389,6 +391,36 @@ } // -------------------------------------------------------------------------- +// CCmDlg::ClearHiddenCMsFromArrayL +// -------------------------------------------------------------------------- +// +void CUncatDlg::ClearHiddenCMsFromArrayL( RArray& aCmIds ) + { + TBool hidden( EFalse ); + TInt err( KErrNone ); + for ( TInt index = 0; index < aCmIds.Count(); index++ ) + { + TUint recId = aCmIds[index]; + TRAP( err, hidden = iCmManager->GetConnectionMethodInfoBoolL( recId, ECmHidden ) ); + if ( err || hidden ) + { + aCmIds.Remove( index ); + index--; + // Remove the same item from iCmUncatItems array + for( TInt i = 0; i < iCmUncatItems.Count(); i++ ) + { + if( iCmUncatItems[i].iCmId == recId ) + { + iCmUncatItems.Remove( i ); + break; + } + } + } + } + } + + +// -------------------------------------------------------------------------- // CUncatDlg::CleanupUncatArray // -------------------------------------------------------------------------- //