equal
deleted
inserted
replaced
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 { |