diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs index a3d470689..1a5d73e6b 100644 --- a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs +++ b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs @@ -35,6 +35,8 @@ namespace MediaBrowser.ServerApplication private readonly ILibraryManager _libraryManager; private readonly IDisplayPreferencesRepository _displayPreferencesManager; + private readonly IItemRepository _itemRepository; + /// <summary> /// The current user /// </summary> @@ -48,7 +50,7 @@ namespace MediaBrowser.ServerApplication /// <param name="userManager">The user manager.</param> /// <param name="libraryManager">The library manager.</param> /// <param name="displayPreferencesManager">The display preferences manager.</param> - public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost, IUserManager userManager, ILibraryManager libraryManager, IDisplayPreferencesRepository displayPreferencesManager) + public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost, IUserManager userManager, ILibraryManager libraryManager, IDisplayPreferencesRepository displayPreferencesManager, IItemRepository itemRepo) { _logger = logger; _jsonSerializer = jsonSerializer; @@ -62,7 +64,7 @@ namespace MediaBrowser.ServerApplication ddlProfile.Items.Insert(0, new User { Name = "Physical" }); ddlProfile.SelectedIndex = 0; ddlIndexBy.Visibility = ddlSortBy.Visibility = lblIndexBy.Visibility = lblSortBy.Visibility = Visibility.Hidden; - + _itemRepository = itemRepo; } /// <summary> @@ -88,7 +90,7 @@ namespace MediaBrowser.ServerApplication Cursor = Cursors.Wait; await Task.Run(() => { - IEnumerable<BaseItem> children = CurrentUser.Name == "Physical" ? _libraryManager.RootFolder.Children : _libraryManager.RootFolder.GetChildren(CurrentUser, true); + IEnumerable<BaseItem> children = CurrentUser.Name == "Physical" ? new[] { _libraryManager.RootFolder } : _libraryManager.RootFolder.GetChildren(CurrentUser, true); children = OrderByName(children, CurrentUser); foreach (Folder folder in children) @@ -100,7 +102,7 @@ namespace MediaBrowser.ServerApplication var prefs = ddlProfile.SelectedItem != null ? _displayPreferencesManager.GetDisplayPreferences(currentFolder.DisplayPreferencesId, (ddlProfile.SelectedItem as User).Id, "LibraryExplorer") ?? new DisplayPreferences { SortBy = ItemSortBy.SortName } : new DisplayPreferences { SortBy = ItemSortBy.SortName }; var node = new TreeViewItem { Tag = currentFolder }; - var subChildren = currentFolder.GetChildren(CurrentUser, true, prefs.IndexBy); + var subChildren = currentFolder.GetChildren(CurrentUser, true); subChildren = OrderByName(subChildren, CurrentUser); AddChildren(node, subChildren, CurrentUser); node.Header = currentFolder.Name + " (" + @@ -212,7 +214,24 @@ namespace MediaBrowser.ServerApplication lblIndexBy.Visibility = ddlIndexBy.Visibility = ddlSortBy.Visibility = lblSortBy.Visibility = Visibility.Hidden; } - txtData.Text = FormatJson(_jsonSerializer.SerializeToString(item)); + + var json = FormatJson(_jsonSerializer.SerializeToString(item)); + + if (item is IHasMediaStreams) + { + var mediaStreams = _itemRepository.GetMediaStreams(new MediaStreamQuery + { + ItemId = item.Id + + }).ToList(); + + if (mediaStreams.Count > 0) + { + json += "\n\nMedia Streams:\n\n"+FormatJson(_jsonSerializer.SerializeToString(mediaStreams)); + } + } + + txtData.Text = json; var previews = new List<PreviewItem>(); await Task.Run(() => @@ -223,23 +242,23 @@ namespace MediaBrowser.ServerApplication } if (item.HasImage(ImageType.Banner)) { - previews.Add(new PreviewItem(item.GetImage(ImageType.Banner), "Banner")); + previews.Add(new PreviewItem(item.GetImagePath(ImageType.Banner), "Banner")); } if (item.HasImage(ImageType.Logo)) { - previews.Add(new PreviewItem(item.GetImage(ImageType.Logo), "Logo")); + previews.Add(new PreviewItem(item.GetImagePath(ImageType.Logo), "Logo")); } if (item.HasImage(ImageType.Art)) { - previews.Add(new PreviewItem(item.GetImage(ImageType.Art), "Art")); + previews.Add(new PreviewItem(item.GetImagePath(ImageType.Art), "Art")); } if (item.HasImage(ImageType.Thumb)) { - previews.Add(new PreviewItem(item.GetImage(ImageType.Thumb), "Thumb")); + previews.Add(new PreviewItem(item.GetImagePath(ImageType.Thumb), "Thumb")); } - previews.AddRange( - item.BackdropImagePaths.Select( - image => new PreviewItem(image, "Backdrop"))); + previews.AddRange( + item.BackdropImagePaths.Select( + image => new PreviewItem(image, "Backdrop"))); }); lstPreviews.ItemsSource = previews; lstPreviews.Items.Refresh(); @@ -371,7 +390,7 @@ namespace MediaBrowser.ServerApplication //re-build the current item's children as an index prefs.IndexBy = ddlIndexBy.SelectedItem as string; treeItem.Items.Clear(); - AddChildren(treeItem, OrderBy(folder.GetChildren(CurrentUser, true, prefs.IndexBy), CurrentUser, prefs.SortBy), CurrentUser); + AddChildren(treeItem, OrderBy(folder.GetChildren(CurrentUser, true), CurrentUser, prefs.SortBy), CurrentUser); treeItem.Header = folder.Name + "(" + treeItem.Items.Count + ")"; Cursor = Cursors.Arrow; @@ -412,7 +431,7 @@ namespace MediaBrowser.ServerApplication //re-sort prefs.SortBy = ddlSortBy.SelectedItem as string; treeItem.Items.Clear(); - AddChildren(treeItem, OrderBy(folder.GetChildren(CurrentUser, true, prefs.IndexBy), CurrentUser, prefs.SortBy ?? ItemSortBy.SortName), CurrentUser); + AddChildren(treeItem, OrderBy(folder.GetChildren(CurrentUser, true), CurrentUser, prefs.SortBy ?? ItemSortBy.SortName), CurrentUser); treeItem.Header = folder.Name + "(" + treeItem.Items.Count + ")"; Cursor = Cursors.Arrow; |
