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.
jellyfin/MediaBrowser.UI/Resources/AppResources.xaml

383 lines
26 KiB

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:converters="clr-namespace:MediaBrowser.UI.Converters"
xmlns:Controls="clr-namespace:MediaBrowser.UI.Controls"
xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls">
<!--Default font for text. Themes should override these as needed-->
<FontFamily x:Key="DefaultFontFamily">Segoe UI, Lucida Sans Unicode, Verdana</FontFamily>
<FontWeight x:Key="DefaultFontWeight">Normal</FontWeight>
<Brush x:Key="DefaultForeground">#333</Brush>
<System:Double x:Key="DefaultFontSize">30</System:Double>
<!--Default font for small text. Themes should override these as needed-->
<FontFamily x:Key="SmallFontFamily">Segoe UI, Lucida Sans Unicode, Verdana</FontFamily>
<FontWeight x:Key="SmallFontWeight">Normal</FontWeight>
<Brush x:Key="SmallForeground">#333</Brush>
<System:Double x:Key="SmallFontSize">20</System:Double>
<!--Default font for h1 headers. Themes should override these as needed-->
<System:Double x:Key="Heading1FontSize">68</System:Double>
<FontFamily x:Key="Heading1FontFamily">Segoe UI, Lucida Sans Unicode, Verdana</FontFamily>
<FontWeight x:Key="Heading1FontWeight">Thin</FontWeight>
<Brush x:Key="Heading1Foreground">#333</Brush>
<!--Default font for h2 headers. Themes should override these as needed-->
<System:Double x:Key="Heading2FontSize">42</System:Double>
<FontFamily x:Key="Heading2FontFamily">Segoe UI, Lucida Sans Unicode, Verdana</FontFamily>
<FontWeight x:Key="Heading2FontWeight">Normal</FontWeight>
<Brush x:Key="Heading2Foreground">#333</Brush>
<Brush x:Key="SelectedItemHighlightColor">SkyBlue</Brush>
<!--Define all the standard converters here in one place-->
<converters:DateTimeToStringConverter x:Key="DateTimeToStringConverter"></converters:DateTimeToStringConverter>
<converters:UserImageConverter x:Key="UserImageConverter"></converters:UserImageConverter>
<converters:WeatherTemperatureConverter x:Key="WeatherTemperatureConverter"></converters:WeatherTemperatureConverter>
<converters:LastSeenTextConverter x:Key="LastSeenTextConverter"></converters:LastSeenTextConverter>
<converters:WeatherVisibilityConverter x:Key="WeatherVisibilityConverter"></converters:WeatherVisibilityConverter>
<converters:CurrentUserVisibilityConverter x:Key="CurrentUserVisibilityConverter"></converters:CurrentUserVisibilityConverter>
<converters:BaseItemImageVisibilityConverter x:Key="BaseItemImageVisibilityConverter"></converters:BaseItemImageVisibilityConverter>
<converters:WatchedVisibilityConverter x:Key="WatchedVisibilityConverter"></converters:WatchedVisibilityConverter>
<converters:MetroTileBackgroundConverter x:Key="MetroTileBackgroundConverter"></converters:MetroTileBackgroundConverter>
<converters:FavoriteVisibilityConverter x:Key="FavoriteVisibilityConverter"></converters:FavoriteVisibilityConverter>
<converters:LikeVisibilityConverter x:Key="LikeVisibilityConverter"></converters:LikeVisibilityConverter>
<converters:DislikeVisibilityConverter x:Key="DislikeVisibilityConverter"></converters:DislikeVisibilityConverter>
<!--Default Frame style. -->
<Style TargetType="Frame">
<Setter Property="NavigationUIVisibility" Value="Hidden"/>
<Setter Property="KeyboardNavigation.IsTabStop" Value="false"/>
</Style>
<!--Default Frame style. -->
<Style TargetType="controls:TransitionFrame">
<Setter Property="NavigationUIVisibility" Value="Hidden"/>
<Setter Property="KeyboardNavigation.IsTabStop" Value="false"/>
</Style>
<!--Default Frame style. -->
<Style TargetType="ContentControl">
<Setter Property="KeyboardNavigation.IsTabStop" Value="false"/>
</Style>
<!--Default TextBlock style. -->
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="{DynamicResource DefaultFontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource DefaultFontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource DefaultFontWeight}"/>
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!--Default TextBlock style. -->
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="FontSize" Value="{DynamicResource DefaultFontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource DefaultFontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource DefaultFontWeight}"/>
<Setter Property="Foreground" Value="{DynamicResource DefaultForeground}"/>
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!--Default TextBlock style. -->
<Style TargetType="TextBlock" x:Key="SmallTextBlockStyle">
<Setter Property="FontSize" Value="{DynamicResource SmallFontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource SmallFontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource SmallFontWeight}"/>
<Setter Property="Foreground" Value="{DynamicResource SmallForeground}"/>
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!--Default TextBlock style. -->
<Style TargetType="TextBlock" x:Key="Heading1TextBlockStyle">
<Setter Property="FontSize" Value="{DynamicResource Heading1FontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource Heading1FontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource Heading1FontWeight}"/>
<Setter Property="Foreground" Value="{DynamicResource Heading1Foreground}"/>
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!--Default TextBlock style. -->
<Style TargetType="TextBlock" x:Key="Heading2TextBlockStyle">
<Setter Property="FontSize" Value="{DynamicResource Heading2FontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource Heading2FontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource Heading2FontWeight}"/>
<Setter Property="Foreground" Value="{DynamicResource Heading2Foreground}"/>
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!--Default Button style. -->
<Style TargetType="Button">
<Setter Property="FontSize" Value="{DynamicResource DefaultFontSize}"/>
<Setter Property="FontFamily" Value="{DynamicResource DefaultFontFamily}"/>
<Setter Property="FontWeight" Value="{DynamicResource DefaultFontWeight}"/>
<Setter Property="Foreground" Value="{DynamicResource DefaultForeground}"/>
</Style>
<!--Default style for buttons that have images. -->
<Style TargetType="Button" x:Key="ImageButton" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="Border" Background="{TemplateBinding Background}">
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter TargetName="Border" Property="Background" Value="Gray" />
</Trigger>
<Trigger Property="IsFocused" Value="true">
<Setter TargetName="Border" Property="Background" Value="Gray" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border" Property="Background" Value="Gray" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="Background" Value="Gray" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border" Property="Opacity" Value=".2" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--Default ListBox style. -->
<Style TargetType="controls:ExtendedListBox" x:Key="ListBoxStyle">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
<Setter Property="KeyboardNavigation.AcceptsReturn" Value="True"/>
<Setter Property="KeyboardNavigation.DirectionalNavigation" Value="Continue"/>
<Setter Property="VirtualizingPanel.CacheLength" Value="2,2"/>
<Setter Property="VirtualizingPanel.CacheLengthUnit" Value="Page"/>
<Setter Property="VirtualizingPanel.IsVirtualizing" Value="True"/>
<Setter Property="VirtualizingPanel.VirtualizationMode" Value="Recycling"/>
<Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel"/>
<Setter Property="IsSynchronizedWithCurrentItem" Value="True"/>
<Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel"/>
<Setter Property="SelectionMode" Value="Single"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
</Style>
<!--MB Logo, black text. -->
<Style TargetType="Image" x:Key="MBLogoImageBlack">
<Setter Property="Source" Value="Images/mblogoblackfull.png"/>
<Setter Property="Stretch" Value="Uniform"/>
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality"/>
<Setter Property="Height" Value="100"/>
</Style>
<!--MB Logo, white text. -->
<Style TargetType="Image" x:Key="MBLogoImageWhite">
<Setter Property="Source" Value="Images/mblogowhitefull.png"/>
<Setter Property="Stretch" Value="Uniform"/>
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality"/>
<Setter Property="Height" Value="100"/>
</Style>
<!--Defines the styles for ListBoxItems. Themes should override this if they choose. -->
<!--Or, they may find it easier to just override SelectedItemHighlightColor to change the glow color. -->
<Style x:Key="ListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Padding" Value="0" />
<Setter Property="Margin" Value="0" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Background" Value="Transparent"/>
<Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd" SnapsToDevicePixels="true" RenderTransformOrigin="0.5,0.5" Padding="3">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected"/>
<VisualState x:Name="Selected">
</VisualState>
<VisualState x:Name="SelectedUnfocused"/>
</VisualStateGroup>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.3"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver">
</VisualState>
<VisualState x:Name="Disabled"/>
<VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="1.07">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="1.07">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(DropShadowEffect.Opacity)" Storyboard.TargetName="BdDropShadow">
<EasingDoubleKeyFrame KeyTime="0" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="ContentGrid">
<Border x:Name="BdDropShadow" Margin="-15" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{DynamicResource SelectedItemHighlightColor}" SnapsToDevicePixels="true" CornerRadius="10" Visibility="Hidden">
<Border.Effect>
<BlurEffect Radius="10" KernelType="Gaussian"></BlurEffect>
</Border.Effect>
</Border>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Visibility" TargetName="BdDropShadow" Value="Visible"/>
<Setter Property="Panel.ZIndex" Value="5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="IsSelected" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
<!--Provides styling for a button that matches list box items. Themes should override this if they choose. -->
<!--Or, they may find it easier to just override SelectedItemHighlightColor to change the glow color. -->
<Style x:Key="BaseItemButtonStyle" TargetType="{x:Type Button}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="Bd" SnapsToDevicePixels="true" RenderTransformOrigin="0.5,0.5" Padding="3">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.25"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver">
</VisualState>
<VisualState x:Name="Disabled"/>
<VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="1.07">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="1.07">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="Bd">
<EasingDoubleKeyFrame KeyTime="0" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(DropShadowEffect.Opacity)" Storyboard.TargetName="BdDropShadow">
<EasingDoubleKeyFrame KeyTime="0" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="ContentGrid">
<Border x:Name="BdDropShadow" Margin="-15" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{DynamicResource SelectedItemHighlightColor}" SnapsToDevicePixels="true" CornerRadius="10" Visibility="Hidden">
<Border.Effect>
<BlurEffect Radius="10" KernelType="Gaussian"></BlurEffect>
</Border.Effect>
</Border>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="true">
<Setter Property="Visibility" TargetName="BdDropShadow" Value="Visible"/>
<Setter Property="Panel.ZIndex" Value="5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>