Files
RedBookPlayer/RedBookPlayer.GUI/Views/SettingsWindow.xaml
2021-10-06 12:59:11 -07:00

221 lines
13 KiB
XML

<ReactiveWindow xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
xmlns:rxui="clr-namespace:Avalonia;assembly=Avalonia.ReactiveUI" d:DesignWidth="800"
xmlns:viewModels="clr-namespace:RedBookPlayer.GUI.ViewModels;assembly=RedBookPlayer.GUI"
d:DesignHeight="450" x:Class="RedBookPlayer.GUI.Views.SettingsWindow" Title="Settings" SizeToContent="WidthAndHeight">
<ReactiveWindow.ViewModel>
<viewModels:SettingsViewModel/>
</ReactiveWindow.ViewModel>
<StackPanel>
<TabControl>
<TabItem Header="UI Settings">
<DockPanel Margin="16">
<TextBlock DockPanel.Dock="Top" Margin="0,0,0,4">Themes</TextBlock>
<StackPanel DockPanel.Dock="Bottom">
<WrapPanel Margin="0,0,0,16">
<CheckBox IsChecked="{Binding AutoPlay}" Margin="0,0,8,0" />
<TextBlock VerticalAlignment="Center">Auto-play CD on load</TextBlock>
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<CheckBox IsChecked="{Binding IndexButtonChangeTrack}" Margin="0,0,8,0" />
<TextBlock VerticalAlignment="Center">Index navigation can change track</TextBlock>
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<CheckBox IsChecked="{Binding PlayHiddenTracks}" Margin="0,0,8,0" />
<TextBlock VerticalAlignment="Center">Play hidden tracks</TextBlock>
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Data Track Playback</TextBlock>
<ComboBox Name="DataPlayback" Margin="8,0,0,0" Width="120"
Items="{Binding DataPlaybackValues}" SelectedItem="{Binding DataPlayback, Mode=TwoWay}" />
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Session Handling</TextBlock>
<ComboBox Name="SessionHandling" Margin="8,0,0,0" Width="120"
Items="{Binding SessionHandlingValues}" SelectedItem="{Binding SessionHandling, Mode=TwoWay}" />
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Repeat Mode</TextBlock>
<ComboBox Name="RepeatMode" Margin="8,0,0,0" Width="120"
Items="{Binding RepeatModeValues}" SelectedItem="{Binding RepeatMode, Mode=TwoWay}" />
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120" VerticalAlignment="Center">Discs in Changer</TextBlock>
<NumericUpDown Name="NumberOfDiscs" Margin="8,0,0,0" Width="120"
Value="{Binding NumberOfDiscs, Mode=TwoWay}" Minimum="1" Maximum="100" />
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Disc Handling</TextBlock>
<ComboBox Name="DiscHandling" Margin="8,0,0,0" Width="120"
Items="{Binding DiscHandlingValues}" SelectedItem="{Binding DiscHandling, Mode=TwoWay}" />
</WrapPanel>
<WrapPanel Margin="0,0,0,16">
<CheckBox IsChecked="{Binding GenerateMissingTOC}" Margin="0,0,8,0"/>
<TextBlock VerticalAlignment="Center">Generate a TOC if the disc is missing one</TextBlock>
</WrapPanel>
<DockPanel Margin="0,0,0,16">
<TextBlock VerticalAlignment="Center" Margin="0,0,8,0" DockPanel.Dock="Left">Default Volume</TextBlock>
<TextBlock VerticalAlignment="Center" DockPanel.Dock="Right" Text="%" />
<TextBlock VerticalAlignment="Center" Margin="8,0,0,0" DockPanel.Dock="Right" Text="{Binding Volume}"
Name="VolumeLabel" />
<Slider Minimum="0" Maximum="100" SmallChange="1" LargeChange="10" Value="{Binding Volume, Mode=TwoWay}"
Name="VolumeSlider"/>
</DockPanel>
</StackPanel>
<ListBox Name="ThemeList" SelectionMode="Single" Margin="0,0,0,16"
Items="{Binding ThemeValues}" SelectedItem="{Binding SelectedTheme, Mode=TwoWay}"/>
</DockPanel>
</TabItem>
<TabItem Header="Keyboard Bindings">
<StackPanel Margin="16">
<!-- Load Image-->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Load Image</TextBlock>
<ComboBox Name="LoadImageKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding LoadImageKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Save Track -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Save Track(s)</TextBlock>
<ComboBox Name="SaveTrackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding SaveTrackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Toggle Play/Pause -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Toggle Play/Pause</TextBlock>
<ComboBox Name="TogglePlaybackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding TogglePlaybackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Stop Playback-->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Stop Playback</TextBlock>
<ComboBox Name="StopPlaybackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding StopPlaybackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Eject Disc-->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Eject Disc</TextBlock>
<ComboBox Name="EjectKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding EjectKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Next Disc -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Next Disc</TextBlock>
<ComboBox Name="NextDiscKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding NextDiscKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Previous Disc -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Previous Disc</TextBlock>
<ComboBox Name="PreviousDiscKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding PreviousDiscKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Next Track -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Next Track</TextBlock>
<ComboBox Name="NextTrackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding NextTrackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Previous Track -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Previous Track</TextBlock>
<ComboBox Name="PreviousTrackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding PreviousTrackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Shuffle Tracks -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Shuffle Tracks</TextBlock>
<ComboBox Name="ShuffleTracksKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding ShuffleTracksKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Next Index -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Next Index</TextBlock>
<ComboBox Name="NextIndexKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding NextIndexKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Previous Index -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Previous Index</TextBlock>
<ComboBox Name="PreviousIndexKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding PreviousIndexKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Fast Forward -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Fast-Forward</TextBlock>
<ComboBox Name="FastForwardPlaybackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding FastForwardPlaybackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Rewind -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Rewind</TextBlock>
<ComboBox Name="RewindPlaybackKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding RewindPlaybackKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Volume Up -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Volume Up</TextBlock>
<ComboBox Name="VolumeUpKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding VolumeUpKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Volume Down -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Volume Down</TextBlock>
<ComboBox Name="VolumeDownKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding VolumeDownKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- Mute Toggle -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Toggle Mute</TextBlock>
<ComboBox Name="ToggleMuteKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding ToggleMuteKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
<!-- De-Emphasis Toggle -->
<WrapPanel Margin="0,0,0,16">
<TextBlock Width="120">Toggle De-Emphasis</TextBlock>
<ComboBox Name="ToggleDeEmphasisKeyBind"
Items="{Binding KeyboardList}" SelectedItem="{Binding ToggleDeEmphasisKey, Mode=TwoWay}"
HorizontalAlignment="Right" Margin="8,0,0,0" Width="120"/>
</WrapPanel>
</StackPanel>
</TabItem>
</TabControl>
<Button Name="ApplyButton" Command="{Binding ApplySettingsCommand}">Apply</Button>
</StackPanel>
</ReactiveWindow>