From 4d7a05ed8dd8ab8fb04ddf6722a30e9b05485933 Mon Sep 17 00:00:00 2001 From: sr55 Date: Fri, 14 Sep 2018 20:49:27 +0100 Subject: [PATCH] WinGui: When opening preferences, reset to General tab if the last tab used was the About tab. #1592 --- win/CS/HandBrakeWPF/Commands/OpenOptionsScreenCommand.cs | 8 +++++++- .../ViewModels/Interfaces/IOptionsViewModel.cs | 5 +++++ win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/win/CS/HandBrakeWPF/Commands/OpenOptionsScreenCommand.cs b/win/CS/HandBrakeWPF/Commands/OpenOptionsScreenCommand.cs index 5bfbb22d7..238e6655f 100644 --- a/win/CS/HandBrakeWPF/Commands/OpenOptionsScreenCommand.cs +++ b/win/CS/HandBrakeWPF/Commands/OpenOptionsScreenCommand.cs @@ -50,11 +50,17 @@ namespace HandBrakeWPF.Commands public void Execute(object parameter) { var shellViewModel = IoC.Get(); + var optionsViewModel = IoC.Get(); + shellViewModel.DisplayWindow(ShellWindow.OptionsWindow); + if (parameter == null && optionsViewModel.SelectedTab == OptionsTab.About) + { + optionsViewModel.GotoTab(OptionsTab.General); + } + if (parameter != null && parameter.GetType() == typeof(OptionsTab)) { - var optionsViewModel = IoC.Get(); optionsViewModel.GotoTab((OptionsTab)parameter); } } diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs index e37f1da07..827d0a0fb 100644 --- a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IOptionsViewModel.cs @@ -16,6 +16,11 @@ namespace HandBrakeWPF.ViewModels.Interfaces /// public interface IOptionsViewModel { + /// + /// The currently selected Tab in the options pane. + /// + OptionsTab SelectedTab { get; } + /// /// The goto tab. /// diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs index 47a34e4e8..a41fb01dc 100644 --- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs @@ -1368,8 +1368,8 @@ namespace HandBrakeWPF.ViewModels /// public void OpenOptionsWindow() { - IShellViewModel shellViewModel = IoC.Get(); - shellViewModel.DisplayWindow(ShellWindow.OptionsWindow); + OpenOptionsScreenCommand command = new OpenOptionsScreenCommand(); + command.Execute(null); } /// -- 2.40.0