Added volume control. Updated styling.

This commit is contained in:
2026-08-13 00:29:35 -04:00
parent 321db65154
commit c8ce4ca7f0
9 changed files with 118 additions and 4 deletions

View File

@@ -167,6 +167,31 @@
</Button>
</StackPanel>
</Grid>
<!-- Volume Slider -->
<Grid Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
<StackPanel Orientation="Horizontal" Spacing="8" VerticalAlignment="Center">
<Button Style="{StaticResource FlatButton}" BorderBrush="{StaticResource DarkGradientBrush}" Command="{Binding ToggleMuteCommand}">
<Viewbox Width="24" Height="24">
<Canvas Width="512" Height="512">
<Path Stretch="None" Fill="{Binding VolumeState, Converter={StaticResource VolumeStateToFill}, ConverterParameter={StaticResource DarkGradientBrush}}" Stroke="{StaticResource DarkGradientBrush}" StrokeThickness="32" StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Data="{Binding VolumeState, Converter={StaticResource VolumeStateToIcon}}"></Path>
</Canvas>
</Viewbox>
</Button>
<Slider Width="200" Minimum="0.0" Maximum="1.0" StepFrequency="0.01" VerticalAlignment="Center" Value="{Binding Volume, Mode=TwoWay}">
<Slider.Resources>
<!-- Thumb (the "ball") -->
<StaticResource x:Key="SliderThumbBackground" ResourceKey="DarkGradientBrush"/>
<StaticResource x:Key="SliderThumbBackgroundPointerOver" ResourceKey="DarkGradientBrush"/>
<StaticResource x:Key="SliderThumbBackgroundPressed" ResourceKey="DarkGradientBrush"/>
<!-- Filled portion of the track (defaults to system accent on hover/press) -->
<StaticResource x:Key="SliderTrackValueFill" ResourceKey="SliderGradientBrush"/>
<StaticResource x:Key="SliderTrackValueFillPointerOver" ResourceKey="SliderGradientBrush"/>
<StaticResource x:Key="SliderTrackValueFillPressed" ResourceKey="SliderGradientBrush"/>
</Slider.Resources>
</Slider>
</StackPanel>
</Grid>
</Grid>
</UserControl>

View File

@@ -28,6 +28,11 @@
<SolidColorBrush x:Key="SongItemFooterBrush" Color="#888"/>
<SolidColorBrush x:Key="SongItemFooterBrushHighlighted" Color="#aaA2D2F6"/>
<LinearGradientBrush x:Key="DarkBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#101114" Offset="0"/>
<GradientStop Color="#090B0F" Offset="1"/>
</LinearGradientBrush>
<!-- Image Border -->
<Style x:Key="PlaylistSongImageBorder" TargetType="Border">
<Setter Property="Width" Value="60"/> <!-- as 75 -->
@@ -71,10 +76,11 @@
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Style="{StaticResource PlaylistSongImageBorder}">
<Border Grid.Column="0" Style="{StaticResource PlaylistSongImageBorder}" BorderBrush="#2D2930" BorderThickness="1">
<Grid>
<Image Loaded="Image_Loaded" Unloaded="Image_Unloaded"></Image>
<Canvas Background="#19000000"></Canvas>
<!--<Canvas Background="#30000000"></Canvas>-->
</Grid>
</Border>
<Grid Grid.Column="1" Margin="10 0 0 0" VerticalAlignment="Center">
@@ -103,7 +109,7 @@
</Border>
</DataTemplate>
</UserControl.Resources>
<Grid>
<Grid Background="{StaticResource DarkBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>

View File

@@ -20,6 +20,11 @@
<SolidColorBrush x:Key="PlaylistItemTitleBrush" Color="#dddddd"/>
<SolidColorBrush x:Key="PlaylistItemSubtitleBrush" Color="#aaaaaa"/>
<LinearGradientBrush x:Key="DarkBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#161719" Offset="0"/>
<GradientStop Color="#0B0D0F" Offset="1"/>
</LinearGradientBrush>
<!-- Playlist Icon Path -->
<Style x:Key="PlaylistIconPath" TargetType="PathIcon">
<Setter Property="Foreground" Value="{StaticResource PlaylistItemIconBrush}"/>
@@ -75,7 +80,7 @@
</Grid>
</DataTemplate>
</UserControl.Resources>
<Grid Margin="10">
<Grid Background="{StaticResource DarkBackgroundBrush}" BorderBrush="#3C342F" BorderThickness="1 0 1 0">
<ListView
Name="PlaylistsListView"
ItemsSource="{Binding Playlists, Mode=OneWay}"