application/src/PodcastQueueView.cpp
changeset 185 92eadaba67e6
parent 168 9d3b805af5ab
child 243 44d205147a83
equal deleted inserted replaced
180:74d497f911e0 185:92eadaba67e6
   154 		UpdateToolbar();
   154 		UpdateToolbar();
   155 	}
   155 	}
   156 
   156 
   157 void CPodcastQueueView::UpdateListboxItemsL()
   157 void CPodcastQueueView::UpdateListboxItemsL()
   158 	{
   158 	{
   159 	if (iListContainer->IsVisible())
   159 	if (iListContainer->IsVisible() && !iDontUpdateList)
   160 		{
   160 		{
   161 		TListItemProperties itemProps;
   161 		TListItemProperties itemProps;
   162 		TInt len = 0;
   162 		TInt len = 0;
   163 
   163 
   164 		iPodcastModel.GetShowsDownloadingL();
   164 		iPodcastModel.GetShowsDownloadingL();
   248 		case EPodcastRemoveDownload:
   248 		case EPodcastRemoveDownload:
   249 			{
   249 			{
   250 			TInt index = iListContainer->Listbox()->CurrentItemIndex();
   250 			TInt index = iListContainer->Listbox()->CurrentItemIndex();
   251 			if (index >= 0 && index < iPodcastModel.ActiveShowList().Count())
   251 			if (index >= 0 && index < iPodcastModel.ActiveShowList().Count())
   252 				{
   252 				{
       
   253 				// this is an ugly hack to prevent UpdateListboxItemsL from being
       
   254 				// triggered from the show engine, which causes focus to jump
       
   255 				// around in an ugly fashion
       
   256 				iDontUpdateList = ETrue;
   253 				TRAP_IGNORE(iPodcastModel.ShowEngine().RemoveDownloadL(iPodcastModel.ActiveShowList()[index]->Uid()));
   257 				TRAP_IGNORE(iPodcastModel.ShowEngine().RemoveDownloadL(iPodcastModel.ActiveShowList()[index]->Uid()));
       
   258 				iDontUpdateList = EFalse;
       
   259 				}
       
   260 			UpdateListboxItemsL();
       
   261 			if (index > 0)
       
   262 				{
       
   263 				iListContainer->Listbox()->SetCurrentItemIndex(index - 1);
   254 				}
   264 				}
   255 			}
   265 			}
   256 			break;
   266 			break;
   257 		case EPodcastMoveDownloadUp:
   267 		case EPodcastMoveDownloadUp:
   258 			{
   268 			{