mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-23 07:56:31 +00:00
* Fix backward compatibility for old-style JSON config imports * Refactor sidebar UI generation and add tests for Get-WinUtilVariables * Fix appnavigation config test following UI generation refactor * Restore global sync state in variables tests * fix(impex): migrate supported legacy selections Keep modern imports strict while allowing legacy backups to skip retired entries with clear logging and user feedback. Add fixtures covering partial and all-retired imports. * test: strengthen UI and global state coverage Exercise app category rendering through Initialize-WPFUI and restore global sync without leaking test state. * fix(impex): ignore legacy metadata fields Limit legacy selection migration to supported WPF key families so unrelated string metadata does not produce false retired-setting warnings. * docs: clarify legacy config imports Distinguish strict modern flat imports from partial legacy object migration, including single-setting export shape and historical groups. --------- Co-authored-by: Chris Titus <contact@christitus.com>
42 lines
1.3 KiB
PowerShell
42 lines
1.3 KiB
PowerShell
function Initialize-WinUtilTabContent {
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$TabName
|
|
)
|
|
|
|
if ($null -eq $sync.InitializedTabs) {
|
|
$sync.InitializedTabs = @{}
|
|
}
|
|
|
|
if ($sync.InitializedTabs[$TabName]) {
|
|
return
|
|
}
|
|
|
|
switch ($TabName) {
|
|
"Install" {
|
|
Initialize-WPFUI -targetGridName "appscategory"
|
|
|
|
Initialize-WPFUI -targetGridName "appspanel"
|
|
}
|
|
"Tweaks" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.tweaks -targetGridName "tweakspanel" -columncount 2
|
|
}
|
|
"Config" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.feature -targetGridName "featurespanel" -columncount 2
|
|
}
|
|
"AppX" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.appx -targetGridName "appxpanel" -columncount 2
|
|
}
|
|
"Win11ISO" {
|
|
if ($sync.Form -and $sync.Form.Dispatcher) {
|
|
$sync.Form.Dispatcher.BeginInvoke([System.Windows.Threading.DispatcherPriority]::Background, [action]{ Invoke-WinUtilISOCheckExistingWork }) | Out-Null
|
|
}
|
|
}
|
|
}
|
|
|
|
$sync.InitializedTabs[$TabName] = $true
|
|
|
|
# Sync freshly built controls to any selections already in $sync.selected* (import/preset).
|
|
Reset-WPFCheckBoxes -doToggles $true
|
|
}
|