From 17c1fd576057bdd2d6aea517d733fe8af6e6b2ba Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sat, 23 Feb 2013 10:58:08 -0500 Subject: moved ui to it's own repo --- .../Controls/MultiItemTile.xaml.cs | 219 --------------------- 1 file changed, 219 deletions(-) delete mode 100644 MediaBrowser.Plugins.DefaultTheme/Controls/MultiItemTile.xaml.cs (limited to 'MediaBrowser.Plugins.DefaultTheme/Controls/MultiItemTile.xaml.cs') diff --git a/MediaBrowser.Plugins.DefaultTheme/Controls/MultiItemTile.xaml.cs b/MediaBrowser.Plugins.DefaultTheme/Controls/MultiItemTile.xaml.cs deleted file mode 100644 index 51339647a..000000000 --- a/MediaBrowser.Plugins.DefaultTheme/Controls/MultiItemTile.xaml.cs +++ /dev/null @@ -1,219 +0,0 @@ -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Net; -using MediaBrowser.UI; -using MediaBrowser.UI.Controls; -using MediaBrowser.UI.ViewModels; -using Microsoft.Expression.Media.Effects; -using System; -using System.ComponentModel; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Media; - -namespace MediaBrowser.Plugins.DefaultTheme.Controls -{ - /// - /// Interaction logic for MultiItemTile.xaml - /// - public partial class MultiItemTile : BaseUserControl - { - /// - /// The _image width - /// - private int _imageWidth; - /// - /// Gets or sets the width of the image. - /// - /// The width of the image. - public int ImageWidth - { - get { return _imageWidth; } - set - { - _imageWidth = value; - mainGrid.Width = value; - } - } - - /// - /// The _image height - /// - private int _imageHeight; - /// - /// Gets or sets the height of the image. - /// - /// The height of the image. - public int ImageHeight - { - get { return _imageHeight; } - set - { - _imageHeight = value; - mainGrid.Height = value; - } - } - - /// - /// The _effects - /// - TransitionEffect[] _effects = new TransitionEffect[] - { - new BlindsTransitionEffect { Orientation = BlindOrientation.Horizontal }, - new BlindsTransitionEffect { Orientation = BlindOrientation.Vertical }, - new CircleRevealTransitionEffect { }, - new FadeTransitionEffect { }, - new SlideInTransitionEffect { SlideDirection= SlideDirection.TopToBottom}, - new SlideInTransitionEffect { SlideDirection= SlideDirection.RightToLeft}, - new WipeTransitionEffect { WipeDirection = WipeDirection.RightToLeft}, - new WipeTransitionEffect { WipeDirection = WipeDirection.TopLeftToBottomRight} - }; - - /// - /// Gets or sets the random. - /// - /// The random. - private Random Random { get; set; } - - /// - /// Gets the collection. - /// - /// The collection. - public ItemCollectionViewModel Collection - { - get { return DataContext as ItemCollectionViewModel; } - } - - /// - /// Initializes a new instance of the class. - /// - public MultiItemTile() - { - InitializeComponent(); - - Random = new Random(Guid.NewGuid().GetHashCode()); - - mainGrid.Width = ImageWidth; - mainGrid.Height = ImageHeight; - DataContextChanged += BaseItemTile_DataContextChanged; - } - - /// - /// Handles the DataContextChanged event of the BaseItemTile control. - /// - /// The source of the event. - /// The instance containing the event data. - void BaseItemTile_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) - { - OnCurrentItemChanged(); - - if (Collection != null) - { - Collection.PropertyChanged += Collection_PropertyChanged; - } - } - - /// - /// Handles the PropertyChanged event of the Collection control. - /// - /// The source of the event. - /// The instance containing the event data. - void Collection_PropertyChanged(object sender, PropertyChangedEventArgs e) - { - if (e.PropertyName.Equals("CurrentItem")) - { - OnCurrentItemChanged(); - } - } - - /// - /// Called when [current item changed]. - /// - private async void OnCurrentItemChanged() - { - if (Collection == null) - { - // Setting this to null doesn't seem to clear out the content - transitionControl.Content = new FrameworkElement(); - txtName.Text = null; - return; - } - - var currentItem = Collection.CurrentItem; - - if (currentItem == null) - { - // Setting this to null doesn't seem to clear out the content - transitionControl.Content = new FrameworkElement(); - txtName.Text = Collection.Name; - return; - } - - var img = new Image - { - Stretch = Stretch.Uniform, - Width = ImageWidth, - Height = ImageHeight - }; - - var url = GetImageSource(currentItem); - - if (!string.IsNullOrEmpty(url)) - { - try - { - img.Source = await App.Instance.GetRemoteBitmapAsync(url); - txtName.Text = Collection.Name ?? currentItem.Name; - } - catch (HttpException) - { - } - } - - transitionControl.TransitionType = _effects[Random.Next(0, _effects.Length)]; - transitionControl.Content = img; - } - - /// - /// Gets the image source. - /// - /// The item. - /// Uri. - private string GetImageSource(BaseItemDto item) - { - if (item != null) - { - if (item.BackdropCount > 0) - { - return App.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Backdrop, - Height = ImageHeight, - Width = ImageWidth - }); - } - - if (item.HasThumb) - { - return App.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Thumb, - Height = ImageHeight, - Width = ImageWidth - }); - } - - if (item.HasPrimaryImage) - { - return App.Instance.ApiClient.GetImageUrl(item, new ImageOptions - { - ImageType = ImageType.Primary, - Height = ImageHeight - }); - } - } - - return null; - } - } -} -- cgit v1.2.3