void MythNews::processAndShowNews(NewsSite *site) { QMutexLocker locker(&m_lock); if (!site) return; site->process(); MythUIButtonListItem *siteUIItem = m_sitesList->GetItemCurrent(); if (!siteUIItem) return; if (site != qVariantValue<NewsSite*>(siteUIItem->GetData())) return; m_articlesList->Reset(); m_articles.clear(); NewsArticle::List articles = site->GetArticleList(); NewsArticle::List::iterator it = articles.begin(); for (; it != articles.end(); ++it) { MythUIButtonListItem *item = new MythUIButtonListItem(m_articlesList, (*it).title()); m_articles[item] = *it; } }
void MythNews::slotSiteSelected(MythUIButtonListItem *item) { QMutexLocker locker(&m_lock); if (!item || item->GetData().isNull()) return; NewsSite *site = qVariantValue<NewsSite*>(item->GetData()); if (!site) return; m_articlesList->Reset(); m_articles.clear(); NewsArticle::List articles = site->GetArticleList(); NewsArticle::List::iterator it = articles.begin(); for (; it != articles.end(); ++it) { MythUIButtonListItem *item = new MythUIButtonListItem(m_articlesList, (*it).title()); m_articles[item] = *it; } updateInfoView(item); }
void MythNews::processAndShowNews(NewsSite *site) { QMutexLocker locker(&m_lock); if (!site) return; site->process(); MythUIButtonListItem *siteUIItem = m_sitesList->GetItemCurrent(); if (!siteUIItem) return; if (site != siteUIItem->GetData().value<NewsSite*>()) return; QString currItem = m_articlesList->GetValue(); int topPos = m_articlesList->GetTopItemPos(); m_articlesList->Reset(); m_articles.clear(); NewsArticle::List articles = site->GetArticleList(); NewsArticle::List::iterator it = articles.begin(); for (; it != articles.end(); ++it) { MythUIButtonListItem *item = new MythUIButtonListItem(m_articlesList, (*it).title()); m_articles[item] = *it; } if (m_articlesList->MoveToNamedPosition(currItem)) m_articlesList->SetItemCurrent(m_articlesList->GetCurrentPos(), topPos); }