--- a/phonebookui/Phonebook2/UIControls/src/cpbk2filteredviewstack.cpp Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookui/Phonebook2/UIControls/src/cpbk2filteredviewstack.cpp Mon Mar 15 12:39:26 2010 +0200
@@ -484,7 +484,7 @@
//
void CElementStack::Reset()
{
- // Stack's elements need to destroy vice versa,
+ // Stack's elements need to destroy vice versa,
// because views in elements are always linked to previous view.
// Like BaseView<-FindView<-RefineView<-RefineView...
const TInt count( iStack.Count() );
@@ -565,7 +565,7 @@
CPbk2FilteredViewStack::CCallback::CCallback(
CPbk2FilteredViewStack& aViewStack,
MVPbkContactViewObserver& aObserver, AddObserverL aAddObserverFuncL,
- AddObserverError aAddObserverErrorFunc ) :
+ AddObserverError aAddObserverErrorFunc ) :
CActive( EPriorityStandard ),
iViewStack( aViewStack ),
iObserver( aObserver ),
@@ -707,7 +707,7 @@
TBool aAlwaysIncludedChanged )
{
PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING(
- "CPbk2FilteredViewStack::UpdateFilterL: topview(0x%x), always=%x"),
+ "CPbk2FilteredViewStack::UpdateFilterL: topview(0x%x), always=%x"),
&TopView(), aAlwaysincluded );
@@ -809,7 +809,7 @@
if ( IsElementsUnderDestruction() )
{
UpdateStackL();
- }
+ }
}
}
@@ -1242,6 +1242,48 @@
}
// --------------------------------------------------------------------------
+// CPbk2FilteredViewStack::ContactViewObserverExtension
+// --------------------------------------------------------------------------
+//
+TAny* CPbk2FilteredViewStack::ContactViewObserverExtension( TUid aExtensionUid )
+ {
+ if( aExtensionUid == KVPbkContactViewObserverExtension2Uid )
+ {
+ return static_cast<MVPbkContactViewObserverExtension*>( this );
+ }
+ return NULL;
+ }
+
+// --------------------------------------------------------------------------
+// CPbk2FilteredViewStack::FilteredContactRemovedFromView
+// --------------------------------------------------------------------------
+//
+void CPbk2FilteredViewStack::FilteredContactRemovedFromView(
+ MVPbkContactViewBase& aView )
+ {
+ const TInt count = iViewObservers.Count();
+
+ for( TInt i = 0; i < count; i++ )
+ {
+ MVPbkContactViewObserver* observer = iViewObservers[i];
+
+ TAny* extension = observer->ContactViewObserverExtension(
+ KVPbkContactViewObserverExtension2Uid );
+
+ if( extension )
+ {
+ MVPbkContactViewObserverExtension* contactViewExtension =
+ static_cast<MVPbkContactViewObserverExtension*>( extension );
+
+ if( contactViewExtension )
+ {
+ contactViewExtension->FilteredContactRemovedFromView( aView );
+ }
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
// CPbk2FilteredViewStack::TopElement
// --------------------------------------------------------------------------
//
@@ -1276,12 +1318,12 @@
// Check first if the aView is the base view.
if ( iBaseViewElement->View() == &aView )
{
- if ( iBaseViewElement->ViewState() ==
+ if ( iBaseViewElement->ViewState() ==
MPbk2FilteredViewStackElement::EUndefined )
{
// The Base view is changed.
- SendBaseViewChangedEvent();
- }
+ SendBaseViewChangedEvent();
+ }
iBaseViewElement->SetViewState(
MPbk2FilteredViewStackElement::EReady );
@@ -1546,7 +1588,7 @@
// --------------------------------------------------------------------------
// CPbk2FilteredViewStack::SendBaseViewChangedEvent
// --------------------------------------------------------------------------
-//
+//
void CPbk2FilteredViewStack::SendBaseViewChangedEvent()
{
const TInt count = iStackObservers.Count();