diff --git a/SafeExamBrowser.I18n.Contracts/TextKey.cs b/SafeExamBrowser.I18n.Contracts/TextKey.cs index d9487b8f..88b97412 100644 --- a/SafeExamBrowser.I18n.Contracts/TextKey.cs +++ b/SafeExamBrowser.I18n.Contracts/TextKey.cs @@ -37,7 +37,10 @@ namespace SafeExamBrowser.I18n.Contracts BrowserWindow_MenuButton, BrowserWindow_ReloadButton, BrowserWindow_UrlTextBox, + BrowserWindow_ZoomLevelReset, BrowserWindow_ZoomMenuItem, + BrowserWindow_ZoomMenuMinus, + BrowserWindow_ZoomMenuPlus, Build, ExamSelectionDialog_Cancel, ExamSelectionDialog_Message, diff --git a/SafeExamBrowser.I18n/Data/de.xml b/SafeExamBrowser.I18n/Data/de.xml index 31b9d6e6..048c31d9 100644 --- a/SafeExamBrowser.I18n/Data/de.xml +++ b/SafeExamBrowser.I18n/Data/de.xml @@ -69,9 +69,18 @@ URL eingeben + + Seiten-Zoom bei %%ZOOM%% %. Klicken zum Zurücksetzen. + Seiten-Zoom + + Zoom vergrössern + + + Zoom verkleinern + Build diff --git a/SafeExamBrowser.I18n/Data/en.xml b/SafeExamBrowser.I18n/Data/en.xml index 12fc3ff5..99604379 100644 --- a/SafeExamBrowser.I18n/Data/en.xml +++ b/SafeExamBrowser.I18n/Data/en.xml @@ -69,9 +69,18 @@ Enter URL + + Page Zoom at %%ZOOM%% %. Click to Reset. + Page Zoom + + Increase Page Zoom + + + Decrease Page Zoom + Build diff --git a/SafeExamBrowser.I18n/Data/fr.xml b/SafeExamBrowser.I18n/Data/fr.xml index 3d46b4d1..ea2fcb68 100644 --- a/SafeExamBrowser.I18n/Data/fr.xml +++ b/SafeExamBrowser.I18n/Data/fr.xml @@ -69,9 +69,18 @@ Entrer l'URL + + Zoom de la page à %%ZOOM%% %. Cliquer pour réinitialiser. + Zoom de la page + + Augmenter zoom + + + Diminuer zoom + Build diff --git a/SafeExamBrowser.I18n/Data/it.xml b/SafeExamBrowser.I18n/Data/it.xml index 02ef95b2..3a080e4a 100644 --- a/SafeExamBrowser.I18n/Data/it.xml +++ b/SafeExamBrowser.I18n/Data/it.xml @@ -69,9 +69,18 @@ Inserisci URL + + Zoom della pagina al %%ZOOM%% %. Fare clic per ripristinare. + Zoom della pagina + + Aumentare zoom + + + Diminuire zoom + Build diff --git a/SafeExamBrowser.I18n/Data/zh.xml b/SafeExamBrowser.I18n/Data/zh.xml index 5c4521b2..cc0e9580 100644 --- a/SafeExamBrowser.I18n/Data/zh.xml +++ b/SafeExamBrowser.I18n/Data/zh.xml @@ -66,9 +66,18 @@ 输入网址 + + 页面缩放为 %%ZOOM%% %。点击重置。 + 页面缩放 + + 增加页面缩放 + + + 减少页面缩放 + 生成 diff --git a/SafeExamBrowser.UserInterface.Desktop/Controls/ActionCenter/PowerSupplyControl.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Controls/ActionCenter/PowerSupplyControl.xaml.cs index 16241d6c..e56a1e04 100644 --- a/SafeExamBrowser.UserInterface.Desktop/Controls/ActionCenter/PowerSupplyControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Desktop/Controls/ActionCenter/PowerSupplyControl.xaml.cs @@ -87,6 +87,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.ActionCenter PowerPlug.Visibility = status.IsOnline ? Visibility.Visible : Visibility.Collapsed; Text.Text = tooltip; Warning.Visibility = status.BatteryChargeStatus == BatteryChargeStatus.Critical ? Visibility.Visible : Visibility.Collapsed; + Button.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, tooltip); } private void RenderCharge(double charge, BatteryChargeStatus status) diff --git a/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/PowerSupplyControl.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/PowerSupplyControl.xaml.cs index 227a287d..707a1db9 100644 --- a/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/PowerSupplyControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/PowerSupplyControl.xaml.cs @@ -8,7 +8,6 @@ using System; using System.Windows; -using System.Windows.Automation; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Media; @@ -102,7 +101,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar Button.ToolTip = tooltip; PowerPlug.Visibility = status.IsOnline ? Visibility.Visible : Visibility.Collapsed; Warning.Visibility = status.BatteryChargeStatus == BatteryChargeStatus.Critical ? Visibility.Visible : Visibility.Collapsed; - AutomationProperties.SetHelpText(this, Button.ToolTip as string); + Button.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, tooltip); } private void RenderCharge(double charge, BatteryChargeStatus status) diff --git a/SafeExamBrowser.UserInterface.Desktop/Windows/BrowserWindow.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Windows/BrowserWindow.xaml.cs index 45d07e82..ddf32010 100644 --- a/SafeExamBrowser.UserInterface.Desktop/Windows/BrowserWindow.xaml.cs +++ b/SafeExamBrowser.UserInterface.Desktop/Windows/BrowserWindow.xaml.cs @@ -11,6 +11,7 @@ using System.ComponentModel; using System.Reflection; using System.Threading.Tasks; using System.Windows; +using System.Windows.Automation; using System.Windows.Controls.Primitives; using System.Windows.Input; using System.Windows.Interop; @@ -196,7 +197,12 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows public void UpdateZoomLevel(double value) { - Dispatcher.Invoke(() => ZoomLevel.Text = $"{value}%"); + Dispatcher.Invoke(() => + { + ZoomLevel.Text = $"{value}%"; + var zoomButtonHelpText = this.text.Get(TextKey.BrowserWindow_ZoomLevelReset).Replace("%%ZOOM%%", value.ToString("0")); + ZoomResetButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, zoomButtonHelpText); + }); } private void BrowserWindow_Closing(object sender, CancelEventArgs e) @@ -297,6 +303,12 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows } } } + + if (e.Key == Key.Escape && MenuPopup.IsOpen) + { + MenuPopup.IsOpen = false; + MenuButton.Focus(); + } } /// @@ -586,9 +598,13 @@ if (typeof __SEB_focusElement === 'undefined') { private void LoadText() { DeveloperConsoleText.Text = text.Get(TextKey.BrowserWindow_DeveloperConsoleMenuItem); + DeveloperConsoleButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_DeveloperConsoleMenuItem)); FindCaseSensitiveCheckBox.Content = text.Get(TextKey.BrowserWindow_FindCaseSensitive); FindMenuText.Text = text.Get(TextKey.BrowserWindow_FindMenuItem); + FindMenuButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_FindMenuItem)); ZoomText.Text = text.Get(TextKey.BrowserWindow_ZoomMenuItem); + ZoomInButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_ZoomMenuPlus)); + ZoomOutButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_ZoomMenuMinus)); ReloadButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_ReloadButton)); BackwardButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_BackwardButton)); ForwardButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_ForwardButton)); diff --git a/SafeExamBrowser.UserInterface.Mobile/Controls/ActionCenter/PowerSupplyControl.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Controls/ActionCenter/PowerSupplyControl.xaml.cs index c2a5ecfa..d0086f1e 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Controls/ActionCenter/PowerSupplyControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Mobile/Controls/ActionCenter/PowerSupplyControl.xaml.cs @@ -87,6 +87,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.ActionCenter PowerPlug.Visibility = status.IsOnline ? Visibility.Visible : Visibility.Collapsed; Text.Text = tooltip; Warning.Visibility = status.BatteryChargeStatus == BatteryChargeStatus.Critical ? Visibility.Visible : Visibility.Collapsed; + Button.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, tooltip); } private void RenderCharge(double charge, BatteryChargeStatus status) diff --git a/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/PowerSupplyControl.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/PowerSupplyControl.xaml.cs index 7e5268dc..cf884fe1 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/PowerSupplyControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/PowerSupplyControl.xaml.cs @@ -8,7 +8,6 @@ using System; using System.Windows; -using System.Windows.Automation; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Media; @@ -102,7 +101,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar Button.ToolTip = tooltip; PowerPlug.Visibility = status.IsOnline ? Visibility.Visible : Visibility.Collapsed; Warning.Visibility = status.BatteryChargeStatus == BatteryChargeStatus.Critical ? Visibility.Visible : Visibility.Collapsed; - AutomationProperties.SetHelpText(this, Button.ToolTip as string); + Button.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, tooltip); } private void RenderCharge(double charge, BatteryChargeStatus status) diff --git a/SafeExamBrowser.UserInterface.Mobile/Windows/BrowserWindow.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Windows/BrowserWindow.xaml.cs index 92f6b7b1..1ea77fed 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Windows/BrowserWindow.xaml.cs +++ b/SafeExamBrowser.UserInterface.Mobile/Windows/BrowserWindow.xaml.cs @@ -185,7 +185,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows } public void UpdateProgress(double value) - { + { Dispatcher.Invoke(() => ProgressBar.Value = value * 100); } @@ -196,7 +196,12 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows public void UpdateZoomLevel(double value) { - Dispatcher.Invoke(() => ZoomLevel.Text = $"{value}%"); + Dispatcher.Invoke(() => + { + ZoomLevel.Text = $"{value}%"; + var zoomButtonHelpText = this.text.Get(TextKey.BrowserWindow_ZoomLevelReset).Replace("%%ZOOM%%", value.ToString("0")); + ZoomResetButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, zoomButtonHelpText); + }); } private void BrowserWindow_Closing(object sender, CancelEventArgs e) @@ -292,6 +297,12 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows } } } + + if (e.Key == Key.Escape && MenuPopup.IsOpen) + { + MenuPopup.IsOpen = false; + MenuButton.Focus(); + } } /// @@ -591,9 +602,13 @@ if (typeof __SEB_focusElement === 'undefined') { private void LoadText() { DeveloperConsoleText.Text = text.Get(TextKey.BrowserWindow_DeveloperConsoleMenuItem); + DeveloperConsoleButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_DeveloperConsoleMenuItem)); FindCaseSensitiveCheckBox.Content = text.Get(TextKey.BrowserWindow_FindCaseSensitive); FindMenuText.Text = text.Get(TextKey.BrowserWindow_FindMenuItem); + FindMenuButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_FindMenuItem)); ZoomText.Text = text.Get(TextKey.BrowserWindow_ZoomMenuItem); + ZoomInButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_ZoomMenuPlus)); + ZoomOutButton.SetValue(System.Windows.Automation.AutomationProperties.HelpTextProperty, text.Get(TextKey.BrowserWindow_ZoomMenuMinus)); ReloadButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_ReloadButton)); BackwardButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_BackwardButton)); ForwardButton.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text.Get(TextKey.BrowserWindow_ForwardButton));