if (!musicdatabase.GetAlbumInfo(albumid, album, NULL))
return false;
- item = CFileItem(strFilename, album);
+ item.SetFromAlbum(album);
}
else
{
if (!musicdatabase.GetSongByFileName(strFilename, song))
return false;
- item = CFileItem(song);
+ item.SetFromSong(song);
}
return true;
CFileItem fileItem;
if (FillFileItem(items[i], fileItem, media))
{
- fileItem.m_bIsFolder = items[i]->m_bIsFolder;
- fileItem.m_dateTime = items[i]->m_dateTime;
- fileItem.m_dwSize = items[i]->m_dwSize;
- fileItem.SetMimeType(items[i]->GetMimeType());
-
if (items[i]->m_bIsFolder)
filteredDirectories.Add(CFileItemPtr(new CFileItem(fileItem)));
else
if (originalItem.get() == NULL)
return false;
+ // copy all the available details
+ item = *originalItem;
+
bool status = false;
CStdString strFilename = originalItem->GetPath();
if (!strFilename.empty() && (CDirectory::Exists(strFilename) || CFile::Exists(strFilename)))
if (label.empty())
return false;
- item = CFileItem(strFilename, isDir);
item.SetLabel(label);
+ item.SetPath(strFilename);
+ item.m_bIsFolder = isDir;
}
else
item = *originalItem.get();