mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-09 17:41:14 +10:00
* 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
28 lines
1021 B
PowerShell
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 $_
|
|
}
|
|
}
|
|
}
|