161 lines
11 KiB
XML
161 lines
11 KiB
XML
<Window x:Class="unison.Settings"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
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"
|
|
xmlns:emoji="clr-namespace:Emoji.Wpf;assembly=Emoji.Wpf"
|
|
xmlns:local="clr-namespace:unison"
|
|
mc:Ignorable="d"
|
|
Closing="Window_Closing" Title="Settings" ResizeMode="CanMinimize" Icon="/images/unison.ico" WindowStyle="ToolWindow" SizeToContent="WidthAndHeight">
|
|
<Grid>
|
|
<StackPanel Orientation="Vertical">
|
|
<TabControl Margin="10">
|
|
<TabItem Header="MPD">
|
|
<DockPanel Margin="8">
|
|
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<emoji:TextBlock Text="📶 Connection"/>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<Grid VerticalAlignment="Top">
|
|
<StackPanel>
|
|
<StackPanel>
|
|
<TextBlock Text="Host" TextWrapping="Wrap" Margin="5,0,0,0"/>
|
|
<TextBox x:Name="MpdHost" TextWrapping="Wrap" Width="250" Margin="10,2,0,0"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,5,0,0">
|
|
<TextBlock Text="Port" TextWrapping="Wrap" Margin="5,0,0,0"/>
|
|
<TextBox x:Name="MpdPort" MaxLength="5" PreviewTextInput="NumberValidationTextBox" TextWrapping="Wrap" Width="250" Margin="10,2,0,0"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,5,0,0">
|
|
<TextBlock Text="Password" TextWrapping="Wrap" Margin="5,0,0,0"/>
|
|
<TextBox x:Name="MpdPassword" TextWrapping="Wrap" Width="250" Margin="10,2,0,0"/>
|
|
</StackPanel>
|
|
<Button Content="Connect" Margin="0,10,0,0" Width="120" Click="MPDConnect_Clicked"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Snapcast">
|
|
<DockPanel Margin="8">
|
|
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<emoji:TextBlock Text="🔊 Snapcast"/>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<Grid VerticalAlignment="Top">
|
|
<StackPanel>
|
|
<StackPanel>
|
|
<CheckBox x:Name="SnapcastStartup" Margin="5, 5, 0, 0">
|
|
<TextBlock Text="Launch at startup" TextWrapping="Wrap"/>
|
|
</CheckBox>
|
|
<TextBlock Text="Port" TextWrapping="Wrap" Margin="5,5,0,0"/>
|
|
<TextBox x:Name="SnapcastPort" MaxLength="5" PreviewTextInput="NumberValidationTextBox" TextWrapping="Wrap" Width="250" Margin="10,2,5,0" HorizontalAlignment="Left"/>
|
|
<TextBlock Text="Executable path" TextWrapping="Wrap" Margin="5,5,0,0"/>
|
|
<TextBox x:Name="SnapcastPath" TextWrapping="Wrap" Width="250" Margin="10,2,5,0" HorizontalAlignment="Left"/>
|
|
<TextBlock TextWrapping="Wrap" Margin="5,5,0,0" TextAlignment="Left" Width="250">
|
|
You can change to your own locally installed version of the Snapcast client with an <Run FontStyle="Italic" FontWeight="DemiBold">absolute</Run> path.
|
|
</TextBlock>
|
|
<Button Content="Reset" Margin="0,10,0,0" Width="120" Click="SnapcastReset_Clicked"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Shortcuts">
|
|
<DockPanel Margin="8">
|
|
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">
|
|
<GroupBox.Header>
|
|
<StackPanel Orientation="Horizontal">
|
|
<emoji:TextBlock Text="⌨️ Shortcuts"/>
|
|
</StackPanel>
|
|
</GroupBox.Header>
|
|
<Grid>
|
|
<Grid MinWidth="220">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Next track" TextWrapping="Wrap" Grid.Column="0" Grid.Row="0" Margin="1"/>
|
|
<TextBlock Text="Previous track" TextWrapping="Wrap" Grid.Column="0" Grid.Row="1" Margin="1"/>
|
|
<TextBlock Text="Play / Pause" TextWrapping="Wrap" Grid.Column="0" Grid.Row="2" Margin="1"/>
|
|
<TextBlock Text="Volume up" TextWrapping="Wrap" Grid.Column="0" Grid.Row="3" Margin="1"/>
|
|
<TextBlock Text="Volume down" TextWrapping="Wrap" Grid.Column="0" Grid.Row="4" Margin="1"/>
|
|
<TextBlock Text="Show window" TextWrapping="Wrap" Grid.Column="0" Grid.Row="5" Margin="1"/>
|
|
|
|
<TextBlock Text="ctrl + media_next" TextWrapping="Wrap" Grid.Column="1" Grid.Row="0" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
<TextBlock Text="ctrl + media_prev" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
<TextBlock Text="ctrl + media_play" TextWrapping="Wrap" Grid.Column="1" Grid.Row="2" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
<TextBlock Text="ctrl + volume_up" TextWrapping="Wrap" Grid.Column="1" Grid.Row="3" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
<TextBlock Text="ctrl + volume_down" TextWrapping="Wrap" Grid.Column="1" Grid.Row="4" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
<TextBlock Text="ctrl + alt + enter" TextWrapping="Wrap" Grid.Column="1" Grid.Row="5" Margin="1" HorizontalAlignment="Right" FontWeight="Bold"/>
|
|
</Grid>
|
|
</Grid>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="About" Height="20" VerticalAlignment="Bottom">
|
|
<DockPanel Margin="8">
|
|
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">
|
|
<GroupBox.Header>
|
|
<emoji:TextBlock Text="🎶 unison"/>
|
|
</GroupBox.Header>
|
|
<Grid VerticalAlignment="Top">
|
|
<StackPanel Orientation="Vertical">
|
|
<TextBlock TextWrapping="Wrap" Margin="0,0,0,10" VerticalAlignment="Top">
|
|
<Run Text="Version:"/>
|
|
<Run Text="{Binding GetVersion, Mode = OneWay}"/>
|
|
</TextBlock>
|
|
<TextBlock TextWrapping="Wrap" VerticalAlignment="Top">
|
|
unison is free software. It is built with the following technologies:<LineBreak/>
|
|
※ <Hyperlink NavigateUri="https://torum.github.io/MPDCtrl/" RequestNavigate="Hyperlink_RequestNavigate">MPDCtrl</Hyperlink><LineBreak/>
|
|
※ <Hyperlink NavigateUri="https://github.com/hardcodet/wpf-notifyicon" RequestNavigate="Hyperlink_RequestNavigate">wpf-notifyicon</Hyperlink><LineBreak/>
|
|
※ <Hyperlink NavigateUri="https://github.com/samhocevar/emoji.wpf" RequestNavigate="Hyperlink_RequestNavigate">Emoji.WPF</Hyperlink>
|
|
</TextBlock>
|
|
<TextBlock Margin="0,10,0,0">
|
|
Source code freely available
|
|
<Hyperlink NavigateUri="https://git.n700.ovh/keb/unison" RequestNavigate="Hyperlink_RequestNavigate">
|
|
here
|
|
</Hyperlink>.
|
|
</TextBlock>
|
|
<TextBlock Margin="0,10,0,0">
|
|
Made by
|
|
<Hyperlink NavigateUri="https://marchal.dev" RequestNavigate="Hyperlink_RequestNavigate">
|
|
Théo Marchal
|
|
</Hyperlink>.
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0" Margin="0,10,0,0">
|
|
<GroupBox.Header>
|
|
<emoji:TextBlock Text="📝 License"/>
|
|
</GroupBox.Header>
|
|
<Grid VerticalAlignment="Top">
|
|
<TextBlock Text="{Binding GetLicense, Mode = OneWay}" TextWrapping="Wrap" Width="500" TextAlignment="Justify" />
|
|
</Grid>
|
|
</GroupBox>
|
|
</DockPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Window> |