diff --git a/src/UniGetUI/Controls/SettingsWidgets/ButtonCard.cs b/src/UniGetUI/Controls/SettingsWidgets/ButtonCard.cs index c84139a7ec..55cfbb012d 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/ButtonCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/ButtonCard.cs @@ -16,9 +16,16 @@ public string ButtonText set => _button.Content = CoreTools.Translate(value); } + private string _text = ""; public string Text { - set => Header = CoreTools.Translate(value); + set + { + _text = CoreTools.Translate(value); + Header = _text; + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + } } public new event EventHandler? Click; @@ -31,6 +38,12 @@ public ButtonCard() Click?.Invoke(this, EventArgs.Empty); }; Content = _button; + + Loaded += (s, e) => + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + }; } } } diff --git a/src/UniGetUI/Controls/SettingsWidgets/CheckboxButtonCard.cs b/src/UniGetUI/Controls/SettingsWidgets/CheckboxButtonCard.cs index 666be3a8a4..d9357dc029 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/CheckboxButtonCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/CheckboxButtonCard.cs @@ -43,7 +43,13 @@ public bool Checked public string CheckboxText { - set => _textblock.Text = CoreTools.Translate(value); + set + { + _textblock.Text = CoreTools.Translate(value); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(_checkbox, _textblock.Text); + } } public string ButtonText @@ -93,6 +99,12 @@ public CheckboxButtonCard() }; Button.Click += (s, e) => Click?.Invoke(s, e); + + Loaded += (s, e) => + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + }; } } } diff --git a/src/UniGetUI/Controls/SettingsWidgets/CheckboxCard.cs b/src/UniGetUI/Controls/SettingsWidgets/CheckboxCard.cs index e002555a72..5384a51502 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/CheckboxCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/CheckboxCard.cs @@ -39,7 +39,13 @@ public bool Checked public string Text { - set => _textblock.Text = CoreTools.Translate(value); + set + { + _textblock.Text = CoreTools.Translate(value); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(_checkbox, _textblock.Text); + } } public string WarningText @@ -95,6 +101,12 @@ public CheckboxCard() _checkbox.HorizontalAlignment = HorizontalAlignment.Stretch; _checkbox.Toggled += _checkbox_Toggled; + + Loaded += (s, e) => + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + }; } protected virtual void _checkbox_Toggled(object sender, RoutedEventArgs e) diff --git a/src/UniGetUI/Controls/SettingsWidgets/SecureCheckboxCard.cs b/src/UniGetUI/Controls/SettingsWidgets/SecureCheckboxCard.cs index b46597b9f3..ce0b7bc75f 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/SecureCheckboxCard.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/SecureCheckboxCard.cs @@ -53,7 +53,13 @@ public bool Checked public string Text { - set => _textblock.Text = CoreTools.Translate(value); + set + { + _textblock.Text = CoreTools.Translate(value); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(_checkbox, _textblock.Text); + } } public string WarningText @@ -112,6 +118,12 @@ public SecureCheckboxCard() _checkbox.HorizontalAlignment = HorizontalAlignment.Stretch; _checkbox.Toggled += (s, e) => _ = _checkbox_Toggled(); + + Loaded += (s, e) => + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textblock.Text); + Microsoft.UI.Xaml.Automation.AutomationProperties.SetLocalizedControlType(this, "grouping"); + }; } protected virtual async Task _checkbox_Toggled() diff --git a/src/UniGetUI/Controls/SettingsWidgets/SettingsPageButton.cs b/src/UniGetUI/Controls/SettingsWidgets/SettingsPageButton.cs index 78e6f892ae..9280c59168 100644 --- a/src/UniGetUI/Controls/SettingsWidgets/SettingsPageButton.cs +++ b/src/UniGetUI/Controls/SettingsWidgets/SettingsPageButton.cs @@ -10,14 +10,26 @@ namespace UniGetUI.Interface.Widgets { public partial class SettingsPageButton : SettingsCard { + private string _text = ""; public string Text { - set => Header = CoreTools.Translate(value); + set + { + _text = CoreTools.Translate(value); + Header = _text; + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _text); + } } + private string _underText = ""; public string UnderText { - set => Description = CoreTools.Translate(value); + set + { + _underText = CoreTools.Translate(value); + Description = _underText; + Microsoft.UI.Xaml.Automation.AutomationProperties.SetHelpText(this, _underText); + } } public IconType Icon @@ -30,6 +42,14 @@ public SettingsPageButton() CornerRadius = new CornerRadius(8); HorizontalAlignment = HorizontalAlignment.Stretch; IsClickEnabled = true; + + Loaded += (s, e) => + { + if (!string.IsNullOrEmpty(_text)) + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _text); + if (!string.IsNullOrEmpty(_underText)) + Microsoft.UI.Xaml.Automation.AutomationProperties.SetHelpText(this, _underText); + }; } } } diff --git a/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs b/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs index 6407db09ee..d71d3706f4 100644 --- a/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs +++ b/src/UniGetUI/Controls/TranslatedTextBlock.xaml.cs @@ -43,6 +43,13 @@ public TextWrapping WrappingMode public TranslatedTextBlock() { InitializeComponent(); + Loaded += (s, e) => + { + if (Parent is Microsoft.UI.Xaml.Controls.Primitives.ButtonBase parentBtn && string.IsNullOrEmpty(Microsoft.UI.Xaml.Automation.AutomationProperties.GetName(parentBtn))) + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(parentBtn, _textBlock.Text); + } + }; } public void ApplyText(string? text) @@ -51,7 +58,13 @@ public void ApplyText(string? text) { if (text is not null) __text = CoreTools.Translate(text); - _textBlock?.Text = __prefix + __text + __suffix; + _textBlock.Text = __prefix + __text + __suffix; + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(this, _textBlock.Text); + + if (IsLoaded && Parent is Microsoft.UI.Xaml.Controls.Primitives.ButtonBase parentBtn) + { + Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(parentBtn, _textBlock.Text); + } } catch (Exception ex) { diff --git a/src/UniGetUI/Pages/SettingsPages/GeneralPages/General.xaml b/src/UniGetUI/Pages/SettingsPages/GeneralPages/General.xaml index a293ccf062..62e8cc5e16 100644 --- a/src/UniGetUI/Pages/SettingsPages/GeneralPages/General.xaml +++ b/src/UniGetUI/Pages/SettingsPages/GeneralPages/General.xaml @@ -41,6 +41,7 @@ @@ -112,27 +113,31 @@ Text="Reset UniGetUI" /> - + + - - - - - - - - - - - + + + + + + + + + + + +