diff --git a/src/FlaUInspect/App.xaml.cs b/src/FlaUInspect/App.xaml.cs index 84a685b..9a37f47 100644 --- a/src/FlaUInspect/App.xaml.cs +++ b/src/FlaUInspect/App.xaml.cs @@ -90,6 +90,7 @@ public static void ApplyAppOption(FlaUiAppSettings settings) { }); FlaUiAppOptions.AutoCloseOnProcessExit = settings.AutoCloseOnProcessExit; + FlaUiAppOptions.DefaultUiaVersion = settings.DefaultUiaVersion; ThicknessConverter converter = new (); FlaUiAppSettings cloneSetting = settings.Clone() as FlaUiAppSettings; diff --git a/src/FlaUInspect/Settings/FlaUiAppOptions.cs b/src/FlaUInspect/Settings/FlaUiAppOptions.cs index 4fd221e..bd6dcc9 100644 --- a/src/FlaUInspect/Settings/FlaUiAppOptions.cs +++ b/src/FlaUInspect/Settings/FlaUiAppOptions.cs @@ -6,6 +6,7 @@ namespace FlaUInspect.Settings; public class FlaUiAppOptions { public bool AutoCloseOnProcessExit { get; set; } = true; + public string DefaultUiaVersion { get; set; } = "UIA3"; public Func HoverOverlay { get; set; } = () => null; public Func SelectionOverlay { get; set; } = () => null; public Func PickOverlay { get; set; } = () => null; diff --git a/src/FlaUInspect/Settings/FlaUiAppSettings.cs b/src/FlaUInspect/Settings/FlaUiAppSettings.cs index c2e5410..62bfdbc 100644 --- a/src/FlaUInspect/Settings/FlaUiAppSettings.cs +++ b/src/FlaUInspect/Settings/FlaUiAppSettings.cs @@ -8,6 +8,7 @@ public class FlaUiAppSettings : ObservableObject, ICloneable { private OverlaySettings? _selectionOverlay = new (); private string _theme = "Light"; private bool _autoCloseOnProcessExit = true; + private string _defaultUiaVersion = "UIA3"; public string Theme { get => _theme; @@ -19,6 +20,11 @@ public bool AutoCloseOnProcessExit { set => SetProperty(ref _autoCloseOnProcessExit, value); } + public string DefaultUiaVersion { + get => _defaultUiaVersion; + set => SetProperty(ref _defaultUiaVersion, value); + } + public OverlaySettings? HoverOverlay { get => _hoverOverlay; set => SetProperty(ref _hoverOverlay, value); @@ -38,6 +44,7 @@ public object Clone() { return new FlaUiAppSettings { Theme = Theme, AutoCloseOnProcessExit = AutoCloseOnProcessExit, + DefaultUiaVersion = DefaultUiaVersion, HoverOverlay = HoverOverlay?.Clone() as OverlaySettings, SelectionOverlay = SelectionOverlay?.Clone() as OverlaySettings, PickOverlay = PickOverlay?.Clone() as OverlaySettings @@ -47,6 +54,7 @@ public object Clone() { public void CopyTo(FlaUiAppSettings to) { to.Theme = Theme; to.AutoCloseOnProcessExit = AutoCloseOnProcessExit; + to.DefaultUiaVersion = DefaultUiaVersion; to.PickOverlay?.CoppyTo(PickOverlay); to.SelectionOverlay?.CoppyTo(SelectionOverlay); to.HoverOverlay?.CoppyTo(HoverOverlay); diff --git a/src/FlaUInspect/ViewModels/SettingsViewModel.cs b/src/FlaUInspect/ViewModels/SettingsViewModel.cs index 8434095..b7e1cf6 100644 --- a/src/FlaUInspect/ViewModels/SettingsViewModel.cs +++ b/src/FlaUInspect/ViewModels/SettingsViewModel.cs @@ -18,6 +18,7 @@ public SettingsViewModel() { public IEnumerable Themes { get; } = new List { "Light", "Dark" }; public IEnumerable OverlayModes { get; } = new List { "Fill", "Border" }; + public IEnumerable UiaVersions { get; } = new List { "UIA2", "UIA3" }; public void Save() { _settingsService.Save(Settings.Current); diff --git a/src/FlaUInspect/ViewModels/StartupViewModel.cs b/src/FlaUInspect/ViewModels/StartupViewModel.cs index 5a9fbc8..5533a65 100644 --- a/src/FlaUInspect/ViewModels/StartupViewModel.cs +++ b/src/FlaUInspect/ViewModels/StartupViewModel.cs @@ -68,9 +68,10 @@ public StartupViewModel() { closableViewModel.Save(); DialogContent = null; - if (settingsViewModel != null) { - App.ApplyAppOption(settingsViewModel.Settings.Current); - } + if (settingsViewModel != null) { + App.ApplyAppOption(settingsViewModel.Settings.Current); + OnPropertyChanged(nameof(DefaultUiaVersion)); + } } }, _ => DialogContent is IDialogViewModel { CanClose: true }); @@ -105,6 +106,8 @@ public bool IsBusy { set => SetProperty(value); } + public string DefaultUiaVersion => App.FlaUiAppOptions.DefaultUiaVersion; + public ProcessWindowInfo? SelectedProcess { get => GetProperty(); set => SetProperty(value); diff --git a/src/FlaUInspect/Views/SettingsWindow.xaml b/src/FlaUInspect/Views/SettingsWindow.xaml index cc287ed..039342b 100644 --- a/src/FlaUInspect/Views/SettingsWindow.xaml +++ b/src/FlaUInspect/Views/SettingsWindow.xaml @@ -29,8 +29,15 @@ HorizontalAlignment="Left" Header="General" Style="{StaticResource GroupBoxStyle}"> - + + + + + diff --git a/src/FlaUInspect/Views/StartupWindow.xaml b/src/FlaUInspect/Views/StartupWindow.xaml index d8b7b41..ac1a54d 100644 --- a/src/FlaUInspect/Views/StartupWindow.xaml +++ b/src/FlaUInspect/Views/StartupWindow.xaml @@ -62,13 +62,7 @@ - - - - - - + + + + + + + + @@ -133,66 +184,6 @@ - - - - - - - - - - - - - - - -