internetradio2.0/uisrc/ircategoryviewcontainer.cpp
changeset 3 ee64f059b8e1
parent 2 2e1adbfc62af
child 4 3f2d53f144fe
child 5 0930554dc389
--- a/internetradio2.0/uisrc/ircategoryviewcontainer.cpp	Mon May 03 12:25:23 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1019 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Container class for Category view
-*
-*/
-
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 2, Thurs March 20 15:50:00 2008 by Prabina
-*  Ref:
-*  Created new views for the Station Directory Views , Enabled the Touch toolbar functionality , 
-*  Help Options enabled
-*
-*  </ccm_history>
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 3, Fri March 21 17:20:00 2008 by Prabina
-*  Ref:
-*  Added WorkAround for supporting different Resolutions , Added Wait Dialog for Loading of stations , 
-*  Handled Single/Double tapping on the list itmes
-*
-*  </ccm_history>
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 4, Mon March 24 18:00:00 2008 by Prabina
-*  Ref:
-*  Added WorkAround for adding different stations to favourites list , Added Wait dialog for adding to favourites
-*
-*
-*  </ccm_history>
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 5, Tues March 25 17:30:00 2008 by Prabina
-*  Ref:
-*  Fixing the PCLint errors
-*
-*
-*  </ccm_history>
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 6, Tues March 29 10:30:00 2008 by Prabina
-*  Ref:
-*  Category View Container Derived from CCoeControl
-*
-*
-*  </ccm_history>
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 7, may 7 Wed 08:35:00 2008 by Neelima
-*  Removed change Resoultion function.
-*  changed code in HandleResourcechange and Size changed  for handling layout changes 
-*  in dynamic filtering
-* ============================================================================
-*/
-/* ---------------------------------------------------------------------------
-*  Version history:
-*  Template version:
-*  <ccm_history>
-*
-*  Version: 5, Thurs July 18 12:00:00 2008 by Prabina
-*  Ref:
-*  Code Review Comments Fixed
-*
-*
-*  </ccm_history>
-* ============================================================================
-*/
-
-#include <akniconarray.h>
-#include <aknlists.h>
-#include <aknview.h>
-#include <barsread.h>
-#include <eikenv.h>
-#include <eiklabel.h>
-#include <eikmenub.h>
-#include <stringloader.h>
-#include <internetradio.rsg>
-#include <eikenv.h>
-#include <apgcli.h>
-
-#include "irui.h"
-#include "ir.hrh"
-#include "ircommon.h"
-#include "irdebug.h"
-#include "irbaseview.h"
-#include "ircategoryviewcontainer.h"
-#include "irapplication.h"
-#include "ircategoryView.h"
-#include "iraap.hlp.hrh"
-#include "irisdswrapper.h"
-#include "irimageconverter.h"
-#include "irdataprovider.h"
-#include "irhttpdataprovider.h"
-#include "irlogodownloadengine.h"
-#include <aknsbasicbackgroundcontrolcontext.h> 
-#include "irfilteredmodel.h"
-#include "mirlistboxarray.h"
-#include "iradvertisinglistbox.h"
-#include "irlayoututils.h"
-
-/** Mime type when opening web browser */
-_LIT8( KIRHtmlMimeType, "text/html" );
-/** Browser prefix: See browser API specification */
-_LIT( KBrowserPrefix, "4 " );
-
-const TInt KAdvSize = 30;
-const TSize KLogoSize = TSize(320,350);
-
-#define KCONTROLSCOUNT 0
-
-// ==================== LOCAL FUNCTIONS ====================
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CIRCategoryViewContainer::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CIRCategoryViewContainer* CIRCategoryViewContainer::NewL( CIRCategoryView& aCtaegoryView,
-					 const TRect& aRect )
-    {
- 	IRLOG_DEBUG( "CIRCategoryViewContainer::NewL" );
-    CIRCategoryViewContainer* self = CIRCategoryViewContainer::NewLC( aCtaegoryView, aRect );
-    CleanupStack::Pop( self );
-    IRLOG_DEBUG( "CIRCategoryViewContainer::NewL - Exiting" );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CIRCategoryViewContainer::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CIRCategoryViewContainer* CIRCategoryViewContainer::NewLC( CIRCategoryView& aCtaegoryView,
-					 const TRect& aRect )
-    {
- 	IRLOG_DEBUG( "CIRCategoryViewContainer::NewLC" );
-    CIRCategoryViewContainer* self = new ( ELeave ) CIRCategoryViewContainer(aCtaegoryView);
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    IRLOG_DEBUG( "CIRCategoryViewContainer::NewLC - Exiting" );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::CIRCategoryViewContainer()  
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CIRCategoryViewContainer::CIRCategoryViewContainer(CIRCategoryView& aCtaegoryView):
-                                                   iCategoryView(aCtaegoryView)
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CIRCategoryViewContainer" );
-	iFilteredFlag = EFalse;
-	}
-    
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::ConstructL( const TRect& aRect)
-    {
-	IRLOG_DEBUG( "CIRCategoryViewContainer::ConstructL - Entering" );
-    CreateWindowL();
-    SetRect(aRect);
-	
-	iBgContext = CAknsBasicBackgroundControlContext::NewL(KAknsIIDQsnBgScreen , aRect, ETrue); 
-
-	iAdPresent = EFalse;
-    iConverter = CIRImageConverter::NewL();
-	iConverter->EnableAnimations( EFalse );
-	iConverter->SetObserver( this );
-
-	iCurrentItemConverter = CIRImageConverter::NewL();
-	iCurrentItemConverter->SetObserver( this );
-   
-    // Added For Dynamic Filtering
-    iFilteredModel=new(ELeave) CIRFilteredModel;
-    iFilteredModel->ConstructL();
-
-   	iListBoxArray = MIRListBoxArray::NewL();
-
-	IRLOG_DEBUG( "CIRCategoryViewContainer::ConstructL - Exiting" );
-    }
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::CreateListBoxL()
-// Creates ListBox depending upon the presence of Advertisement
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::CreateListBoxL()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateListBoxL - Entering" );
-	if (iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl)
-		{
-		if((iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl->Length()) != 0)
-			{
-			iAdPresent = ETrue;
-			if(iAdvPreset)
-				{
-				delete iAdvPreset;
-				iAdvPreset = NULL;
-				}
-			iAdvPreset=CIRIsdsPreset::NewL();
-			iAdvPreset->SetChannelType(1);
-			iAdvPreset->SetImgUrl(*iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl);
-			CreateCustomListBoxL();
-			iFilteredModel->SetAdvFlag(EFalse,*iAdvString);
-			iCategoryView.SetCurrentFocus(0);	
-			iLogoDownloadError	= ETrue;
-			iCategoryView.AdRequestL();
-			}
-		else
-			{
-		    iCategoryListBox = new (ELeave) CIRCategoryAdvertisingListBox;
-			CreateCustomListBoxL();
-			iCategoryView.SetCurrentFocus(0);	
-			iLogoDownloadError	= ETrue;
-			iFilteredModel->SetAdvFlag(EFalse,*iAdvString);
-			}
-		}  
-	else
-		{
-		if(iCategoryView.iUi->iIsdsWrapper->iCatBannerTag)
-			{
-			iCategoryView.SetCurrentFocus(0);	
-			iLogoDownloadError	= ETrue;
-			iFilteredModel->SetAdvFlag(EFalse,*iAdvString);
-			}
-	    iCategoryListBox = new (ELeave) CIRCategoryAdvertisingListBox;
-		CreateCustomListBoxL();	
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateListBoxL - Exiting" );
-
-	}
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::CreateCustomListBoxL()
-// Destructor
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::CreateCustomListBoxL()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateCustomListBoxL - Entering" );
-	if(iAdPresent)
-		{
-	    iCategoryListBox = new (ELeave) CIRCategoryAdvertisingListBox;
-		}
-	//For displaying Ads
-	iCategoryListBox->SetContainerWindowL(*this);
-
-	// Added For Dynamic Filtering
-	iCategoryListBox->ConstructL (this,EAknListBoxSelectionList,iFilteredModel);
-
-	// Construct list.
-	TResourceReader rr;
-	iCoeEnv->CreateResourceReaderLC( rr, R_IR_SEARCHRESULTS_LIST );
-	ConstructFromResourceL( rr );
-	CleanupStack::PopAndDestroy(); // rr
-
-
-	iItemArray = static_cast<CDesCArray*>( iCategoryListBox->Model()->ItemTextArray());
-    iListBoxArray->SetListArray(iItemArray);
-    
-    iFilteredModel->SetListArray(iListBoxArray); 
-	if (iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl)
-		{
-		// Added For Dynamic Filtering
-		if(iAdvString)
-			{
-			delete iAdvString;
-			iAdvString = NULL;	
-			}
-		iAdvString = HBufC::NewL(KAdvSize);
-		TPtr ptr(iAdvString->Des());
-		_LIT(KTabFormat,"\t \t ");
-		ptr.Copy(KTabFormat);
-
-		iFilteredModel->SetAdvFlag(iAdPresent,*iAdvString);
-		iCategoryListBox->SetListItemFormat( iAdvString );
-		}
-	iCategoryListBox->SetRect( Rect());
-	iCategoryListBox->ActivateL();
-
-	iCategoryListBox->CreateScrollBarFrameL( ETrue );
-	iCategoryListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, 
-	CEikScrollBarFrame::EAuto);
-	iCategoryListBox->SetListBoxObserver( this );  
-	UpdateCategoryViewL(iCategoryView.iIsdsWrapper->iCategoryData);
-	iCategoryListBox->ItemDrawer()->FormattedCellData()->SetMarqueeParams
-									(KLoop, KScrollAmount, KScrollDelay, KInterval);
-	iCategoryListBox->ItemDrawer()->ColumnData()->EnableMarqueeL( ETrue );
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateCustomListBoxL - Exiting" );
-	}
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::~CIRCategoryViewContainer()
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CIRCategoryViewContainer::~CIRCategoryViewContainer()
-    {
-	IRLOG_DEBUG( "CIRCategoryViewContainer::~CIRCategoryViewContainer - Entering" );
-	
-	delete iConverter;
-	delete iCurrentItemConverter;
-	
-    if(iCategoryListBox)
-		{
-		delete iCategoryListBox;
-		iCategoryListBox = NULL;
-		}
-	if(iSearchTextBox)
-		{
-		delete iSearchTextBox;
-		iSearchTextBox = NULL;
-		}
-	if(iAdvPreset)
-		{
-		delete iAdvPreset;
-		iAdvPreset = NULL;
-		}
-	if(iAdBitmap)
-		{
-		delete iAdBitmap;
-		iAdBitmap = NULL;	
-		}
-	if(iBgContext)
-		{
-		delete iBgContext;
-		iBgContext = NULL;	
-		}
-	if(iAdvString)
-		{
-		delete iAdvString;
-		iAdvString = NULL;	
-		}
-    if(iListBoxArray )
-	    {
-	    delete iListBoxArray ;
-	    iListBoxArray = NULL;	
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::~CIRCategoryViewContainer - Exiting" );
-    }
-
-// ---------------------------------------------------------------------------
-// TKeyResponse CIRCategoryViewContainer::OfferKeyEventL()
-// From class CCoeControl.
-// We need to catch the selection key event in order to do a couple of things 
-// in moving state make the movement, and in normal state open channel 
-// specific popup menu. Up and down buttons are forwarded to the list.
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CIRCategoryViewContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                       TEventCode aType )
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::OfferKeyEventL - Entering" );
-	TInt currentIndex = 0;
-	TKeyResponse keyResp( EKeyWasNotConsumed );
-	switch ( aKeyEvent.iCode )
-		{
-		case EKeyLeftArrow: // fall-through intended here
-		case EKeyRightArrow:
-			{
-			keyResp = EKeyWasNotConsumed;
-			DrawNow();
-			break;
-			}
-		case EKeyOK:        
-			{
-			currentIndex = GetCurrentItemIndex();
-			if (currentIndex == 0)  
-				{
-				if (iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl 
-								&& !iLogoDownloadError)
-					{
-				 	if(iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl->Length() != 0)
-					 	{
-					 	iCategoryView.HandleCommandL(EAdvertisementUrl);
-					 	}
-				 	}
-			 	 else
-				 	{
-			        iCategoryView.HandleCommandL(ESelectCmd);
-			 	 	}
-			 	 }
-			 else
-				 {
-				 iCategoryView.HandleCommandL(ESelectCmd);				 	
-				 }
-			keyResp = EKeyWasConsumed;
-			break;
-			}
-
-		default:
-			{
-			if(iCategoryListBox)
-				{
-				if ( iSearchTextBox )
-					{
-					iFilteredFlag = ETrue;
-					keyResp = iSearchTextBox->OfferKeyEventL( aKeyEvent, aType );
-					if( keyResp == EKeyWasNotConsumed )
-						{
-						keyResp = iCategoryListBox->OfferKeyEventL( aKeyEvent, aType );
-						}
-					CAknFilteredTextListBoxModel* model = 
-					static_cast<CAknFilteredTextListBoxModel*>( iCategoryListBox->Model() );
-					model->Filter()->HandleOfferkeyEventL();					
-					TInt filterModelCount = iFilteredModel->NumberOfItems();	
-					if(filterModelCount == 0 && 
-					!(iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl))
-						{
-						HBufC* noMatchesTextResource = 
-						StringLoader::LoadLC(R_IRAPP_STATIONLIST_NOMATCHES);
-						iCategoryListBox->View()->SetListEmptyTextL(*noMatchesTextResource);
-						CleanupStack::PopAndDestroy( noMatchesTextResource );
-						}
-					iSearchTextBox->GetSearchText(iFindString);
-					if(iFindString.Length()!=0)
-						{
-						if(!iLogoDownloadError && 
-						iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl
-						&& filterModelCount > 1 )
-							{
-							iCategoryListBox->SetCurrentItemIndex(1);
-							}
-						else
-							{
-							iCategoryListBox->SetCurrentItemIndex(0);	
-							}
-						}
-					}
-				}
-			if(	aKeyEvent.iScanCode==EStdKeyBackspace)
-				{
-				if(iSearchTextBox)
-					{
-					iSearchTextBox->GetSearchText(iFindString);
-					if(iFindString.Length()==0)
-						{
-						iFilteredFlag = EFalse;
-						}
-					}
-				}
-			break;
-			}
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::OfferKeyEventL - Exiting" );
-	return keyResp; 
-	}
-
-// ---------------------------------------------------------------------------
-// From class MEikListBoxObserver.
-// List box event handler.
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::HandleListBoxEventL( CEikListBox* /*aListBox*/, TListBoxEvent aEventType )
-    {
-	IRLOG_DEBUG( "CIRCategoryViewContainer::HandleListBoxEventL - Entering" );
-	TInt currentIndex = 0;
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:/**  Keypress event. */
-        case EEventItemDoubleClicked:
-			{
-			currentIndex = GetCurrentItemIndex();
-			if (currentIndex == 0)  
-				{
-				 if (iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl && !iLogoDownloadError)
-				 	{
-				 	if(iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl->Length() != 0)
-					 	{
-					 	iCategoryView.HandleCommandL(EAdvertisementUrl);
-					 	}
-				 	}
-			 	 else
-				 	{
-					iCategoryView.SetCurrentFocus(GetCurrentItemIndex());
-					iCategoryView.HandleCommandL(ESelectCmd);
-				 	}
-			 	}
-			else
-				{
-				iCategoryView.SetCurrentFocus(GetCurrentItemIndex());
-				iCategoryView.HandleCommandL(ESelectCmd);
-				}
-
-			}
-		break;
-        default:
-        break;
-        }
-	IRLOG_DEBUG( "CIRCategoryViewContainer::HandleListBoxEventL - Exiting" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::Draw()
-// From class CCoeControl.
-// Draws the control.
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-	IRLOG_DEBUG( "CIRCategoryViewContainer::Draw - Entering" );
-    CWindowGc& gc = SystemGc();
-    
-    if(iCategoryListBox)
-	    {
-	   	iCategoryListBox->SetGC(gc);
-	   	iCategoryListBox->SetControlFlag(ETrue);
-	    }
-    gc.SetPenStyle( CGraphicsContext::ENullPen );
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-	
-    // draw background skin first. 
- 	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-  	
-	TRect clientRect(((CEikAppUi*)(CCoeEnv::Static()->AppUi()))->ClientRect());
-	AknsDrawUtils::DrawBackground ( skin, iBgContext, this, gc, TPoint(0,0),
-	                                TRect(TPoint(0,0),clientRect.iBr), KAknsDrawParamDefault  );	
-
-	IRLOG_DEBUG( "CIRCategoryViewContainer::Draw - Exiting" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::GetHelpContext()
-// From class CCoeControl.
-// Opens help by context.
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-	IRLOG_DEBUG( "CIRCategoryViewContainer::GetHelpContext - Entering" );
-    if( iCategoryView.iUi->iCategoryViewTitleType == CIRCategoryView::EGenreData )
-        {
-        aContext = TCoeHelpContext( KIRMCVUid, KIR_HELP_GENRE );
-        }
-    else if( iCategoryView.iUi->iCategoryViewTitleType == CIRCategoryView::ELanguageData )
-        {
-        aContext = TCoeHelpContext( KIRMCVUid, KIR_HELP_LANGUAGE );
-        }
-    else if( iCategoryView.iUi->iCategoryViewTitleType == CIRCategoryView::ECountryData )
-        {
-        aContext = TCoeHelpContext( KIRMCVUid, KIR_HELP_COUNTRY );
-        }
-    else
-        {
-        // NOP
-        }
-
-	IRLOG_DEBUG( "CIRCategoryViewContainer::GetHelpContext - Exiting" );
-    }
-    
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::UpdateSearchResultsViewL()
-// updates the search results data to the search results list
-// ---------------------------------------------------------------------------
-//    
-void CIRCategoryViewContainer::UpdateCategoryViewL(CDesCArray* aCategory)
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::UpdateCategoryViewL - Entering" );
-	CDesCArray* category = aCategory; 
-	TInt categoryDataCount = aCategory->Count();           
-	for(TInt i = 0; i < categoryDataCount; i++)
-		{
-		iItemArray->AppendL(category->MdcaPoint(i));
-		}
-	if(categoryDataCount>1)
-		{
-		if(iSearchTextBox)
-			{
-			delete iSearchTextBox;
-			iSearchTextBox = NULL;
-			}
-
-		// Added For Dynamic Filtering
-		iSearchTextBox = CreateFindBoxL(iCategoryListBox, iFilteredModel,
-		  CAknSearchField::ESearch);
-		SizeChanged();	
-		}
-	else
-		{
-		DisableFindBox();	
-		}
-	if(iFilteredFlag)
-		{
-		TKeyEvent event;
-		TEventCode type = EEventKey;
-		event.iCode = EKeyDownArrow;
-		TBool needRefresh( EFalse );
-		AknFind::HandleFindOfferKeyEventL( event, type, this,
-		iCategoryListBox, iSearchTextBox,EFalse,needRefresh );
-		TInt filterModelCount = iFilteredModel->NumberOfItems();	
-		if(filterModelCount ==1 && iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl)
-			{
-			iCategoryListBox->SetCurrentItemIndex(0);
-			}
-		else
-			{
-			if(filterModelCount>1 && iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl && !iLogoDownloadError)
-			iCategoryListBox->SetCurrentItemIndex(1);
-			}
-		}
-	else
-		{
-		iCategoryListBox->HandleItemAdditionL();
-		}
-			
-	IRLOG_DEBUG( "CIRCategoryViewContainer::UpdateCategoryViewL - Exiting" );
-	}
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::GetCurrentItemIndex()
-// returns the index of the currently selected item
-// ---------------------------------------------------------------------------
-//
-TInt CIRCategoryViewContainer::GetCurrentItemIndex() const
-    {
-    IRLOG_DEBUG( "CIRCategoryViewContainer::GetCurrentItemIndex" );
-	return iCategoryListBox->CurrentItemIndex();
-    }
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::GetListBoxTopIndex()
-// returns the index of the top item
-// ---------------------------------------------------------------------------
-//
-TInt CIRCategoryViewContainer::GetListBoxTopIndex() const
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::GetListBoxTopIndex" );
-	return iCategoryListBox->View()->TopItemIndex () ;
-	}
-
-
-//----------------------------------------------------------------------------
-// CIRCategoryViewContainer::CountComponentControls() const
-// returns the number of components in the view.
-//----------------------------------------------------------------------------
-//
-TInt CIRCategoryViewContainer::CountComponentControls() const
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CountComponentControls - Entering" );
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CountComponentControls - Exiting" );
-	TInt count(KCONTROLSCOUNT);
-	if(iCategoryListBox)
-		{
-		count++;
-		}
-	if(iSearchTextBox)
-		{
-		count++;
-		}
-	return count;
-	}
-//----------------------------------------------------------------------------
-// CIRCategoryViewContainer::ComponentControl() const
-// returns a pointer to the control under this view depending on the index
-// passed,to the framework.
-//----------------------------------------------------------------------------
-// 
-CCoeControl* CIRCategoryViewContainer::ComponentControl(TInt aIndex) const
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::ComponentControl - Entering" );
-	IRLOG_DEBUG( "CIRCategoryViewContainer::ComponentControl - Exiting" );
-	switch(aIndex)
-		{
-		case 0:
-			{
-			if(iCategoryListBox)
-			return iCategoryListBox;
-			}
-		case 1:
-			{
-			if(iSearchTextBox)
-			return iSearchTextBox;
-			}
-		default:
-			return NULL;
-		}
-	}
-// ---------------------------------------------------------------------------
-// void CIRCategoryViewContainer::SizeChanged()
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-
-void CIRCategoryViewContainer::SizeChanged()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::SizeChanged - Entering" );
-	if(iCategoryView.iUi->IsLandscapeOrientation())
-		{
-		if(iCategoryListBox && iSearchTextBox && iLandScapeCount ==0)
-			{
-	   		AknFind::HandlePopupFindSizeChanged(this,iCategoryListBox,iSearchTextBox);
-	   		iLandScapeCount ++;
-			}
-		}
-	if(iCategoryListBox && iSearchTextBox)
-		{
-	    AknLayoutUtils::LayoutControl(iCategoryListBox,  Rect(),
-            AKN_LAYOUT_WINDOW_list_gen_pane(1));
-        AknLayoutUtils::LayoutControl(iSearchTextBox,  Rect(),
-            AKN_LAYOUT_WINDOW_find_pane);
-		}
-	else
-		{
-		if(iCategoryListBox)
-			{
-			AknLayoutUtils::LayoutControl(iCategoryListBox, Rect(),
-            	AKN_LAYOUT_WINDOW_list_gen_pane(0));
-			}
-		}
-		
-	TRect clientRect(((CEikAppUi*)(CCoeEnv::Static()->AppUi()))->ClientRect());
-	TRect parentRectSize(TPoint(0,0),clientRect.iBr);
-
-	if ( iBgContext )
-		{
-		iBgContext->SetRect(parentRectSize);
-		}
-	
-	DrawNow();
-	IRLOG_DEBUG( "CIRCategoryViewContainer::SizeChanged - Exiting" );
-	}
-
-// ---------------------------------------------------------------------------
-// void CIRCategoryViewContainer::HandleResourceChange(TInt aType)
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::HandleResourceChange(TInt aType)
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::HandleResourceChange" );	
-    CCoeControl::HandleResourceChange( aType );
-    // application layout change request notification
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        // reconstruct controls if needed
-        if(iCategoryListBox && iSearchTextBox)
-	        {
-		    AknFind::HandlePopupFindSizeChanged(this,iCategoryListBox,iSearchTextBox);
-	        SizeChanged();
-	        }
-        }
-	}
-//----------------------------------------------------------------------------
-// CIRCategoryViewContainer::CreateFindBoxL()
-// creates the Find box when any character is Pressed
-//----------------------------------------------------------------------------
-// 
-CAknSearchField* CIRCategoryViewContainer::CreateFindBoxL(CEikListBox* aListBox,
-CTextListBoxModel* aModel, CAknSearchField::TSearchFieldStyle aStyle)
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateFindBoxL - Entering" );
-	CAknSearchField* findbox = NULL;
-	if (aListBox && aModel)
-		{
-		// Gets pointer of CAknFilteredTextListBoxModel.
-		// Added For Dynamic Filtering
-		 iFilteredModel = STATIC_CAST( CIRFilteredModel*, aModel );
-
-		// Creates FindBox.
-		findbox = CAknSearchField::NewL( *this, aStyle, NULL,
-		KAknExListFindBoxTextLength);
-		CleanupStack::PushL(findbox);
-		// Creates CAknListBoxFilterItems class.
-		iFilteredModel->CreateFilterL( aListBox, findbox );
-		CleanupStack::Pop(findbox); // findbox
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::CreateFindBoxL - Exiting" );
-	return findbox;
-	}
-//----------------------------------------------------------------------------
-// CIRCategoryViewContainer::DisableFindBox()
-// Deletes the findbox
-//----------------------------------------------------------------------------
-// 
-void CIRCategoryViewContainer::DisableFindBox()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::DisableFindBox - Entering" );
-	if (iSearchTextBox)
-		{
-		iFilteredModel->RemoveFilter();
-		// Important to set the find box non-focusing before
-		// deleting it, otherwise the focus changes triggered
-		// by the removal of the control from stack will focus
-		// the find box which is under deletion
-		iSearchTextBox->SetNonFocusing();
-		delete iSearchTextBox;
-		iSearchTextBox = NULL;
-		// Inform list box that find is hidden
-		static_cast<CAknColumnListBoxView*>(iCategoryListBox->View())->SetFindEmptyListState(EFalse);
-		SizeChanged();
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::DisableFindBox - Exiting" );
-	}
-
-
-// ---------------------------------------------------------------------------
-// Function : Comparestrings
-// Function called to compare the filtered string inthe Itemarray
-// ---------------------------------------------------------------------------
-//
-void  CIRCategoryViewContainer::Comparestrings()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::Comparestrings - Entering" );
-	TInt count = iFilteredModel->NumberOfItems();
-	if(count)
-		{
-		if((count==1) && iAdvPreset &&!iLogoDownloadError )
-			{
-			return;
-			}
-		else
-			{
-			TPtrC16 filteredString = iFilteredModel->ItemText (iCategoryView.GetFilteredIndex());
-			for(TInt i=0;i<iItemArray->Count();i++)
-				{
-				TPtrC16 matchString=iItemArray->MdcaPoint(i);
-				if(filteredString==matchString)
-					{
-					iCategoryView.SetActualFilteredItemIndex(i);
-					break;
-					}
-				}
-			}
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::Comparestrings - Exiting" );
-	}
-// ---------------------------------------------------------------------------
-// void CIRCategoryViewContainer::HandleImageConversionEventL( MIRImageConverterObserver::TIRImageConversionEvent aEvent, 
-// from base class MIRImageConverterObserver
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::HandleImageConversionEventL( MIRImageConverterObserver::
-                                                            TIRImageConversionEvent aEvent,
-                                                           TInt /*aId*/, 
-                                                           TInt aError )
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::HandleImageConversionEventL - Entering" );
-	iError = aError;
-	if(aError == KErrNotSupported && iRequestForAdvertisement)
-		{
-		iFilteredModel->SetAdvFlag(EFalse,*iAdvString);
-		iLogoDownloadError	= ETrue;
-		iRequestForAdvertisement = EFalse;
-		}
-	if ( !aError && (aEvent == MIRImageConverterObserver::EIRFrameConversionCompleted ||
-					 aEvent == MIRImageConverterObserver::EIRImageConversionCompleted))
-		{
-		IRLOG_DEBUG( "CIRSearchResultsViewContainer::HandleImageConversionEventL - Entered elseif" );
-		iLogoDownloadError	= EFalse;
-		CGulIcon* icon = iCategoryListBox->AdvertisementIcon(); 
-		if ( !icon )
-			{
-			icon = CGulIcon::NewLC();
-			iCategoryListBox->SetAdvertisementIconL( icon );
-			CleanupStack::Pop( icon );
-			}
-		icon->SetBitmap( const_cast<CFbsBitmap*>(iCurrentItemConverter->Bitmap()));
-		icon->SetMask(const_cast<CFbsBitmap*>(iCurrentItemConverter->Mask() ));
-		icon->SetBitmapsOwnedExternally( ETrue );
-		DrawDeferred();
-		}
-	else
-		{
-
-		}
-	if(iFilteredFlag)
-		{
-		TKeyEvent event;
-		TEventCode type = EEventKey;
-		event.iCode = EKeyDownArrow;
-		TBool needRefresh( EFalse );
-		AknFind::HandleFindOfferKeyEventL( event, type, this,
-		iCategoryListBox, iSearchTextBox,EFalse,needRefresh );
-		}
-	iAdPresent = EFalse;
-	IRLOG_DEBUG( "CIRCategoryViewContainer::HandleImageConversionEventL - Exiting" );	
-	}
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::PresetLogoDownloadL()
-// 
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::PresetLogoDownloadL(CIRIsdsPreset* aPreset)
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::PresetLogoDownloadL - Entering" );
-	if(iAdPresent)
-		{
-		if (iCategoryView.iUi->iIsdsWrapper->iCatBannerUrl)
-			{
-			*iAdvPreset = *aPreset;	
-			if(iAdvPreset->GetLogoData()!=KNullDesC8 )
-				{
-				iFilteredModel->SetAdvFlag(ETrue,*iAdvString);
-				iError = KErrNone;
-				iCurrentItemConverter->SetDataL(aPreset->GetLogoData());
-				if(iError==KErrNone)
-					{
-					iCurrentItemConverter->StartL( IRLayoutUtils::AdvertisementSizeL(), KErrUnknown );	//KLogoSize
-					}
-				iRequestForAdvertisement = ETrue;	
-				}
-			}
-		}
-	IRLOG_DEBUG( "CIRCategoryViewContainer::PresetLogoDownloadL - Exiting" );
-	}
-
-// ---------------------------------------------------------------------------
-// CIRCategoryViewContainer::OpenUrlL( const TDesC& aHttpLink)
-// used to connect to the advertisement url.
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::OpenUrlL( const TDesC& aHttpLink )
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::OpenUrlL - Entering" );
-
-	TDataType htmlDataType( KIRHtmlMimeType );
-	TUid uid;
-
-	RApaLsSession ls;
-	User::LeaveIfError( ls.Connect() );
-	CleanupClosePushL( ls );
-
-	// Get UID of the browser.
-	TInt retVal = ls.AppForDataType( htmlDataType, uid );
-
-	if ( retVal == KErrNone && uid != KNullUid )
-		{
-		// We must check if the browser is already open and if it is, 
-		// switch its currently opened file to the correct URL.
-		TApaTaskList taskList( iEikonEnv->WsSession() );
-		TApaTask task = taskList.FindApp( uid );
-		if ( task.Exists() )
-			{
-			HBufC8* url8 = HBufC8::NewLC( aHttpLink.Length() );
-			url8->Des().Copy( aHttpLink );
-			task.SendMessage( TUid::Uid( 0 ), url8->Des() );
-			task.BringToForeground();
-			CleanupStack::PopAndDestroy( url8 );
-			}
-		else
-			{
-			TThreadId threadId;
-			HBufC* newUrl = HBufC::NewLC( aHttpLink.Length() + KBrowserPrefix().Length() );
-			newUrl->Des().Append( KBrowserPrefix );
-			newUrl->Des().Append( aHttpLink );
-			ls.StartDocument( newUrl->Des(), uid, threadId );
-			CleanupStack::PopAndDestroy( newUrl );
-			}
-		}
-	CleanupStack::PopAndDestroy( &ls );
-
-	IRLOG_DEBUG( "CIRCategoryViewContainer::OpenUrlL - Exiting" );
-
-	}
-//----------------------------------------------------------------------------
-// CIRCategoryViewContainer::GetLogoNotSupported() 
-// returns whether the advertisement is supported by the sdk r not
-//----------------------------------------------------------------------------
-// 	
-TBool CIRCategoryViewContainer::GetLogoNotSupported()
-	{
-	IRLOG_DEBUG( "CIRCategoryViewContainer::GetLogoNotSupported - Entering" );
-	IRLOG_DEBUG( "CIRCategoryViewContainer::GetLogoNotSupported - Exiting" );
-	return iLogoDownloadError;
-	}
-// ---------------------------------------------------------------------------
-// void CIRCategoryViewContainer::HandleLogoErrorL()
-// called from the iCategoryView when the logo is not downloaded
-// ---------------------------------------------------------------------------
-//
-void CIRCategoryViewContainer::HandleLogoErrorL()
-	{
-	iLogoDownloadError	= ETrue;
-	iFilteredModel->SetAdvFlag(EFalse,*iAdvString);
-	}