[GUI] Redesign and reorganize Settings dialog.

This commit is contained in:
2025-10-27 17:08:24 +00:00
parent c38e2e918c
commit 9e8479b390

View File

@@ -41,7 +41,7 @@
d:DesignWidth="800"
d:DesignHeight="450"
Width="675"
Height="432"
Height="640"
x:Class="Aaru.Gui.Views.Dialogs.SettingsDialog"
Icon="/Assets/aaru-logo.png"
CanResize="False"
@@ -49,108 +49,113 @@
<Design.DataContext>
<dialogs:SettingsViewModel />
</Design.DataContext>
<Border Padding="15">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TabControl Grid.Row="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
SelectedIndex="{Binding TabControlSelectedIndex}">
<TabItem IsVisible="{Binding GdprVisible}">
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_GDPR}" />
</TabItem.Header>
<StackPanel Spacing="5">
<TextBlock Text="{x:Static localization:UI.GDPR_Compliance}" /> <Border Padding="10" />
<TextBlock Text="{x:Static localization:UI.GDPR_Open_Source_Disclaimer}" />
<Border Padding="10" />
<TextBlock Text="{x:Static localization:UI.GDPR_Information_sharing}" />
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_Reports}" />
</TabItem.Header>
<StackPanel Spacing="15">
<StackPanel Spacing="5">
<TextBlock Text="{x:Static localization:UI.Configure_Device_Report_information_disclaimer}" />
<CheckBox IsChecked="{Binding SaveReportsGloballyChecked}">
<TextBlock
Text="{x:Static localization:UI.Save_device_reports_in_shared_folder_of_your_computer_Q}" />
</CheckBox>
</StackPanel>
<StackPanel>
<TextBlock Text="{x:Static localization:UI.Configure_share_report_disclaimer}" />
<CheckBox IsChecked="{Binding ShareReportsChecked}">
<TextBlock Text="{x:Static localization:UI.Share_your_device_reports_with_us_Q}" />
</CheckBox>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_Statistics}" />
</TabItem.Header>
<StackPanel Spacing="15">
<TextBlock Text="{x:Static localization:UI.Statistics_disclaimer}" />
<CheckBox IsChecked="{Binding SaveStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Save_stats_about_your_Aaru_usage_Q}" />
<Grid Margin="12"
RowSpacing="8"
RowDefinitions="*,Auto">
<TabControl Grid.Row="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
SelectedIndex="{Binding TabControlSelectedIndex, Mode=TwoWay}">
<TabItem IsVisible="{Binding GdprVisible, Mode=TwoWay}">
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_GDPR}" />
</TabItem.Header>
<StackPanel Spacing="8"
Margin="8">
<TextBlock Text="{x:Static localization:UI.GDPR_Compliance}"
TextWrapping="Wrap" />
<Border Padding="10" />
<TextBlock Text="{x:Static localization:UI.GDPR_Open_Source_Disclaimer}"
TextWrapping="Wrap" />
<Border Padding="10" />
<TextBlock Text="{x:Static localization:UI.GDPR_Information_sharing}"
TextWrapping="Wrap" />
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_Reports}" />
</TabItem.Header>
<StackPanel Spacing="8"
Margin="8">
<StackPanel Spacing="8">
<TextBlock Text="{x:Static localization:UI.Configure_Device_Report_information_disclaimer}"
TextWrapping="Wrap" />
<CheckBox IsChecked="{Binding SaveReportsGloballyChecked, Mode=TwoWay}">
<TextBlock
Text="{x:Static localization:UI.Save_device_reports_in_shared_folder_of_your_computer_Q}" />
</CheckBox>
<StackPanel IsVisible="{Binding SaveStatsChecked}"
Spacing="5">
<CheckBox IsChecked="{Binding ShareStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Share_your_stats_anonymously_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding CommandStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_command_usage_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding DeviceStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_found_devices_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding FilesystemStatsChecked}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_filesystems_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding FilesystemStatsChecked}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_file_filters_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaImageStatsChecked}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_media_image_formats_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaScanStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_scanned_media_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding PartitionStatsChecked}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_partitioning_schemes_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaStatsChecked}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_media_types_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding VerifyStatsChecked}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_media_image_verifications_Q}" />
</CheckBox>
</StackPanel>
</StackPanel>
</TabItem>
</TabControl>
<StackPanel Grid.Row="1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Horizontal"
Spacing="5">
<Button Command="{Binding SaveCommand}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save}" />
</Button>
<Button Command="{Binding CancelCommand}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Cancel}" />
</Button>
</StackPanel>
</Grid>
</Border>
<StackPanel Spacing="8">
<TextBlock Text="{x:Static localization:UI.Configure_share_report_disclaimer}"
TextWrapping="Wrap" />
<CheckBox IsChecked="{Binding ShareReportsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Share_your_device_reports_with_us_Q}" />
</CheckBox>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem>
<TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_Statistics}" />
</TabItem.Header>
<StackPanel Spacing="8"
Margin="8">
<TextBlock Text="{x:Static localization:UI.Statistics_disclaimer}"
TextWrapping="Wrap" />
<CheckBox IsChecked="{Binding SaveStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Save_stats_about_your_Aaru_usage_Q}" />
</CheckBox>
<StackPanel IsVisible="{Binding SaveStatsChecked, Mode=OneWay}"
Spacing="8">
<CheckBox IsChecked="{Binding ShareStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Share_your_stats_anonymously_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding CommandStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_command_usage_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding DeviceStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_found_devices_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding FilesystemStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_found_filesystems_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding FilesystemStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_found_file_filters_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaImageStatsChecked, Mode=TwoWay}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_media_image_formats_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaScanStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_scanned_media_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding PartitionStatsChecked, Mode=TwoWay}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_found_partitioning_schemes_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding MediaStatsChecked, Mode=TwoWay}">
<TextBlock Text="{x:Static localization:UI.Gather_statistics_about_media_types_Q}" />
</CheckBox>
<CheckBox IsChecked="{Binding VerifyStatsChecked, Mode=TwoWay}">
<TextBlock
Text="{x:Static localization:UI.Gather_statistics_about_media_image_verifications_Q}" />
</CheckBox>
</StackPanel>
</StackPanel>
</TabItem>
</TabControl>
<StackPanel Grid.Row="1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Horizontal"
Spacing="8">
<Button Command="{Binding SaveCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save}" />
</Button>
<Button Command="{Binding CancelCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Cancel}" />
</Button>
</StackPanel>
</Grid>
</Window>