Skip to content

Commit

Permalink
[pvr] Show thumbnails and fanarts also in "all recordings" view.
Browse files Browse the repository at this point in the history
  • Loading branch information
axmhari committed Dec 2, 2012
1 parent 7af8051 commit 7dd322e
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
3 changes: 2 additions & 1 deletion xbmc/pvr/recordings/PVRRecordings.h
Expand Up @@ -43,7 +43,6 @@ namespace PVR
virtual void GetContents(const CStdString &strDirectory, CFileItemList *results);
virtual void GetSubDirectories(const CStdString &strBase, CFileItemList *results, bool bAutoSkip = true);

bool HasAllRecordingsPathExtension(const CStdString &strDirectory);
CStdString AddAllRecordingsPathExtension(const CStdString &strDirectory);
CStdString RemoveAllRecordingsPathExtension(const CStdString &strDirectory);

Expand Down Expand Up @@ -72,5 +71,7 @@ namespace PVR
CFileItemPtr GetByPath(const CStdString &path);
void SetPlayCount(const CFileItem &item, int iPlayCount);
void GetAll(CFileItemList &items);

bool HasAllRecordingsPathExtension(const CStdString &strDirectory);
};
}
24 changes: 23 additions & 1 deletion xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
Expand Up @@ -425,7 +425,29 @@ void CGUIWindowPVRRecordings::AfterUpdate(CFileItemList& items)
files.SetPath(items.GetPath());
if(m_database.Open())
{
CGUIWindowVideoNav::LoadVideoInfo(files, m_database);
if (g_PVRRecordings->HasAllRecordingsPathExtension(files.GetPath()))
{
// Build a map of all files belonging to common subdirectories and call
// LoadVideoInfo for each item list
typedef boost::shared_ptr<CFileItemList> CFileItemListPtr;
typedef std::map<CStdString, CFileItemListPtr> DirectoryMap;

DirectoryMap directory_map;
for (int i = 0; i < files.Size(); i++)
{
CStdString strDirectory = URIUtils::GetDirectory(files[i]->GetPath());
DirectoryMap::iterator it = directory_map.find(strDirectory);
if (it == directory_map.end())
it = directory_map.insert(std::make_pair(
strDirectory, CFileItemListPtr(new CFileItemList(strDirectory)))).first;
it->second->Add(files[i]);
}

for (DirectoryMap::iterator it = directory_map.begin(); it != directory_map.end(); it++)
CGUIWindowVideoNav::LoadVideoInfo(*it->second, m_database);
}
else
CGUIWindowVideoNav::LoadVideoInfo(files, m_database);
m_database.Close();
}
m_thumbLoader.Load(files);
Expand Down

0 comments on commit 7dd322e

Please sign in to comment.