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 @@
+ IsEnabled="{Binding ParametersTextBoxEnabled}"/>