/// \brief Make the actual search for the OnSearch function. /// \param strSearch The search string /// \param items Items Found void CGUIWindowVideoInfo::DoSearch(CStdString& strSearch, CFileItemList& items) { VECMOVIES movies; CVideoDatabase db; if (!db.Open()) return; db.GetMoviesByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; if (movies[i].m_iYear > 0) strItem.Format("[%s] %s (%i)", g_localizeStrings.Get(20338), movies[i].m_strTitle, movies[i].m_iYear); // Movie else strItem.Format("[%s] %s", g_localizeStrings.Get(20338), movies[i].m_strTitle); // Movie CFileItemPtr pItem(new CFileItem(strItem)); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath = movies[i].m_strFileNameAndPath; items.Add(pItem); } movies.clear(); db.GetTvShowsByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20364), movies[i].m_strTitle); // Movie CFileItemPtr pItem(new CFileItem(strItem)); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath.Format("videodb://2/2/%i/",movies[i].m_iDbId); items.Add(pItem); } movies.clear(); db.GetEpisodesByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20359), movies[i].m_strTitle); // Movie CFileItemPtr pItem(new CFileItem(strItem)); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath = movies[i].m_strFileNameAndPath; items.Add(pItem); } CFileItemList mvids; db.GetMusicVideosByArtist(strSearch, mvids); for (int i = 0; i < (int)mvids.Size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20391), mvids[i]->GetVideoInfoTag()->m_strTitle); // Movie CFileItemPtr pItem(new CFileItem(strItem)); *pItem->GetVideoInfoTag() = *mvids[i]->GetVideoInfoTag(); pItem->m_strPath = mvids[i]->GetVideoInfoTag()->m_strFileNameAndPath; items.Add(pItem); } db.Close(); }
/// \brief Make the actual search for the OnSearch function. /// \param strSearch The search string /// \param items Items Found void CGUIWindowVideoInfo::DoSearch(CStdString& strSearch, CFileItemList& items) { VECMOVIES movies; m_database.GetMoviesByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; strItem.Format("[%s] %s (%i)", g_localizeStrings.Get(20338), movies[i].m_strTitle, movies[i].m_iYear); // Movie CFileItem *pItem = new CFileItem(strItem); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath = movies[i].m_strFileNameAndPath; items.Add(pItem); } movies.clear(); m_database.GetTvShowsByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20364), movies[i].m_strTitle); // Movie CFileItem *pItem = new CFileItem(strItem); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath.Format("videodb://1/%u",movies[i].m_iDbId); items.Add(pItem); } movies.clear(); m_database.GetEpisodesByActor(strSearch, movies); for (int i = 0; i < (int)movies.size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20359), movies[i].m_strTitle); // Movie CFileItem *pItem = new CFileItem(strItem); *pItem->GetVideoInfoTag() = movies[i]; pItem->m_strPath = movies[i].m_strFileNameAndPath; items.Add(pItem); } CFileItemList mvids; m_database.GetMusicVideosByArtist(strSearch, mvids); for (int i = 0; i < (int)mvids.Size(); ++i) { CStdString strItem; strItem.Format("[%s] %s", g_localizeStrings.Get(20391), mvids[i]->GetVideoInfoTag()->m_strTitle); // Movie CFileItem *pItem = new CFileItem(strItem); *pItem->GetVideoInfoTag() = *mvids[i]->GetVideoInfoTag(); pItem->m_strPath = mvids[i]->GetVideoInfoTag()->m_strFileNameAndPath; items.Add(pItem); } }