mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
[TextExtractor]Minor UI/Accessibility fixes in the overlay UI (#36356)
minor UI and accessibility fixes
This commit is contained in:
committed by
GitHub
parent
2ba5fb75bc
commit
1eec678276
@@ -95,7 +95,7 @@
|
|||||||
<Border
|
<Border
|
||||||
x:Name="TopButtonsStackPanel"
|
x:Name="TopButtonsStackPanel"
|
||||||
Margin="12"
|
Margin="12"
|
||||||
Padding="4,8,12,8"
|
Padding="4,8,4,8"
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Top"
|
VerticalAlignment="Top"
|
||||||
d:Visibility="Visible"
|
d:Visibility="Visible"
|
||||||
@@ -116,7 +116,6 @@
|
|||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
<ComboBox
|
<ComboBox
|
||||||
x:Name="LanguagesComboBox"
|
x:Name="LanguagesComboBox"
|
||||||
Height="32"
|
|
||||||
Margin="4,0"
|
Margin="4,0"
|
||||||
AutomationProperties.Name="{x:Static p:Resources.SelectedLang}"
|
AutomationProperties.Name="{x:Static p:Resources.SelectedLang}"
|
||||||
SelectionChanged="LanguagesComboBox_SelectionChanged">
|
SelectionChanged="LanguagesComboBox_SelectionChanged">
|
||||||
@@ -156,6 +155,7 @@
|
|||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
x:Name="CancelButton"
|
x:Name="CancelButton"
|
||||||
|
AutomationProperties.Name="{x:Static p:Resources.Cancel}"
|
||||||
Click="CancelMenuItem_Click"
|
Click="CancelMenuItem_Click"
|
||||||
ToolTip="{x:Static p:Resources.CancelShortcut}">
|
ToolTip="{x:Static p:Resources.CancelShortcut}">
|
||||||
<ui:SymbolIcon FontSize="18" Symbol="Dismiss24" />
|
<ui:SymbolIcon FontSize="18" Symbol="Dismiss24" />
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
@@ -76,7 +77,7 @@ public partial class OCROverlay : Window
|
|||||||
if (string.IsNullOrEmpty(selectedLanguageName))
|
if (string.IsNullOrEmpty(selectedLanguageName))
|
||||||
{
|
{
|
||||||
selectedLanguage = ImageMethods.GetOCRLanguage();
|
selectedLanguage = ImageMethods.GetOCRLanguage();
|
||||||
selectedLanguageName = selectedLanguage?.DisplayName;
|
selectedLanguageName = selectedLanguage?.NativeName;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Language> possibleOcrLanguages = OcrEngine.AvailableRecognizerLanguages.ToList();
|
List<Language> possibleOcrLanguages = OcrEngine.AvailableRecognizerLanguages.ToList();
|
||||||
@@ -85,10 +86,10 @@ public partial class OCROverlay : Window
|
|||||||
|
|
||||||
foreach (Language language in possibleOcrLanguages)
|
foreach (Language language in possibleOcrLanguages)
|
||||||
{
|
{
|
||||||
MenuItem menuItem = new() { Header = language.NativeName, Tag = language, IsCheckable = true };
|
MenuItem menuItem = new() { Header = EnsureStartUpper(language.NativeName), Tag = language, IsCheckable = true };
|
||||||
menuItem.IsChecked = language.DisplayName.Equals(selectedLanguageName, StringComparison.Ordinal);
|
menuItem.IsChecked = language.NativeName.Equals(selectedLanguageName, StringComparison.OrdinalIgnoreCase);
|
||||||
LanguagesComboBox.Items.Add(language);
|
LanguagesComboBox.Items.Add(new ComboBoxItem { Content = EnsureStartUpper(language.NativeName), Tag = language });
|
||||||
if (language.DisplayName.Equals(selectedLanguageName, StringComparison.Ordinal))
|
if (language.NativeName.Equals(selectedLanguageName, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
selectedLanguage = language;
|
selectedLanguage = language;
|
||||||
LanguagesComboBox.SelectedIndex = count;
|
LanguagesComboBox.SelectedIndex = count;
|
||||||
@@ -358,7 +359,12 @@ public partial class OCROverlay : Window
|
|||||||
|
|
||||||
// TODO: Set the preferred language based upon what was chosen here
|
// TODO: Set the preferred language based upon what was chosen here
|
||||||
int selection = languageComboBox.SelectedIndex;
|
int selection = languageComboBox.SelectedIndex;
|
||||||
selectedLanguage = languageComboBox.SelectedItem as Language;
|
selectedLanguage = (languageComboBox.SelectedItem as ComboBoxItem)?.Tag as Language;
|
||||||
|
|
||||||
|
if (selectedLanguage == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Logger.LogError($"Changed language to {selectedLanguage?.LanguageTag}");
|
Logger.LogError($"Changed language to {selectedLanguage?.LanguageTag}");
|
||||||
|
|
||||||
@@ -499,4 +505,16 @@ public partial class OCROverlay : Window
|
|||||||
{
|
{
|
||||||
return screenRectangle;
|
return screenRectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string EnsureStartUpper(string input)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(input))
|
||||||
|
{
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
|
var inputArray = input.ToCharArray();
|
||||||
|
inputArray[0] = char.ToUpper(inputArray[0], CultureInfo.CurrentCulture);
|
||||||
|
return new string(inputArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
_languageIndex = value;
|
_languageIndex = value;
|
||||||
if (_powerOcrSettings != null && _languageIndex < possibleOcrLanguages.Count && _languageIndex >= 0)
|
if (_powerOcrSettings != null && _languageIndex < possibleOcrLanguages.Count && _languageIndex >= 0)
|
||||||
{
|
{
|
||||||
_powerOcrSettings.Properties.PreferredLanguage = possibleOcrLanguages[_languageIndex].DisplayName;
|
_powerOcrSettings.Properties.PreferredLanguage = possibleOcrLanguages[_languageIndex].NativeName;
|
||||||
NotifySettingsChanged();
|
NotifySettingsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
systemLanguageIndex = AvailableLanguages.Count;
|
systemLanguageIndex = AvailableLanguages.Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
AvailableLanguages.Add(language.NativeName);
|
AvailableLanguages.Add(EnsureStartUpper(language.NativeName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the previously stored preferred language is not available (has been deleted or this is the first run with language preference)
|
// if the previously stored preferred language is not available (has been deleted or this is the first run with language preference)
|
||||||
@@ -264,5 +264,17 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
Dispose(disposing: true);
|
Dispose(disposing: true);
|
||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string EnsureStartUpper(string input)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(input))
|
||||||
|
{
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
|
var inputArray = input.ToCharArray();
|
||||||
|
inputArray[0] = char.ToUpper(inputArray[0], CultureInfo.CurrentCulture);
|
||||||
|
return new string(inputArray);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user