diff options
Diffstat (limited to 'MediaBrowser.Plugins.DefaultTheme/Controls/Details')
17 files changed, 0 insertions, 1028 deletions
diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/BaseDetailsControl.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/BaseDetailsControl.cs deleted file mode 100644 index 530788aea..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/BaseDetailsControl.cs +++ /dev/null @@ -1,44 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.UI.Controls; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Class BaseDetailsControl - /// </summary> - public abstract class BaseDetailsControl : BaseUserControl - { - /// <summary> - /// Initializes a new instance of the <see cref="BaseDetailsControl" /> class. - /// </summary> - protected BaseDetailsControl() - { - DataContext = this; - } - - /// <summary> - /// The _item - /// </summary> - private BaseItemDto _item; - /// <summary> - /// Gets or sets the item. - /// </summary> - /// <value>The item.</value> - public BaseItemDto Item - { - get { return _item; } - - set - { - _item = value; - OnPropertyChanged("Item"); - OnItemChanged(); - } - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected abstract void OnItemChanged(); - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml deleted file mode 100644 index 4282316b4..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml +++ /dev/null @@ -1,23 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemChapters" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <controls:ExtendedScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Disabled" CanContentScroll="True"> - <controls:ScrollingPanel CanHorizontallyScroll="True" CanVerticallyScroll="False"> - <controls:ExtendedListBox x:Name="lstItems" HorizontalAlignment="Center" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemTemplate="{StaticResource ItemChaptersTemplate}" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"> - <controls:ExtendedListBox.ItemsPanel> - <ItemsPanelTemplate> - <WrapPanel Orientation="Vertical" Margin="50" /> - </ItemsPanelTemplate> - </controls:ExtendedListBox.ItemsPanel> - </controls:ExtendedListBox> - </controls:ScrollingPanel> - </controls:ExtendedScrollViewer> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml.cs deleted file mode 100644 index d9f40b014..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemChapters.xaml.cs +++ /dev/null @@ -1,67 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.UI.Controller; -using MediaBrowser.UI.Controls; -using MediaBrowser.UI.Playback; -using MediaBrowser.UI.ViewModels; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemChapters.xaml - /// </summary> - public partial class ItemChapters : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemChapters" /> class. - /// </summary> - public ItemChapters() - { - InitializeComponent(); - - lstItems.ItemInvoked += lstItems_ItemInvoked; - } - - /// <summary> - /// LSTs the items_ item invoked. - /// </summary> - /// <param name="sender">The sender.</param> - /// <param name="e">The e.</param> - void lstItems_ItemInvoked(object sender, ItemEventArgs<object> e) - { - var chapterViewModel = (ChapterInfoDtoViewModel) e.Argument; - - UIKernel.Instance.PlaybackManager.Play(new PlayOptions - { - Items = new List<BaseItemDto> { Item }, - StartPositionTicks = chapterViewModel.Chapter.StartPositionTicks - }); - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override void OnItemChanged() - { - const double height = 297; - - var width = ChapterInfoDtoViewModel.GetChapterImageWidth(Item, height, 528); - - var chapters = Item.Chapters ?? new List<ChapterInfoDto> { }; - - lstItems.ItemsSource = new ObservableCollection<ChapterInfoDtoViewModel>(chapters.Select(i => new ChapterInfoDtoViewModel - { - Item = Item, - Chapter = i, - ImageWidth = width, - ImageHeight = height, - ImageDownloadOptions = new ImageOptions - { - MaxHeight = 400 - } - })); - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml deleted file mode 100644 index 312742558..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml +++ /dev/null @@ -1,23 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemGallery" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <controls:ExtendedScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Disabled" CanContentScroll="True"> - <controls:ScrollingPanel CanHorizontallyScroll="True" CanVerticallyScroll="False"> - <controls:ExtendedListBox VerticalAlignment="Top" HorizontalAlignment="Center" x:Name="lstItems" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemTemplate="{StaticResource ItemGalleryTemplate}" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"> - <controls:ExtendedListBox.ItemsPanel> - <ItemsPanelTemplate> - <WrapPanel Orientation="Vertical" Margin="50" /> - </ItemsPanelTemplate> - </controls:ExtendedListBox.ItemsPanel> - </controls:ExtendedListBox> - </controls:ScrollingPanel> - </controls:ExtendedScrollViewer> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml.cs deleted file mode 100644 index c315a0f7f..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemGallery.xaml.cs +++ /dev/null @@ -1,163 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Net; -using MediaBrowser.UI; -using MediaBrowser.UI.Controller; -using MediaBrowser.UI.Controls; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using System.Windows.Media.Imaging; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemGallery.xaml - /// </summary> - public partial class ItemGallery : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemGallery" /> class. - /// </summary> - public ItemGallery() - : base() - { - InitializeComponent(); - lstItems.ItemInvoked += lstItems_ItemInvoked; - } - - /// <summary> - /// LSTs the items_ item invoked. - /// </summary> - /// <param name="sender">The sender.</param> - /// <param name="e">The e.</param> - void lstItems_ItemInvoked(object sender, ItemEventArgs<object> e) - { - var img = (BitmapImage)e.Argument; - - var index = Images.IndexOf(img); - - //App.Instance.OpenImageViewer(new Uri(ImageUrls[index]), Item.Name); - } - - /// <summary> - /// The _images - /// </summary> - private List<BitmapImage> _images; - /// <summary> - /// Gets or sets the images. - /// </summary> - /// <value>The images.</value> - public List<BitmapImage> Images - { - get { return _images; } - set - { - _images = value; - lstItems.ItemsSource = value; - OnPropertyChanged("Images"); - } - } - - /// <summary> - /// Gets or sets the image urls. - /// </summary> - /// <value>The image urls.</value> - private List<string> ImageUrls { get; set; } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override async void OnItemChanged() - { - ImageUrls = GetImages(Item); - - var tasks = ImageUrls.Select(GetImage); - - var results = await Task.WhenAll(tasks); - - Images = results.Where(i => i != null).ToList(); - } - - /// <summary> - /// Gets the image. - /// </summary> - /// <param name="url">The URL.</param> - /// <returns>Task{BitmapImage}.</returns> - private async Task<BitmapImage> GetImage(string url) - { - try - { - return await App.Instance.GetRemoteBitmapAsync(url); - } - catch (HttpException) - { - return null; - } - } - - /// <summary> - /// Gets the images. - /// </summary> - /// <param name="item">The item.</param> - /// <returns>List{System.String}.</returns> - internal static List<string> GetImages(BaseItemDto item) - { - var images = new List<string> { }; - - if (item.BackdropCount > 0) - { - for (var i = 0; i < item.BackdropCount; i++) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Backdrop, - ImageIndex = i - })); - } - } - - if (item.HasThumb) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Thumb - })); - } - - if (item.HasArtImage) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Art - })); - } - - if (item.HasDiscImage) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Disc - })); - } - - if (item.HasMenuImage) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Menu - })); - } - - if (item.HasBoxImage) - { - images.Add(UIKernel.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Box - })); - } - - return images; - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml deleted file mode 100644 index 0cae37a35..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml +++ /dev/null @@ -1,22 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemMediaInfo" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <Grid.RowDefinitions> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="*"></RowDefinition> - </Grid.RowDefinitions> - - <TextBlock Style="{StaticResource TextBlockStyle}" Grid.Row="0" x:Name="TxtPath"></TextBlock> - - <TextBlock Style="{StaticResource TextBlockStyle}" Grid.Row="1" Margin="0 20 0 0" x:Name="TxtVideoFormat"></TextBlock> - - <StackPanel Orientation="Vertical" x:Name="MediaStreams" Grid.Row="2" Margin="0 20 0 0"></StackPanel> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml.cs deleted file mode 100644 index 3912093c7..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemMediaInfo.xaml.cs +++ /dev/null @@ -1,49 +0,0 @@ -using MediaBrowser.Model.Entities; -using System.Collections.Generic; -using System.Windows; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemMediaInfo.xaml - /// </summary> - public partial class ItemMediaInfo : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemMediaInfo" /> class. - /// </summary> - public ItemMediaInfo() - { - InitializeComponent(); - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override void OnItemChanged() - { - MediaStreams.Children.Clear(); - - TxtPath.Text = Item.Path; - - if (Item.VideoFormat.HasValue && Item.VideoFormat.Value != VideoFormat.Standard) - { - TxtVideoFormat.Visibility = Visibility.Visible; - - TxtVideoFormat.Text = Item.VideoFormat.Value == VideoFormat.Digital3D ? "Digital 3D" : "SBS 3D"; - } - else - { - TxtVideoFormat.Visibility = Visibility.Collapsed; - } - - foreach (var stream in Item.MediaStreams ?? new List<MediaStream> {}) - { - MediaStreams.Children.Add(new MediaStreamControl - { - MediaStream = stream - }); - } - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml deleted file mode 100644 index 32e16ce9d..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml +++ /dev/null @@ -1,68 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemOverview" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <Grid.RowDefinitions> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="*"></RowDefinition> - </Grid.RowDefinitions> - - <StackPanel Orientation="Horizontal" Grid.Row="0" x:Name="PnlAlbum" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" Width="250" Text="album"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Album"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="1" x:Name="PnlArtist" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" Width="250" Text="artist"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Artist"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="2" x:Name="PnlAlbumArtist" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" Width="250" Text="album artist"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="AlbumArtist"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="3" x:Name="PnlDirectors" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="DirectorLabel" Width="250"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Directors"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="4" x:Name="PnlGenres" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="GenreLabel" Width="250"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Genres"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="5" x:Name="PnlStudios" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="StudiosLabel" Width="250"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Studios"></TextBlock> - </StackPanel> - - <StackPanel Orientation="Horizontal" Grid.Row="6" x:Name="PnlPremiereDate" Visibility="Collapsed"> - - <TextBlock Style="{StaticResource TextBlockStyle}" Width="250" Text="premiere date"></TextBlock> - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="PremiereDate"></TextBlock> - </StackPanel> - - <Grid Grid.Row="7"> - - <TextBlock Style="{StaticResource TextBlockStyle}" x:Name="Overview" Margin="0 20 0 0"></TextBlock> - </Grid> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml.cs deleted file mode 100644 index 3c1eb52ec..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemOverview.xaml.cs +++ /dev/null @@ -1,109 +0,0 @@ -using MediaBrowser.Model.Dto; -using System; -using System.Linq; -using System.Windows; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemOverview.xaml - /// </summary> - public partial class ItemOverview : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemOverview" /> class. - /// </summary> - public ItemOverview() - : base() - { - InitializeComponent(); - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override void OnItemChanged() - { - var directors = (Item.People ?? new BaseItemPerson[] { }).Where(p => string.Equals(p.Type, "director", StringComparison.OrdinalIgnoreCase)).ToList(); - - if (directors.Count > 0) - { - PnlDirectors.Visibility = Visibility.Visible; - - Directors.Text = string.Join(" / ", directors.Take(3).Select(d => d.Name).ToArray()); - DirectorLabel.Text = directors.Count > 1 ? "directors" : "director"; - } - else - { - PnlDirectors.Visibility = Visibility.Collapsed; - } - - if (Item.Genres != null && Item.Genres.Count > 0) - { - PnlGenres.Visibility = Visibility.Visible; - - Genres.Text = string.Join(" / ", Item.Genres.Take(4).ToArray()); - GenreLabel.Text = Item.Genres.Count > 1 ? "genres" : "genre"; - } - else - { - PnlGenres.Visibility = Visibility.Collapsed; - } - - if (Item.Studios != null && Item.Studios.Count > 0) - { - PnlStudios.Visibility = Visibility.Visible; - - Studios.Text = string.Join(" / ", Item.Studios.Take(3).ToArray()); - StudiosLabel.Text = Item.Studios.Count > 1 ? "studios" : "studio"; - } - else - { - PnlStudios.Visibility = Visibility.Collapsed; - } - - if (Item.PremiereDate.HasValue) - { - PnlPremiereDate.Visibility = Visibility.Visible; - - PremiereDate.Text = Item.PremiereDate.Value.ToShortDateString(); - } - else - { - PnlPremiereDate.Visibility = Visibility.Collapsed; - } - - if (!string.IsNullOrEmpty(Item.Artist)) - { - PnlArtist.Visibility = Visibility.Visible; - Artist.Text = Item.Artist; - } - else - { - PnlArtist.Visibility = Visibility.Collapsed; - } - - if (!string.IsNullOrEmpty(Item.Album)) - { - PnlAlbum.Visibility = Visibility.Visible; - Album.Text = Item.Artist; - } - else - { - PnlAlbum.Visibility = Visibility.Collapsed; - } - - if (!string.IsNullOrEmpty(Item.AlbumArtist)) - { - PnlAlbumArtist.Visibility = Visibility.Visible; - AlbumArtist.Text = Item.Artist; - } - else - { - PnlAlbumArtist.Visibility = Visibility.Collapsed; - } - - Overview.Text = Item.Overview; - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml deleted file mode 100644 index 6e2bc9f57..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml +++ /dev/null @@ -1,23 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemPerformers" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <controls:ExtendedScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Disabled" CanContentScroll="True"> - <controls:ScrollingPanel CanHorizontallyScroll="False" CanVerticallyScroll="True"> - <controls:ExtendedListBox VerticalAlignment="Center" x:Name="lstItems" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemsSource="{Binding Path=People}" ItemTemplate="{StaticResource ItemPerformersTemplate}" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"> - <controls:ExtendedListBox.ItemsPanel> - <ItemsPanelTemplate> - <WrapPanel Orientation="Vertical" Margin="50" /> - </ItemsPanelTemplate> - </controls:ExtendedListBox.ItemsPanel> - </controls:ExtendedListBox> - </controls:ScrollingPanel> - </controls:ExtendedScrollViewer> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml.cs deleted file mode 100644 index 0ea9a052e..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemPerformers.xaml.cs +++ /dev/null @@ -1,72 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.UI; -using MediaBrowser.UI.Controller; -using MediaBrowser.UI.ViewModels; -using System.Collections.ObjectModel; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemPerformers.xaml - /// </summary> - public partial class ItemPerformers : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemPerformers" /> class. - /// </summary> - public ItemPerformers() - { - InitializeComponent(); - } - - /// <summary> - /// The _itemsResult - /// </summary> - private ItemsResult _itemsResult; - /// <summary> - /// Gets or sets the children of the Folder being displayed - /// </summary> - /// <value>The children.</value> - public ItemsResult ItemsResult - { - get { return _itemsResult; } - - private set - { - _itemsResult = value; - OnPropertyChanged("ItemsResult"); - - Items = DtoBaseItemViewModel.GetObservableItems(ItemsResult.Items); - } - } - - /// <summary> - /// The _display children - /// </summary> - private ObservableCollection<DtoBaseItemViewModel> _items; - /// <summary> - /// Gets the actual children that should be displayed. - /// Subclasses should bind to this, not ItemsResult. - /// </summary> - /// <value>The display children.</value> - public ObservableCollection<DtoBaseItemViewModel> Items - { - get { return _items; } - - private set - { - _items = value; - //lstItems.ItemsSource = value; - OnPropertyChanged("Items"); - } - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override async void OnItemChanged() - { - ItemsResult = await UIKernel.Instance.ApiClient.GetAllPeopleAsync(App.Instance.CurrentUser.Id, itemId: Item.Id); - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml deleted file mode 100644 index 09d64612e..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml +++ /dev/null @@ -1,23 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemSpecialFeatures" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <controls:ExtendedScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Disabled" CanContentScroll="True"> - <controls:ScrollingPanel CanHorizontallyScroll="True" CanVerticallyScroll="False"> - <controls:ExtendedListBox x:Name="lstItems" HorizontalAlignment="Center" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemTemplate="{StaticResource ItemSpecialFeaturesTemplate}" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"> - <controls:ExtendedListBox.ItemsPanel> - <ItemsPanelTemplate> - <WrapPanel Orientation="Vertical" Margin="50" /> - </ItemsPanelTemplate> - </controls:ExtendedListBox.ItemsPanel> - </controls:ExtendedListBox> - </controls:ScrollingPanel> - </controls:ExtendedScrollViewer> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml.cs deleted file mode 100644 index d62c6d157..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemSpecialFeatures.xaml.cs +++ /dev/null @@ -1,77 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Net; -using MediaBrowser.UI; -using MediaBrowser.UI.Controller; -using MediaBrowser.UI.Controls; -using MediaBrowser.UI.Playback; -using MediaBrowser.UI.ViewModels; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemSpecialFeatures.xaml - /// </summary> - public partial class ItemSpecialFeatures : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemSpecialFeatures" /> class. - /// </summary> - public ItemSpecialFeatures() - { - InitializeComponent(); - - lstItems.ItemInvoked += lstItems_ItemInvoked; - } - - /// <summary> - /// LSTs the items_ item invoked. - /// </summary> - /// <param name="sender">The sender.</param> - /// <param name="e">The e.</param> - void lstItems_ItemInvoked(object sender, ItemEventArgs<object> e) - { - var viewModel = (SpecialFeatureViewModel) e.Argument; - - UIKernel.Instance.PlaybackManager.Play(new PlayOptions - { - Items = new List<BaseItemDto> { viewModel.Item } - }); - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override async void OnItemChanged() - { - BaseItemDto[] result; - - try - { - result = await UIKernel.Instance.ApiClient.GetSpecialFeaturesAsync(App.Instance.CurrentUser.Id, Item.Id); - } - catch (HttpException) - { - App.Instance.ShowDefaultErrorMessage(); - - return; - } - - var resultItems = result ?? new BaseItemDto[] { }; - - const int height = 297; - var aspectRatio = DtoBaseItemViewModel.GetAveragePrimaryImageAspectRatio(resultItems); - - var width = aspectRatio == 0 ? 528 : height * aspectRatio; - - lstItems.ItemsSource = resultItems.Select(i => new SpecialFeatureViewModel - { - Item = i, - ImageHeight = height, - ImageWidth = width - - }).ToList(); - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml deleted file mode 100644 index 129885271..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml +++ /dev/null @@ -1,23 +0,0 @@ -<details:BaseDetailsControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.ItemTrailers" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:details="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls.Details" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <controls:ExtendedScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Disabled" CanContentScroll="True"> - <controls:ScrollingPanel CanHorizontallyScroll="True" CanVerticallyScroll="False"> - <controls:ExtendedListBox x:Name="lstItems" HorizontalAlignment="Center" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemTemplate="{StaticResource ItemSpecialFeaturesTemplate}" Style="{StaticResource ListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"> - <controls:ExtendedListBox.ItemsPanel> - <ItemsPanelTemplate> - <WrapPanel Orientation="Vertical" Margin="50" /> - </ItemsPanelTemplate> - </controls:ExtendedListBox.ItemsPanel> - </controls:ExtendedListBox> - </controls:ScrollingPanel> - </controls:ExtendedScrollViewer> - </Grid> -</details:BaseDetailsControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml.cs deleted file mode 100644 index 9d92aafbb..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/ItemTrailers.xaml.cs +++ /dev/null @@ -1,82 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Net; -using MediaBrowser.UI; -using MediaBrowser.UI.Controller; -using MediaBrowser.UI.Controls; -using MediaBrowser.UI.Playback; -using MediaBrowser.UI.ViewModels; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for ItemTrailers.xaml - /// </summary> - public partial class ItemTrailers : BaseDetailsControl - { - /// <summary> - /// Initializes a new instance of the <see cref="ItemSpecialFeatures" /> class. - /// </summary> - public ItemTrailers() - { - InitializeComponent(); - - lstItems.ItemInvoked += lstItems_ItemInvoked; - } - - /// <summary> - /// LSTs the items_ item invoked. - /// </summary> - /// <param name="sender">The sender.</param> - /// <param name="e">The e.</param> - void lstItems_ItemInvoked(object sender, ItemEventArgs<object> e) - { - var viewModel = (SpecialFeatureViewModel)e.Argument; - - UIKernel.Instance.PlaybackManager.Play(new PlayOptions - { - Items = new List<BaseItemDto> { viewModel.Item } - }); - } - - /// <summary> - /// Called when [item changed]. - /// </summary> - protected override async void OnItemChanged() - { - BaseItemDto[] result; - - try - { - result = await UIKernel.Instance.ApiClient.GetLocalTrailersAsync(App.Instance.CurrentUser.Id, Item.Id); - } - catch (HttpException) - { - App.Instance.ShowDefaultErrorMessage(); - - return; - } - - var resultItems = result ?? new BaseItemDto[] { }; - - const int height = 297; - var aspectRatio = DtoBaseItemViewModel.GetAveragePrimaryImageAspectRatio(resultItems); - - var width = aspectRatio == 0 ? 528 : height * aspectRatio; - - if (Item.TrailerUrls != null) - { - //resultItems.AddRange(Item.TrailerUrls.Select(i => UIKernel.Instance.PlaybackManager.GetPlayableItem(new Uri(i), "Trailer"))); - } - - lstItems.ItemsSource = resultItems.Select(i => new SpecialFeatureViewModel - { - Item = i, - ImageHeight = height, - ImageWidth = width - - }).ToList(); - } - } -} diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml deleted file mode 100644 index e841693fe..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml +++ /dev/null @@ -1,18 +0,0 @@ -<controls:BaseUserControl x:Class="MediaBrowser.Plugins.DefaultTheme.Controls.Details.MediaStreamControl" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - <Grid> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="150"></ColumnDefinition> - <ColumnDefinition Width="*"></ColumnDefinition> - </Grid.ColumnDefinitions> - - <TextBlock Style="{StaticResource TextBlockStyle}" Grid.Column="0" x:Name="StreamName"></TextBlock> - <StackPanel Orientation="Vertical" Grid.Column="1" x:Name="StreamDetails"></StackPanel> - </Grid> -</controls:BaseUserControl> diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml.cs deleted file mode 100644 index c0271cdab..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/Details/MediaStreamControl.xaml.cs +++ /dev/null @@ -1,142 +0,0 @@ -using MediaBrowser.Model.Entities; -using MediaBrowser.UI.Controls; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Windows.Controls; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls.Details -{ - /// <summary> - /// Interaction logic for MediaStreamControl.xaml - /// </summary> - public partial class MediaStreamControl : BaseUserControl - { - private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); - - /// <summary> - /// Initializes a new instance of the <see cref="MediaStreamControl" /> class. - /// </summary> - public MediaStreamControl() - { - InitializeComponent(); - } - - /// <summary> - /// The _media stream - /// </summary> - private MediaStream _mediaStream; - /// <summary> - /// Gets or sets the media stream. - /// </summary> - /// <value>The media stream.</value> - public MediaStream MediaStream - { - get { return _mediaStream; } - set - { - _mediaStream = value; - OnPropertyChanged("MediaStream"); - OnStreamChanged(); - } - } - - /// <summary> - /// Called when [stream changed]. - /// </summary> - private void OnStreamChanged() - { - if (MediaStream == null) - { - StreamName.Text = string.Empty; - StreamDetails.Children.Clear(); - return; - } - - var details = new List<string> { }; - - if (MediaStream.Type != MediaStreamType.Video) - { - AddDetail(details, MediaStream.Language); - } - - if (!string.IsNullOrEmpty(MediaStream.Path)) - { - AddDetail(details, Path.GetFileName(MediaStream.Path)); - } - - if (MediaStream.Type == MediaStreamType.Video) - { - var resolution = string.Format("{0}*{1}", MediaStream.Width, MediaStream.Height); - - AddDetail(details, resolution); - } - - AddDetail(details, MediaStream.AspectRatio); - - if (MediaStream.Type != MediaStreamType.Video) - { - if (MediaStream.IsDefault) - { - //AddDetail(details, "default"); - } - if (MediaStream.IsForced) - { - AddDetail(details, "forced"); - } - } - - AddDetail(details, MediaStream.Codec); - - if (MediaStream.Channels.HasValue) - { - AddDetail(details, MediaStream.Channels.Value.ToString(UsCulture) + "ch"); - } - - if (MediaStream.BitRate.HasValue) - { - var text = (MediaStream.BitRate.Value / 1000).ToString(UsCulture) + "kbps"; - - AddDetail(details, text); - } - - var framerate = MediaStream.AverageFrameRate ?? MediaStream.RealFrameRate ?? 0; - - if (framerate > 0) - { - AddDetail(details, framerate.ToString(UsCulture)); - } - - if (MediaStream.SampleRate.HasValue) - { - AddDetail(details, MediaStream.SampleRate.Value.ToString(UsCulture) + "khz"); - } - - AddDetail(string.Join(" \u2022 ", details.ToArray())); - - StreamName.Text = MediaStream.Type.ToString(); - } - - private void AddDetail(string text) - { - if (string.IsNullOrEmpty(text)) - { - return; - } - - var control = new TextBlock() { Text = text }; - control.SetResourceReference(StyleProperty, "TextBlockStyle"); - StreamDetails.Children.Add(control); - } - - private void AddDetail(ICollection<string> list, string text) - { - if (string.IsNullOrEmpty(text)) - { - return; - } - - list.Add(text); - } - } -} |
