Files
Sharepoint-Toolbox/SharepointToolbox/Views/Tabs/SettingsView.xaml
Dev 20948e4bac feat(18-01): SettingsView ownership checkbox + EN/FR localization keys
- SettingsView.xaml: Auto-Take Ownership section with CheckBox bound to AutoTakeOwnership
- Strings.resx: settings.ownership.title/auto/description keys (EN)
- Strings.fr.resx: matching French translations
2026-04-09 14:24:31 +02:00

74 lines
4.0 KiB
XML

<UserControl x:Class="SharepointToolbox.Views.Tabs.SettingsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:SharepointToolbox.Localization">
<StackPanel Margin="16">
<!-- Language -->
<Label Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.language]}" />
<ComboBox Width="200" HorizontalAlignment="Left"
SelectedValue="{Binding SelectedLanguage}"
SelectedValuePath="Tag">
<ComboBoxItem Tag="en"
Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.lang.en]}" />
<ComboBoxItem Tag="fr"
Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.lang.fr]}" />
</ComboBox>
<Separator Margin="0,12" />
<!-- Data folder -->
<Label Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.folder]}" />
<DockPanel>
<Button DockPanel.Dock="Right"
Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.browse]}"
Command="{Binding BrowseFolderCommand}" Width="80" Margin="8,0,0,0" />
<TextBox Text="{Binding DataFolder, UpdateSourceTrigger=PropertyChanged}" />
</DockPanel>
<Separator Margin="0,12" />
<!-- MSP Logo -->
<Label Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.logo.title]}" />
<Border BorderBrush="#DDDDDD" BorderThickness="1" Padding="8" CornerRadius="4"
HorizontalAlignment="Left" MinWidth="200" MinHeight="60" Margin="0,4,0,0">
<Grid>
<Image Source="{Binding MspLogoPreview, Converter={StaticResource Base64ToImageConverter}}"
MaxHeight="80" MaxWidth="240" Stretch="Uniform" HorizontalAlignment="Left"
Visibility="{Binding MspLogoPreview, Converter={StaticResource StringToVisibilityConverter}}" />
<TextBlock Text="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.logo.nopreview]}"
VerticalAlignment="Center" HorizontalAlignment="Center"
Foreground="#999999" FontStyle="Italic">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding MspLogoPreview, Converter={StaticResource StringToVisibilityConverter}}" Value="Visible">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
</Border>
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
<Button Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.logo.browse]}"
Command="{Binding BrowseMspLogoCommand}" Width="80" Margin="0,0,8,0" />
<Button Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.logo.clear]}"
Command="{Binding ClearMspLogoCommand}" Width="80" />
</StackPanel>
<Separator Margin="0,12" />
<!-- Auto-Take Ownership -->
<Label Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.ownership.title]}" />
<CheckBox IsChecked="{Binding AutoTakeOwnership}"
Content="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.ownership.auto]}"
Margin="0,4,0,0" />
<TextBlock Text="{Binding Source={x:Static loc:TranslationSource.Instance}, Path=[settings.ownership.description]}"
Foreground="#666666" FontSize="11" TextWrapping="Wrap" Margin="20,4,0,0" />
<TextBlock Text="{Binding StatusMessage}" Foreground="#CC0000" FontSize="11" Margin="0,4,0,0"
Visibility="{Binding StatusMessage, Converter={StaticResource StringToVisibilityConverter}}" />
</StackPanel>
</UserControl>