Improve settings view in GUI

pull/811/head
Tyrrrz 3 years ago
parent 4599e64f0a
commit 7a9e25c1f0

@ -10,137 +10,150 @@
d:DataContext="{d:DesignInstance Type=dialogs:SettingsViewModel}" d:DataContext="{d:DesignInstance Type=dialogs:SettingsViewModel}"
Style="{DynamicResource MaterialDesignRoot}" Style="{DynamicResource MaterialDesignRoot}"
mc:Ignorable="d"> mc:Ignorable="d">
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Grid>
<StackPanel> <Grid.RowDefinitions>
<TextBlock <RowDefinition Height="Auto" />
Margin="16,16,16,8" <RowDefinition Height="*" />
FontSize="19" <RowDefinition Height="Auto" />
FontWeight="Light" </Grid.RowDefinitions>
Text="Settings" />
<!-- Auto-updates --> <TextBlock
<DockPanel Grid.Row="0"
Margin="16,8" Margin="16,16,16,8"
Background="Transparent" FontSize="19"
LastChildFill="False" FontWeight="Light"
ToolTip="Perform automatic updates on every launch"> Text="Settings" />
<TextBlock
VerticalAlignment="Center"
DockPanel.Dock="Left"
Text="Auto-updates" />
<ToggleButton
VerticalAlignment="Center"
DockPanel.Dock="Right"
IsChecked="{Binding IsAutoUpdateEnabled}" />
</DockPanel>
<!-- Dark mode --> <ScrollViewer
<DockPanel Grid.Row="1"
Margin="16,8" HorizontalScrollBarVisibility="Disabled"
Background="Transparent" VerticalScrollBarVisibility="Auto">
LastChildFill="False" <StackPanel>
ToolTip="Use darker colors in the UI"> <!-- Auto-updates -->
<TextBlock <DockPanel
VerticalAlignment="Center" Margin="16,8"
DockPanel.Dock="Left" Background="Transparent"
Text="Dark mode" /> LastChildFill="False"
<ToggleButton ToolTip="Perform automatic updates on every launch">
x:Name="DarkModeToggleButton" <TextBlock
VerticalAlignment="Center" VerticalAlignment="Center"
Checked="DarkModeToggleButton_Checked" DockPanel.Dock="Left"
DockPanel.Dock="Right" Text="Auto-updates" />
IsChecked="{Binding IsDarkModeEnabled}" <ToggleButton
Unchecked="DarkModeToggleButton_Unchecked" /> VerticalAlignment="Center"
</DockPanel> DockPanel.Dock="Right"
IsChecked="{Binding IsAutoUpdateEnabled}" />
</DockPanel>
<!-- Persist token --> <!-- Dark mode -->
<DockPanel <DockPanel
Margin="16,8" Margin="16,8"
Background="Transparent" Background="Transparent"
LastChildFill="False" LastChildFill="False"
ToolTip="Save last used token in a file so that it can be persisted between sessions"> ToolTip="Use darker colors in the UI">
<TextBlock <TextBlock
VerticalAlignment="Center" VerticalAlignment="Center"
DockPanel.Dock="Left" DockPanel.Dock="Left"
Text="Save token" /> Text="Dark mode" />
<ToggleButton <ToggleButton
VerticalAlignment="Center" x:Name="DarkModeToggleButton"
DockPanel.Dock="Right" VerticalAlignment="Center"
IsChecked="{Binding IsTokenPersisted}" /> Checked="DarkModeToggleButton_Checked"
</DockPanel> DockPanel.Dock="Right"
IsChecked="{Binding IsDarkModeEnabled}"
Unchecked="DarkModeToggleButton_Unchecked" />
</DockPanel>
<!-- Reuse media --> <!-- Persist token -->
<DockPanel <DockPanel
Margin="16,8" Margin="16,8"
Background="Transparent" Background="Transparent"
LastChildFill="False" LastChildFill="False"
ToolTip="Reuse already existing media content to skip redundant downloads"> ToolTip="Save last used token in a file so that it can be persisted between sessions">
<TextBlock <TextBlock
VerticalAlignment="Center" VerticalAlignment="Center"
DockPanel.Dock="Left" DockPanel.Dock="Left"
Text="Reuse downloaded media" /> Text="Save token" />
<ToggleButton <ToggleButton
VerticalAlignment="Center" VerticalAlignment="Center"
DockPanel.Dock="Right" DockPanel.Dock="Right"
IsChecked="{Binding ShouldReuseMedia}" /> IsChecked="{Binding IsTokenPersisted}" />
</DockPanel> </DockPanel>
<!-- Date format --> <!-- Reuse media -->
<DockPanel <DockPanel
Margin="16,8" Margin="16,8"
Background="Transparent" Background="Transparent"
LastChildFill="False" LastChildFill="False"
ToolTip="Format used when writing dates (uses .NET date formatting rules)"> ToolTip="Reuse already existing media content to skip redundant downloads">
<TextBlock <TextBlock
VerticalAlignment="Center" VerticalAlignment="Center"
DockPanel.Dock="Left" DockPanel.Dock="Left"
Text="Date format" /> Text="Reuse downloaded media" />
<TextBox <ToggleButton
Width="150" VerticalAlignment="Center"
VerticalAlignment="Center" DockPanel.Dock="Right"
DockPanel.Dock="Right" IsChecked="{Binding ShouldReuseMedia}" />
Text="{Binding DateFormat}" /> </DockPanel>
</DockPanel>
<!-- Parallel limit --> <!-- Date format -->
<DockPanel <DockPanel
Margin="16,8" Margin="16,8"
Background="Transparent" Background="Transparent"
LastChildFill="False" LastChildFill="False"
ToolTip="How many channels can be exported at the same time"> ToolTip="Format used when writing dates (uses .NET date formatting rules)">
<TextBlock
VerticalAlignment="Center"
DockPanel.Dock="Left"
Text="Parallel limit"
TextAlignment="Right" />
<StackPanel
VerticalAlignment="Center"
DockPanel.Dock="Right"
Orientation="Horizontal">
<TextBlock <TextBlock
Margin="10,0"
VerticalAlignment="Center" VerticalAlignment="Center"
FontWeight="SemiBold" DockPanel.Dock="Left"
Text="{Binding ParallelLimit}" /> Text="Date format" />
<Slider <TextBox
Width="150" Width="150"
VerticalAlignment="Center" VerticalAlignment="Center"
Maximum="10" DockPanel.Dock="Right"
Minimum="1" Text="{Binding DateFormat}" />
Style="{DynamicResource MaterialDesignThinSlider}" </DockPanel>
Value="{Binding ParallelLimit}" />
</StackPanel> <!-- Parallel limit -->
</DockPanel> <DockPanel
Margin="16,8"
Background="Transparent"
LastChildFill="False"
ToolTip="How many channels can be exported at the same time">
<TextBlock
VerticalAlignment="Center"
DockPanel.Dock="Left"
Text="Parallel limit"
TextAlignment="Right" />
<StackPanel
VerticalAlignment="Center"
DockPanel.Dock="Right"
Orientation="Horizontal">
<TextBlock
Margin="10,0"
VerticalAlignment="Center"
FontWeight="SemiBold"
Text="{Binding ParallelLimit}" />
<Slider
Width="150"
VerticalAlignment="Center"
Maximum="10"
Minimum="1"
Style="{DynamicResource MaterialDesignThinSlider}"
Value="{Binding ParallelLimit}" />
</StackPanel>
</DockPanel>
</StackPanel>
</ScrollViewer>
<!-- Save button --> <!-- Save button -->
<Button <Button
Margin="16" Grid.Row="2"
HorizontalAlignment="Stretch" Margin="16"
Command="{s:Action Close}" HorizontalAlignment="Stretch"
Content="SAVE" Command="{s:Action Close}"
IsCancel="True" Content="SAVE"
IsDefault="True" IsCancel="True"
Style="{DynamicResource MaterialDesignOutlinedButton}" /> IsDefault="True"
</StackPanel> Style="{DynamicResource MaterialDesignOutlinedButton}" />
</ScrollViewer> </Grid>
</UserControl> </UserControl>
Loading…
Cancel
Save