bool CVideoDatabaseDirectory::GetDirectory(const CURL& url, CFileItemList &items) { std::string path = CLegacyPathTranslation::TranslateVideoDbPath(url); items.SetPath(path); items.m_dwSize = -1; // No size std::unique_ptr<CDirectoryNode> pNode(CDirectoryNode::ParseURL(path)); if (!pNode.get()) return false; bool bResult = pNode->GetChilds(items); for (int i=0;i<items.Size();++i) { CFileItemPtr item = items[i]; if (item->m_bIsFolder && !item->HasIcon() && !item->HasArt("thumb")) { std::string strImage = GetIcon(item->GetPath()); if (!strImage.empty() && g_TextureManager.HasTexture(strImage)) item->SetIconImage(strImage); } if (item->GetVideoInfoTag()) { item->SetDynPath(item->GetVideoInfoTag()->GetPath()); } } items.SetLabel(pNode->GetLocalizedName()); return bResult; }
bool CVideoDatabaseDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items) { auto_ptr<CDirectoryNode> pNode(CDirectoryNode::ParseURL(strPath)); if (!pNode.get()) return false; bool bResult = pNode->GetChilds(items); for (int i=0;i<items.Size();++i) { CFileItemPtr item = items[i]; if (item->m_bIsFolder && !item->HasIcon() && !item->HasThumbnail()) { CStdString strImage = GetIcon(item->GetPath()); if (!strImage.IsEmpty() && g_TextureManager.HasTexture(strImage)) item->SetIconImage(strImage); } } items.SetLabel(pNode->GetLocalizedName()); return bResult; }