91 lines
4.6 KiB
XML
91 lines
4.6 KiB
XML
<Window x:Class="ytLive.CameraPickerDialog"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="Add Webcam" Height="340" Width="460"
|
|
Icon="/Assets/llama-logo-icon.png"
|
|
WindowStartupLocation="CenterOwner" ResizeMode="NoResize"
|
|
ShowInTaskbar="False" Background="#1a1a2e">
|
|
|
|
<Window.Resources>
|
|
<ResourceDictionary>
|
|
<BooleanToVisibilityConverter x:Key="BoolToVis"/>
|
|
|
|
<Style x:Key="CandidateItem" TargetType="ListBoxItem">
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ListBoxItem">
|
|
<Border x:Name="Bd" Background="Transparent" CornerRadius="4" Padding="6,5" Margin="0,2">
|
|
<ContentPresenter/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Background" Value="#1c2a52"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Bd" Property="Background" Value="#2a2450"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</Window.Resources>
|
|
|
|
<Grid Margin="24">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Row="0" Text="Add Webcam" FontSize="18" FontWeight="Bold"
|
|
Foreground="#e0e0e0" Margin="0,0,0,14"/>
|
|
|
|
<TextBlock Grid.Row="1" Text="Pick the camera to add to your stream."
|
|
Foreground="#a0a0b0" FontSize="13" TextWrapping="Wrap" Margin="0,0,0,12"/>
|
|
|
|
<Grid Grid.Row="2">
|
|
<ListBox Background="Transparent" BorderThickness="0"
|
|
ItemContainerStyle="{StaticResource CandidateItem}"
|
|
ItemsSource="{Binding Cameras}"
|
|
SelectedItem="{Binding SelectedCamera, Mode=TwoWay}"
|
|
Visibility="{Binding HasCameras, Converter={StaticResource BoolToVis}}">
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="📷" FontSize="15" VerticalAlignment="Center" Margin="0,0,10,0"/>
|
|
<TextBlock Text="{Binding Name}" Foreground="#e0e0e0" FontSize="13"
|
|
VerticalAlignment="Center" TextTrimming="CharacterEllipsis"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
|
|
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
|
|
Visibility="{Binding IsLoading, Converter={StaticResource BoolToVis}}">
|
|
<TextBlock Text="Searching for cameras…" Foreground="#a0a0b0" FontSize="13"/>
|
|
</StackPanel>
|
|
|
|
<StackPanel VerticalAlignment="Center"
|
|
Visibility="{Binding NoCameras, Converter={StaticResource BoolToVis}}">
|
|
<TextBlock Text="No cameras found" Foreground="#e0e0e0" FontSize="15"
|
|
FontWeight="SemiBold" HorizontalAlignment="Center"/>
|
|
<TextBlock Text="Check that a webcam is connected and that Windows camera access is enabled."
|
|
Foreground="#a0a0b0" FontSize="13" TextWrapping="Wrap" MaxWidth="360"
|
|
TextAlignment="Center" HorizontalAlignment="Center" Margin="0,8,0,0"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0">
|
|
<Button Content="Cancel" Command="{Binding CancelCommand}"
|
|
Style="{StaticResource YtButtonSecondary}" Margin="0,0,8,0"/>
|
|
<Button Content="Use Selected" Command="{Binding UseSelectedCommand}"
|
|
Style="{StaticResource YtButton}" MinWidth="110"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Window>
|