Files
winutil/functions/public/Invoke-WPFSelectedCheckboxesUpdate.ps1
T
Chris TitusandGitHub 06f33e88ba Fix Show Installed Apps reliability and selection (#4850)
* Fix Windows PowerShell runspace cleanup callback

* Fix installed app package ID matching

* Synchronize installed app selection UI

* Streamline installed app detection

* Avoid installed app UI runspace deadlock
2026-07-16 13:30:12 -05:00

28 lines
1021 B
PowerShell

function Invoke-WPFSelectedCheckboxesUpdate ($type, $checkboxName) {
$listName = switch -Regex ($checkboxName) {
'^WPFInstall' { 'selectedApps' }
'^WPFTweaks' { 'selectedTweaks' }
'^WPFToggle' { 'selectedToggles' }
'^WPFFeature' { 'selectedFeatures' }
'^WPFAppx' { 'selectedAppx' }
}
$selectionChanged = $false
if ($type -eq "Add") {
if (-not $sync.$listName.Contains($checkboxName)) {
$sync.$listName.Add($checkboxName)
$selectionChanged = $true
}
} else {
$selectionChanged = $sync.$listName.Remove($checkboxName)
}
if ($listName -eq "selectedApps" -and $selectionChanged) {
$sync.WPFselectedAppsButton.Content = "Selected Apps: $($sync.selectedApps.Count)"
$sync.selectedAppsstackPanel.Children.Clear()
$sync.selectedApps | Sort-Object | ForEach-Object {
Add-SelectedAppsMenuItem -name $sync.configs.applicationsHashtable.$_.Content -key $_
}
}
}