You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.3 KiB
118 lines
3.3 KiB
using MediaBrowser.Model.DTO;
|
|
using System;
|
|
using System.Globalization;
|
|
using System.Windows;
|
|
using System.Windows.Data;
|
|
|
|
namespace MediaBrowser.UI.Converters
|
|
{
|
|
public class WatchedVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
var item = value as DtoBaseItem;
|
|
|
|
if (item == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (item.IsFolder)
|
|
{
|
|
return item.PlayedPercentage.HasValue && item.PlayedPercentage.Value == 100 ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
if (item.UserData == null)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
return item.UserData.PlayCount == 0 ? Visibility.Collapsed : Visibility.Visible;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
public class FavoriteVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
var item = value as DtoBaseItem;
|
|
|
|
if (item == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (item.UserData == null)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
return item.UserData.IsFavorite ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
public class LikeVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
var item = value as DtoBaseItem;
|
|
|
|
if (item == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (item.UserData == null)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
var userdata = item.UserData;
|
|
|
|
return userdata.Likes.HasValue && userdata.Likes.Value && !userdata.IsFavorite ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
public class DislikeVisibilityConverter : IValueConverter
|
|
{
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
var item = value as DtoBaseItem;
|
|
|
|
if (item == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (item.UserData == null)
|
|
{
|
|
return Visibility.Collapsed;
|
|
}
|
|
|
|
var userdata = item.UserData;
|
|
|
|
return userdata.Likes.HasValue && !userdata.Likes.Value && !userdata.IsFavorite ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|