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