mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-09 09:31:15 +10:00
* feat: add config-driven AppX package removal tab - Add config/appx.json with curated list of removable AppX packages - Add AppX Removal tab (WPFTab6) with Select All, Clear, and Remove buttons - Reuse existing Invoke-WPFUIElements engine for minimal code footprint - Add Invoke-WPFAppxRemoval.ps1 for background runspace package removal - Add theme colors for the new tab button in light and dark modes * yep * yep * yep * yep * Update inputXML.xaml * Update Invoke-WPFButton.ps1 * Update Invoke-WPFButton.ps1 * Update Invoke-WPFSelectedCheckboxesUpdate.ps1 * Update appx.json * Update appx.json * Update appx.json * Update tweaks.json * Update appx.json * Update appx.json * Update appx.json * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFButton.ps1 * Delete functions/public/Invoke-WPFAppxRemoval.ps1 * Revert "Update Invoke-WPFButton.ps1" This reverts commitd8705cc08e. * Revert "Delete functions/public/Invoke-WPFAppxRemoval.ps1" This reverts commit9e45d1ad99. * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFButton.ps1 * yep * Update appx.json * Update appx.json * Update tweaks.json * Update start.ps1 * Update preset.json * Update tweaks.json * yep * yep * yep * yep * yep * yep * Update Invoke-WPFAppxRemoval.ps1 * Update Update-WinUtilSelections.ps1 * Update Update-WinUtilSelections.ps1 * yep * Update Invoke-WPFAppxRemoval.ps1 * yep * yep * Update Invoke-WPFAppxRemoval.ps1 * Update appx.json * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update appx.json * Update Invoke-WPFGetInstalled.ps1 * Update Invoke-WPFAppxRemoval.ps1 * yep * yep * Update Invoke-WPFSelectedCheckboxesUpdate.ps1 * yep * yep * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * yep * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update appx.json * Update Invoke-WPFImpex.ps1 * Update Invoke-WPFImpex.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update preset.json * Update preset.json * Update Invoke-WPFSelectedCheckboxesUpdate.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update tweaks.json * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * Update Invoke-WPFAppxRemoval.ps1 * yep * yep * Update Invoke-WPFAppxRemoval.ps1 * yep * Delete functions/private/Find-AppxByNameOrDescription.ps1 * yep * Update Invoke-WPFButton.ps1 * Update main.ps1 * Update Invoke-WPFTab.ps1 * yep * yep * Update themes.json
52 lines
1.6 KiB
PowerShell
52 lines
1.6 KiB
PowerShell
function Invoke-WPFPresets {
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Sets the checkboxes in winutil to the given preset
|
|
|
|
.PARAMETER preset
|
|
The preset to set the checkboxes to
|
|
|
|
.PARAMETER imported
|
|
If the preset is imported from a file, defaults to false
|
|
|
|
.PARAMETER checkboxfilterpattern
|
|
The Pattern to use when filtering through CheckBoxes, defaults to "**"
|
|
|
|
#>
|
|
|
|
param (
|
|
[Parameter(position=0)]
|
|
[Array]$preset = $null,
|
|
|
|
[Parameter(position=1)]
|
|
[bool]$imported = $false,
|
|
|
|
[Parameter(position=2)]
|
|
[string]$checkboxfilterpattern = "**"
|
|
)
|
|
|
|
if ($imported -eq $true) {
|
|
$CheckBoxesToCheck = $preset
|
|
} else {
|
|
$CheckBoxesToCheck = $sync.configs.preset.$preset
|
|
}
|
|
|
|
# clear out the filtered pattern so applying a preset replaces the current
|
|
# state rather than merging with it
|
|
switch ($checkboxfilterpattern) {
|
|
"WPFTweak*" { $sync.selectedTweaks = [System.Collections.Generic.List[string]]::new() }
|
|
"WPFInstall*" { $sync.selectedApps = [System.Collections.Generic.List[string]]::new() }
|
|
"WPFAppx*" { $sync.selectedAppx = [System.Collections.Generic.List[string]]::new() }
|
|
"WPFeatures" { $sync.selectedFeatures = [System.Collections.Generic.List[string]]::new() }
|
|
"WPFToggle" { $sync.selectedToggles = [System.Collections.Generic.List[string]]::new() }
|
|
default {}
|
|
}
|
|
|
|
if ($preset) {
|
|
Update-WinUtilSelections -flatJson $CheckBoxesToCheck
|
|
}
|
|
|
|
Reset-WPFCheckBoxes -doToggles $false -checkboxfilterpattern $checkboxfilterpattern
|
|
}
|