aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-15 13:37:27 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-15 13:37:27 -0400
commit8f1899906b747b09ef9356d932e65f2257115734 (patch)
tree99945543c6116bb8caecbd7ef87f58dfe38044cf
parentf4ad65196a255457bdd4fed645a50ed009669549 (diff)
show library folder images
-rw-r--r--MediaBrowser.Model/Entities/VirtualFolderInfo.cs6
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs34
2 files changed, 31 insertions, 9 deletions
diff --git a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
index d440f97bd..b7f92e9ec 100644
--- a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
+++ b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs
@@ -32,5 +32,11 @@ namespace MediaBrowser.Model.Entities
{
Locations = new List<string>();
}
+
+ /// <summary>
+ /// Gets or sets the primary image item identifier.
+ /// </summary>
+ /// <value>The primary image item identifier.</value>
+ public string PrimaryImageItemId { get; set; }
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 06b9ecabe..ce2dbb526 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1171,18 +1171,34 @@ namespace MediaBrowser.Server.Implementations.Library
/// <returns>IEnumerable{VirtualFolderInfo}.</returns>
private IEnumerable<VirtualFolderInfo> GetView(string path)
{
+ var topLibraryFolders = GetUserRootFolder().Children.ToList();
+
return _fileSystem.GetDirectoryPaths(path)
- .Select(dir => new VirtualFolderInfo
- {
- Name = Path.GetFileName(dir),
+ .Select(dir => GetVirtualFolderInfo(dir, topLibraryFolders));
+ }
- Locations = Directory.EnumerateFiles(dir, "*.mblink", SearchOption.TopDirectoryOnly)
- .Select(_fileSystem.ResolveShortcut)
- .OrderBy(i => i)
- .ToList(),
+ private VirtualFolderInfo GetVirtualFolderInfo(string dir, List<BaseItem> collectionFolders)
+ {
+ var info = new VirtualFolderInfo
+ {
+ Name = Path.GetFileName(dir),
- CollectionType = GetCollectionType(dir)
- });
+ Locations = Directory.EnumerateFiles(dir, "*.mblink", SearchOption.TopDirectoryOnly)
+ .Select(_fileSystem.ResolveShortcut)
+ .OrderBy(i => i)
+ .ToList(),
+
+ CollectionType = GetCollectionType(dir)
+ };
+
+ var libraryFolder = collectionFolders.FirstOrDefault(i => string.Equals(i.Path, dir, StringComparison.OrdinalIgnoreCase));
+
+ if (libraryFolder != null && libraryFolder.HasImage(ImageType.Primary))
+ {
+ info.PrimaryImageItemId = libraryFolder.Id.ToString("N");
+ }
+
+ return info;
}
private string GetCollectionType(string path)