Add RTL support for WinForms dialogs

This commit is contained in:
pizzaboxer 2024-06-29 23:20:28 +04:00
parent b3a8691b29
commit 2ddc5efbef
No known key found for this signature in database
GPG Key ID: 59D4A1DBAD0F2BA8
3 changed files with 16 additions and 0 deletions

View File

@ -8,6 +8,8 @@ namespace Bloxstrap
{
public static CultureInfo CurrentCulture = CultureInfo.InvariantCulture;
public static bool RightToLeft { get; private set; } = false;
public static readonly Dictionary<string, string> SupportedLocales = new()
{
{ "nil", Strings.Enums_Theme_Default }, // /shrug
@ -83,6 +85,8 @@ namespace Bloxstrap
if (identifier == "ar" || identifier == "he")
{
RightToLeft = true;
handler = new((sender, _) =>
{
var window = (Window)sender;

View File

@ -94,6 +94,17 @@ namespace Bloxstrap.UI.Elements.Bootstrapper.Base
{
Text = App.Settings.Prop.BootstrapperTitle;
Icon = App.Settings.Prop.BootstrapperIcon.GetIcon();
if (Locale.RightToLeft)
{
this.RightToLeft = RightToLeft.Yes;
this.RightToLeftLayout = true;
}
else
{
this.RightToLeft = RightToLeft.No;
this.RightToLeftLayout = false;
}
}
#region WinForms event handlers

View File

@ -75,6 +75,7 @@ namespace Bloxstrap.UI.Elements.Bootstrapper
{
Icon = new TaskDialogIcon(App.Settings.Prop.BootstrapperIcon.GetIcon()),
Caption = App.Settings.Prop.BootstrapperTitle,
RightToLeftLayout = Locale.RightToLeft,
Buttons = { TaskDialogButton.Cancel },
ProgressBar = new TaskDialogProgressBar()