diff --git a/CHANGELIST.md b/CHANGELIST.md index 3de6a5ea..6466c97e 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -108,6 +108,7 @@ - Fix output name null edge case - Selectively rebuild program list - Use IBM PC as default system out of the box +- Separate params checkbox from input ### 3.2.4 (2024-11-24) diff --git a/MPF.Frontend/ViewModels/MainViewModel.cs b/MPF.Frontend/ViewModels/MainViewModel.cs index ca84f4a4..d48090c6 100644 --- a/MPF.Frontend/ViewModels/MainViewModel.cs +++ b/MPF.Frontend/ViewModels/MainViewModel.cs @@ -316,6 +316,20 @@ namespace MPF.Frontend.ViewModels /// /// Indicates the status of the parameters text box /// + public bool ParametersTextBoxEnabled + { + get => _parametersTextBoxEnabled; + set + { + _parametersTextBoxEnabled = value; + TriggerPropertyChanged(nameof(ParametersTextBoxEnabled)); + } + } + private bool _parametersTextBoxEnabled; + + /// + /// Indicates the status of the parameters check box + /// public bool ParametersCheckBoxEnabled { get => _parametersCheckBoxEnabled; @@ -995,12 +1009,12 @@ namespace MPF.Frontend.ViewModels // Disable the dumping button StartStopButtonEnabled = false; - // Safely uncheck the parameters box, just in case - if (ParametersCheckBoxEnabled == true) + // Safely check the parameters box, just in case + if (ParametersCheckBoxEnabled == false) { bool cachedCanExecuteSelectionChanged = CanExecuteSelectionChanged; DisableEventHandlers(); - ParametersCheckBoxEnabled = false; + ParametersCheckBoxEnabled = true; if (cachedCanExecuteSelectionChanged) EnableEventHandlers(); } @@ -1050,12 +1064,12 @@ namespace MPF.Frontend.ViewModels // Disable the dumping button StartStopButtonEnabled = false; - // Safely uncheck the parameters box, just in case - if (ParametersCheckBoxEnabled == true) + // Safely check the parameters box, just in case + if (ParametersCheckBoxEnabled == false) { bool cachedCanExecuteSelectionChanged = CanExecuteSelectionChanged; DisableEventHandlers(); - ParametersCheckBoxEnabled = false; + ParametersCheckBoxEnabled = true; if (cachedCanExecuteSelectionChanged) EnableEventHandlers(); } @@ -1331,8 +1345,8 @@ namespace MPF.Frontend.ViewModels // If we're in a type that doesn't support drive speeds DriveSpeedComboBoxEnabled = _environment.DoesSupportDriveSpeed(); - // If input params are not enabled, generate the full parameters from the environment - if (!ParametersCheckBoxEnabled) + // If input params are enabled, generate the full parameters from the environment + if (ParametersCheckBoxEnabled) { var generated = _environment.GetFullParameters(DriveSpeed); if (generated != null) @@ -2008,12 +2022,12 @@ namespace MPF.Frontend.ViewModels _environment.RefreshDrive(); // If still in custom parameter mode, check that users meant to continue or not - if (ParametersCheckBoxEnabled == true && _displayUserMessage != null) + if (ParametersCheckBoxEnabled == false && _displayUserMessage != null) { bool? result = _displayUserMessage("Custom Changes", "It looks like you have custom parameters that have not been saved. Would you like to apply those changes before starting to dump?", 3, true); if (result == true) { - ParametersCheckBoxEnabled = false; + ParametersCheckBoxEnabled = true; ProcessCustomParameters(); } else if (result == null) @@ -2023,9 +2037,6 @@ namespace MPF.Frontend.ViewModels // If false, then we continue with the current known environment } - // Run path adjustments for DiscImageCreator -- Disabled until further notice - //Env.AdjustPathsForDiscImageCreator(); - try { // Run pre-dumping validation checks @@ -2092,7 +2103,7 @@ namespace MPF.Frontend.ViewModels /// public void ToggleParameters() { - if (ParametersCheckBoxEnabled == true) + if (ParametersCheckBoxEnabled == false) { SystemTypeComboBoxEnabled = false; MediaTypeComboBoxEnabled = false; @@ -2100,6 +2111,9 @@ namespace MPF.Frontend.ViewModels OutputPathTextBoxEnabled = false; OutputPathBrowseButtonEnabled = false; + DumpingProgramComboBoxEnabled = false; + ParametersTextBoxEnabled = false; + MediaScanButtonEnabled = false; UpdateVolumeLabelEnabled = false; CopyProtectScanButtonEnabled = false; @@ -2114,6 +2128,9 @@ namespace MPF.Frontend.ViewModels OutputPathTextBoxEnabled = true; OutputPathBrowseButtonEnabled = true; + DumpingProgramComboBoxEnabled = true; + ParametersTextBoxEnabled = true; + MediaScanButtonEnabled = true; UpdateVolumeLabelEnabled = true; CopyProtectScanButtonEnabled = true; diff --git a/MPF.UI/Windows/MainWindow.xaml b/MPF.UI/Windows/MainWindow.xaml index 6ce595f8..f5468427 100644 --- a/MPF.UI/Windows/MainWindow.xaml +++ b/MPF.UI/Windows/MainWindow.xaml @@ -182,7 +182,7 @@