diff --git a/functions/public/Invoke-WPFButton.ps1 b/functions/public/Invoke-WPFButton.ps1
index ac5b2f8cdb..e3015f09e0 100644
--- a/functions/public/Invoke-WPFButton.ps1
+++ b/functions/public/Invoke-WPFButton.ps1
@@ -21,13 +21,13 @@ function Invoke-WPFButton {
Switch -Wildcard ($Button) {
"WPFTab?BT" {Invoke-WPFTab $Button}
- "WPFinstall" {Invoke-WPFInstall}
- "WPFuninstall" {Invoke-WPFUnInstall}
+ "WPFInstall" {Invoke-WPFInstall}
+ "WPFUninstall" {Invoke-WPFUnInstall}
"WPFInstallUpgrade" {Invoke-WPFInstallUpgrade}
- "WPFstandard" {Invoke-WPFPresets "Standard"}
- "WPFminimal" {Invoke-WPFPresets "Minimal"}
- "WPFclear" {Invoke-WPFPresets -preset $null -imported $true}
- "WPFclearWinget" {Invoke-WPFPresets -preset $null -imported $true -CheckBox "WPFInstall"}
+ "WPFStandard" {Invoke-WPFPresets "Standard" -checkboxfilterpattern "WPFTweak*"}
+ "WPFMinimal" {Invoke-WPFPresets "Minimal" -checkboxfilterpattern "WPFTweak*"}
+ "WPFClearTweaksSelection" {Invoke-WPFPresets -imported $true -checkboxfilterpattern "WPFTweak*"}
+ "WPFClearInstallSelection" {Invoke-WPFPresets -imported $true -checkboxfilterpattern "WPFInstall*"}
"WPFtweaksbutton" {Invoke-WPFtweaksbutton}
"WPFOOSUbutton" {Invoke-WPFOOSU}
"WPFAddUltPerf" {Invoke-WPFUltimatePerformance -State "Enable"}
diff --git a/functions/public/Invoke-WPFPresets.ps1 b/functions/public/Invoke-WPFPresets.ps1
index 1595a8f103..90493899c7 100644
--- a/functions/public/Invoke-WPFPresets.ps1
+++ b/functions/public/Invoke-WPFPresets.ps1
@@ -10,29 +10,36 @@ function Invoke-WPFPresets {
.PARAMETER imported
If the preset is imported from a file, defaults to false
- .PARAMETER checkbox
- The checkbox to set the options to, defaults to 'WPFTweaks'
+ .PARAMETER checkboxfilterpattern
+ The Pattern to use when filtering through CheckBoxes, defaults to "**"
#>
- param(
- $preset,
- [bool]$imported = $false
+ param (
+ [Parameter(position=0)]
+ [string]$preset = "",
+
+ [Parameter(position=1)]
+ [bool]$imported = $false,
+
+ [Parameter(position=2)]
+ [string]$checkboxfilterpattern = "**"
)
- if($imported -eq $true) {
+ if ($imported -eq $true) {
$CheckBoxesToCheck = $preset
} else {
$CheckBoxesToCheck = $sync.configs.preset.$preset
}
- $CheckBoxes = $sync.GetEnumerator() | Where-Object { $_.Value -is [System.Windows.Controls.CheckBox] -and $_.Name -notlike "WPFToggle*" }
- Write-Debug "Getting checkboxes to set $($CheckBoxes.Count)"
+ $CheckBoxes = ($sync.GetEnumerator()).where{ $_.Value -is [System.Windows.Controls.CheckBox] -and $_.Name -notlike "WPFToggle*" -and $_.Name -like "$checkboxfilterpattern"}
+ Write-Debug "Getting checkboxes to set, number of checkboxes: $($CheckBoxes.Count)"
- $CheckBoxesToCheck | ForEach-Object {
- if ($_ -ne $null) {
- Write-Debug $_
- }
+ if ($CheckBoxesToCheck -ne "") {
+ $debugMsg = "CheckBoxes to Check are: "
+ $CheckBoxesToCheck | ForEach-Object { $debugMsg += "$_, " }
+ $debugMsg = $debugMsg -replace (',\s*$', '')
+ Write-Debug "$debugMsg"
}
foreach ($CheckBox in $CheckBoxes) {
diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml
index 827017f101..5f82c3f0a4 100644
--- a/xaml/inputXML.xaml
+++ b/xaml/inputXML.xaml
@@ -814,11 +814,11 @@
-
+
-
+
-
+