using MediaBrowser.Model.Entities;
using System.Windows;
namespace MediaBrowser.Plugins.DefaultTheme.DisplayPreferences
{
    /// 
    /// Interaction logic for ViewMenuPage.xaml
    /// 
    public partial class ViewMenuPage : BaseDisplayPreferencesPage
    {
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public ViewMenuPage()
        {
            InitializeComponent();
            radioCoverFlow.Click += radioCoverFlow_Click;
            radioList.Click += radioList_Click;
            radioPoster.Click += radioPoster_Click;
            radioThumbstrip.Click += radioThumbstrip_Click;
        }
        /// 
        /// Called when [loaded].
        /// 
        protected override void OnLoaded()
        {
            base.OnLoaded();
            UpdateFields();
        }
        /// 
        /// Handles the Click event of the radioThumbstrip control.
        /// 
        /// The source of the event.
        /// The  instance containing the event data.
        void radioThumbstrip_Click(object sender, RoutedEventArgs e)
        {
            MainPage.DisplayPreferences.ScrollDirection = ScrollDirection.Horizontal;
            MainPage.DisplayPreferences.ViewType = ViewTypes.ThumbStrip;
            MainPage.NotifyDisplayPreferencesChanged();
        }
        /// 
        /// Handles the Click event of the radioPoster control.
        /// 
        /// The source of the event.
        /// The  instance containing the event data.
        void radioPoster_Click(object sender, RoutedEventArgs e)
        {
            MainPage.DisplayPreferences.ViewType = ViewTypes.Poster;
            MainPage.NotifyDisplayPreferencesChanged();
        }
        /// 
        /// Handles the Click event of the radioList control.
        /// 
        /// The source of the event.
        /// The  instance containing the event data.
        void radioList_Click(object sender, RoutedEventArgs e)
        {
            MainPage.DisplayPreferences.ScrollDirection = ScrollDirection.Vertical;
            MainPage.DisplayPreferences.ViewType = ViewTypes.List;
            MainPage.NotifyDisplayPreferencesChanged();
        }
        /// 
        /// Handles the Click event of the radioCoverFlow control.
        /// 
        /// The source of the event.
        /// The  instance containing the event data.
        void radioCoverFlow_Click(object sender, RoutedEventArgs e)
        {
            MainPage.DisplayPreferences.ScrollDirection = ScrollDirection.Horizontal;
            MainPage.DisplayPreferences.ViewType = ViewTypes.CoverFlow;
            MainPage.NotifyDisplayPreferencesChanged();
        }
        /// 
        /// Updates the fields.
        /// 
        private void UpdateFields()
        {
            var displayPreferences = MainPage.DisplayPreferences;
            radioCoverFlow.IsChecked = displayPreferences.ViewType == ViewTypes.CoverFlow;
            radioList.IsChecked = displayPreferences.ViewType == ViewTypes.List;
            radioPoster.IsChecked = displayPreferences.ViewType == ViewTypes.Poster;
            radioThumbstrip.IsChecked = displayPreferences.ViewType == ViewTypes.ThumbStrip;
        }
    }
}